Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:41

0001 # The purpose of this configuration is to prepare
0002 # input for a test of the noRunLumiSort configuration
0003 # parameter that has non-contiguous sequences of
0004 # events from the same run (and the same lumi).
0005 
0006 # It is expected there are 6 warnings that
0007 # print out while this runs related to merging.
0008 # The test should pass with these warnings.
0009 
0010 import FWCore.ParameterSet.Config as cms
0011 
0012 process = cms.Process("MERGE")
0013 
0014 process.source = cms.Source("PoolSource",
0015     fileNames = cms.untracked.vstring(
0016         'file:testRunMerge1.root',
0017         'file:testRunMerge2.root',
0018         'file:testRunMerge3.root'
0019     ),
0020     inputCommands = cms.untracked.vstring(
0021         'keep *',
0022         'drop *_A_*_*',
0023         'drop *_B_*_*',
0024         'drop *_C_*_*',
0025         'drop *_D_*_*',
0026         'drop *_E_*_*',
0027         'drop *_F_*_*',
0028         'drop *_G_*_*',
0029         'drop *_H_*_*',
0030         'drop *_I_*_*',
0031         'drop *_J_*_*',
0032         'drop *_K_*_*',
0033         'drop *_L_*_*',
0034         'drop *_tryNoPut_*_*',
0035         'drop *_aliasForThingToBeDropped2_*_*',
0036         'drop *_dependsOnThingToBeDropped1_*_*',
0037         'drop *_makeThingToBeDropped_*_*',
0038         'drop edmtestThingWithMerge_makeThingToBeDropped1_*_*',
0039         'drop edmtestThing_*_*_*'
0040     )
0041 )
0042 
0043 process.thingWithMergeProducer = cms.EDProducer("ThingWithMergeProducer")
0044 
0045 process.test = cms.EDAnalyzer("TestMergeResults",
0046 
0047     #   Check to see that the value we read matches what we know
0048     #   was written. Expected values listed below come in sets of three
0049     #      value expected in Thing
0050     #      value expected in ThingWithMerge
0051     #      value expected in ThingWithIsEqual
0052     #   Each set of 3 is tested at endRun for the expected
0053     #   run values or at endLuminosityBlock for the expected
0054     #   lumi values. And then the next set of three values
0055     #   is tested at the next endRun or endLuminosityBlock.
0056     #   When the sequence of parameter values is exhausted it stops checking
0057     #   0's are just placeholders, if the value is a "0" the check is not made.
0058 
0059     expectedBeginRunProd = cms.untracked.vint32(
0060         0,   20004,  10003,   # File boundary before this causing merge
0061         0,   10002,  10003,
0062         0,   10002,  10004
0063     ),
0064     expectedEndRunProd = cms.untracked.vint32(
0065         0, 200004, 100003,   # File boundary before this causing merge
0066         0, 100002, 100003,
0067         0, 100002, 100004
0068     ),
0069     expectedBeginLumiProd = cms.untracked.vint32(
0070         0,       204,    103,   # File boundary before this causing merge
0071         0,       102,    103,
0072         0,       102,    104
0073     ),
0074     expectedEndLumiProd = cms.untracked.vint32(
0075         0,     2004,   1003,   # File boundary before this causing merge
0076         0,     1002,   1003,
0077         0,     1002,   1004
0078     ),
0079     expectedBeginRunNew = cms.untracked.vint32(
0080         0,   10002,  10003,
0081         0,   10002,  10003,
0082         0,   10002,  10003
0083     ),
0084     expectedEndRunNew = cms.untracked.vint32(
0085         0,   100002,  100003,
0086         0,   100002,  100003,
0087         0,   100002,  100003
0088     ),
0089     expectedBeginLumiNew = cms.untracked.vint32(
0090         0,   102,  103,
0091         0,   102,  103,
0092         0,   102,  103
0093     ),
0094     expectedEndLumiNew = cms.untracked.vint32(
0095         0,   1002,  1003,
0096         0,   1002,  1003,
0097         0,   1002,  1003
0098     )
0099 )
0100 
0101 process.out = cms.OutputModule("PoolOutputModule",
0102     fileName = cms.untracked.string('testRunMergeMERGE6.root')
0103 )
0104 
0105 process.path1 = cms.Path(process.thingWithMergeProducer + process.test)
0106 process.e = cms.EndPath(process.out)