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(1)
0013 )
0014 
0015 process.source = cms.Source("EmptySource",
0016     firstLuminosityBlock = cms.untracked.uint32(1),
0017     numberEventsInLuminosityBlock = cms.untracked.uint32(100),
0018     firstEvent = cms.untracked.uint32(1),
0019     firstRun = cms.untracked.uint32(11),
0020     numberEventsInRun = cms.untracked.uint32(100)
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     noPut = cms.untracked.bool(True)
0063 )
0064 process.dependsOnThingToBeDropped1 = cms.EDProducer("ThingWithMergeProducer")
0065 
0066 process.test = cms.EDAnalyzer("TestMergeResults",
0067     testAlias = cms.untracked.bool(True))
0068 
0069 process.A = cms.EDProducer("ThingWithMergeProducer")
0070 
0071 process.B = cms.EDProducer("ThingWithMergeProducer",
0072     labelsToGet = cms.untracked.vstring('A')
0073 )
0074 
0075 process.C = cms.EDProducer("ThingWithMergeProducer",
0076     labelsToGet = cms.untracked.vstring('A')
0077 )
0078 
0079 process.D = cms.EDProducer("ThingWithMergeProducer",
0080     labelsToGet = cms.untracked.vstring('B')
0081 )
0082 
0083 process.E = cms.EDProducer("ThingWithMergeProducer",
0084     labelsToGet = cms.untracked.vstring('B', 'C')
0085 )
0086 
0087 process.F = cms.EDProducer("ThingWithMergeProducer",
0088     labelsToGet = cms.untracked.vstring('C')
0089 )
0090 
0091 process.G = cms.EDProducer("ThingWithMergeProducer",
0092     labelsToGet = cms.untracked.vstring('A')
0093 )
0094 
0095 process.H = cms.EDProducer("ThingWithMergeProducer",
0096     labelsToGet = cms.untracked.vstring('G')
0097 )
0098 
0099 process.I = cms.EDProducer("ThingWithMergeProducer",
0100     labelsToGet = cms.untracked.vstring('A')
0101 )
0102 
0103 process.J = cms.EDProducer("ThingWithMergeProducer",
0104     labelsToGet = cms.untracked.vstring('I')
0105 )
0106 
0107 process.K = cms.EDProducer("ThingWithMergeProducer",
0108     labelsToGet = cms.untracked.vstring('I')
0109 )
0110 
0111 process.L = cms.EDProducer("ThingWithMergeProducer",
0112     labelsToGet = cms.untracked.vstring('F')
0113 )
0114 
0115 process.out = cms.OutputModule("PoolOutputModule",
0116     fileName = cms.untracked.string('testRunMerge4.root'),
0117     outputCommands = cms.untracked.vstring(
0118         'keep *', 
0119         'drop *_makeThingToBeDropped2_*_*'
0120     )
0121 )
0122 
0123 process.p1 = cms.Path((process.m1 + process.m2 + process.m3) *
0124                      process.thingWithMergeProducer *
0125                      process.makeThingToBeDropped2 *
0126                      process.test *
0127                      process.tryNoPut *
0128                      process.makeThingToBeDropped *
0129                      process.makeThingToBeDropped1 *
0130                      process.dependsOnThingToBeDropped1)
0131 
0132 process.p2 = cms.Path(process.A *
0133                       process.B *
0134                       process.C *
0135                       process.D *
0136                       process.E *
0137                       process.F *
0138                       process.G *
0139                       process.H *
0140                       process.I *
0141                       process.J *
0142                       process.K *
0143                       process.L)
0144 
0145 process.e = cms.EndPath(process.out)