Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("PROD")
0004 
0005 process.load("FWCore.MessageService.MessageLogger_cfi")
0006 process.MessageLogger.cerr.FwkReport.reportEvery = 1000
0007 
0008 import FWCore.Framework.test.cmsExceptionsFatal_cff
0009 process.options = FWCore.Framework.test.cmsExceptionsFatal_cff.options
0010 
0011 process.maxEvents = cms.untracked.PSet(
0012     input = cms.untracked.int32(99)
0013 )
0014 
0015 process.source = cms.Source("EmptySource",
0016     firstLuminosityBlock = cms.untracked.uint32(2),
0017     numberEventsInLuminosityBlock = cms.untracked.uint32(3),
0018     firstEvent = cms.untracked.uint32(1),
0019     firstRun = cms.untracked.uint32(11),
0020     numberEventsInRun = cms.untracked.uint32(9)
0021 )
0022 
0023 process.thingWithMergeProducer = cms.EDProducer("ThingWithMergeProducer",
0024     labelsToGet = cms.untracked.vstring('m1')
0025 )
0026 
0027 # These are here only for tests of parentage merging
0028 process.m1 = cms.EDProducer("ThingWithMergeProducer")
0029 process.m2 = cms.EDProducer("ThingWithMergeProducer")
0030 process.m3 = cms.EDProducer("ThingWithMergeProducer")
0031 
0032 process.tryNoPut = cms.EDProducer("ThingWithMergeProducer",
0033     noPut = cms.untracked.bool(True)
0034 )
0035 
0036 # This one tests products dropped and then restored by secondary file
0037 # input
0038 process.makeThingToBeDropped = cms.EDProducer("ThingWithMergeProducer")
0039 
0040 process.makeThingToBeDropped2 = cms.EDProducer("ThingWithMergeProducer")
0041 
0042 process.aliasForThingToBeDropped2 = cms.EDAlias(
0043     makeThingToBeDropped2  = cms.VPSet(
0044       cms.PSet(type = cms.string('edmtestThing'),
0045                fromProductInstance = cms.string('event'),
0046                toProductInstance = cms.string('instance2')),
0047       cms.PSet(type = cms.string('edmtestThing'),
0048                fromProductInstance = cms.string('endLumi'),
0049                toProductInstance = cms.string('endLumi2')),
0050       cms.PSet(type = cms.string('edmtestThing'),
0051                fromProductInstance = cms.string('endRun'),
0052                toProductInstance = cms.string('endRun2'))
0053     )
0054 )
0055 
0056 # This product will be produced in configuration PROD1 and PROD5
0057 # In PROD2 it will be produced and dropped and there will be another
0058 # product whose provenance includes it as a parent. In PROD3 it will
0059 # be produced and dropped and there will not be a product that includes
0060 # it as a parent. In PROD4 it will never be produced at all.
0061 process.makeThingToBeDropped1 = cms.EDProducer("ThingWithMergeProducer")
0062 process.dependsOnThingToBeDropped1 = cms.EDProducer("ThingWithMergeProducer")
0063 
0064 process.test = cms.EDAnalyzer("TestMergeResults",
0065     testAlias = cms.untracked.bool(True)
0066 )
0067 
0068 process.A = cms.EDProducer("ThingWithMergeProducer")
0069 
0070 process.B = cms.EDProducer("ThingWithMergeProducer",
0071     labelsToGet = cms.untracked.vstring('A')
0072 )
0073 
0074 process.C = cms.EDProducer("ThingWithMergeProducer",
0075     labelsToGet = cms.untracked.vstring('A')
0076 )
0077 
0078 process.D = cms.EDProducer("ThingWithMergeProducer",
0079     labelsToGet = cms.untracked.vstring('B')
0080 )
0081 
0082 process.E = cms.EDProducer("ThingWithMergeProducer",
0083     labelsToGet = cms.untracked.vstring('B', 'C')
0084 )
0085 
0086 process.F = cms.EDProducer("ThingWithMergeProducer",
0087     labelsToGet = cms.untracked.vstring('C')
0088 )
0089 
0090 process.G = cms.EDProducer("ThingWithMergeProducer",
0091     labelsToGet = cms.untracked.vstring('A')
0092 )
0093 
0094 process.H = cms.EDProducer("ThingWithMergeProducer",
0095     labelsToGet = cms.untracked.vstring('G')
0096 )
0097 
0098 process.I = cms.EDProducer("ThingWithMergeProducer",
0099     labelsToGet = cms.untracked.vstring('A')
0100 )
0101 
0102 process.J = cms.EDProducer("ThingWithMergeProducer",
0103     labelsToGet = cms.untracked.vstring('I')
0104 )
0105 
0106 process.K = cms.EDProducer("ThingWithMergeProducer",
0107     labelsToGet = cms.untracked.vstring('I')
0108 )
0109 
0110 process.L = cms.EDProducer("ThingWithMergeProducer",
0111     labelsToGet = cms.untracked.vstring('F')
0112 )
0113 
0114 process.out = cms.OutputModule("PoolOutputModule",
0115     fileName = cms.untracked.string('testRunMerge5.root'),
0116     outputCommands = cms.untracked.vstring(
0117         'keep *', 
0118         'drop *_makeThingToBeDropped2_*_*'
0119     )
0120 )
0121 
0122 process.p1 = cms.Path((process.m1 + process.m2 + process.m3) *
0123                      process.thingWithMergeProducer *
0124                      process.makeThingToBeDropped2 *
0125                      process.test *
0126                      process.tryNoPut *
0127                      process.makeThingToBeDropped *
0128                      process.makeThingToBeDropped1 *
0129                      process.dependsOnThingToBeDropped1)
0130 
0131 process.p2 = cms.Path(process.A *
0132                       process.B *
0133                       process.C *
0134                       process.D *
0135                       process.E *
0136                       process.F *
0137                       process.G *
0138                       process.H *
0139                       process.I *
0140                       process.J *
0141                       process.K *
0142                       process.L)
0143 
0144 process.e = cms.EndPath(process.out)