Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("TEST1")
0004 
0005 process.source = cms.Source("EmptySource",
0006     firstEvent = cms.untracked.uint32(1)
0007 )
0008 
0009 process.maxEvents = cms.untracked.PSet(
0010     input = cms.untracked.int32(1)
0011 )
0012 
0013 process.prod1 = cms.EDProducer("AddIntsProducer",
0014     labels = cms.VInputTag()
0015 )
0016 
0017 process.prod2 = cms.EDProducer("AddIntsProducer",
0018     labels = cms.VInputTag("prod1")
0019 )
0020 
0021 process.prod3 = cms.EDProducer("AddIntsProducer",
0022     labels = cms.VInputTag("prod2")
0023 )
0024 
0025 process.K100 = cms.EDProducer("AddIntsProducer",
0026     labels = cms.VInputTag()
0027 )
0028 
0029 process.NK101 = cms.EDProducer("AddIntsProducer",
0030     labels = cms.VInputTag("K100")
0031 )
0032 
0033 process.A101 = cms.EDAlias(NK101 = cms.VPSet( cms.PSet(type=cms.string('edmtestIntProduct') ) ) )
0034 
0035 process.K102 = cms.EDProducer("AddIntsProducer",
0036     labels = cms.VInputTag("NK101")
0037 )
0038 
0039 process.K104 = cms.EDProducer("AddIntsProducer",
0040     labels = cms.VInputTag("A101")
0041 )
0042 
0043 process.K200 = cms.EDProducer("AddIntsProducer",
0044     labels = cms.VInputTag()
0045 )
0046 
0047 process.K201 = cms.EDProducer("AddIntsProducer",
0048     labels = cms.VInputTag("K200")
0049 )
0050 
0051 process.A201 = cms.EDAlias(K201 = cms.VPSet( cms.PSet(type=cms.string('edmtestIntProduct') ) ) )
0052 
0053 process.K202 = cms.EDProducer("AddIntsProducer",
0054     labels = cms.VInputTag("K201")
0055 )
0056 
0057 process.K204 = cms.EDProducer("AddIntsProducer",
0058     labels = cms.VInputTag("A201")
0059 )
0060 
0061 process.path1 = cms.Path(process.prod1 + process.prod2 + process.prod3)
0062 process.path4 = cms.Path(process.K100 + process.NK101 + process.K102 + process.K104)
0063 process.path5 = cms.Path(process.K200 + process.K201 + process.K202 + process.K204)
0064 
0065 # ---------------------------------------------------------------
0066 
0067 subProcess1 = cms.Process("TESTSUB1")
0068 process.addSubProcess(cms.SubProcess(subProcess1,
0069             outputCommands = cms.untracked.vstring(
0070                 'keep *',
0071                 'drop *_NK101_*_*',
0072                 'drop *_A201_*_*',
0073                 'drop *_prod2_*_*'
0074         )
0075     )
0076 )
0077 
0078 subProcess1.K103 = cms.EDProducer("AddIntsProducer",
0079     labels = cms.VInputTag("A101")
0080 )
0081 
0082 subProcess1.K203 = cms.EDProducer("AddIntsProducer",
0083     labels = cms.VInputTag("K201")
0084 )
0085 
0086 subProcess1.test1 = cms.EDAnalyzer("TestParentage",
0087                                inputTag = cms.InputTag("A101"),
0088                                expectedAncestors = cms.vstring("K100"),
0089                                callGetProvenance = cms.untracked.bool(False)
0090 )
0091 
0092 subProcess1.test2 = cms.EDAnalyzer("TestParentage",
0093                                inputTag = cms.InputTag("K100"),
0094                                expectedAncestors = cms.vstring()
0095 )
0096 
0097 subProcess1.test3 = cms.EDAnalyzer("TestParentage",
0098                                inputTag = cms.InputTag("K102"),
0099                                expectedAncestors = cms.vstring("K100", "NK101"),
0100                                callGetProvenance = cms.untracked.bool(False)
0101 )
0102 
0103 subProcess1.test4 = cms.EDAnalyzer("TestParentage",
0104                                inputTag = cms.InputTag("K103"),
0105                                expectedAncestors = cms.vstring("K100", "NK101"),
0106                                callGetProvenance = cms.untracked.bool(False)
0107 )
0108 
0109 subProcess1.test5 = cms.EDAnalyzer("TestParentage",
0110                                inputTag = cms.InputTag("K104"),
0111                                expectedAncestors = cms.vstring("K100", "NK101"),
0112                                callGetProvenance = cms.untracked.bool(False)
0113 )
0114 
0115 subProcess1.path1 = cms.Path(subProcess1.K103 * subProcess1.K203)
0116 subProcess1.endpath1 = cms.EndPath(subProcess1.test1 *
0117                                    subProcess1.test2 *
0118                                    subProcess1.test3 *
0119                                    subProcess1.test4 *
0120                                    subProcess1.test5
0121 )
0122 
0123 subProcess2 = cms.Process("TESTSUB2")
0124 subProcess1.addSubProcess(cms.SubProcess(subProcess2,
0125             outputCommands = cms.untracked.vstring(
0126                 'keep *'
0127         )
0128     )
0129 )
0130 
0131 subProcess2.K105 = cms.EDProducer("AddIntsProducer",
0132     labels = cms.VInputTag("K103")
0133 )
0134 
0135 subProcess2.K205 = cms.EDProducer("AddIntsProducer",
0136     labels = cms.VInputTag("K203")
0137 )
0138 
0139 
0140 
0141 subProcess2.test1 = cms.EDAnalyzer("TestParentage",
0142                                inputTag = cms.InputTag("A101"),
0143                                expectedAncestors = cms.vstring("K100"),
0144                                callGetProvenance = cms.untracked.bool(False)
0145 )
0146 
0147 subProcess2.test2 = cms.EDAnalyzer("TestParentage",
0148                                inputTag = cms.InputTag("K100"),
0149                                expectedAncestors = cms.vstring()
0150 )
0151 
0152 subProcess2.test3 = cms.EDAnalyzer("TestParentage",
0153                                inputTag = cms.InputTag("K102"),
0154                                expectedAncestors = cms.vstring("K100", "NK101"),
0155                                callGetProvenance = cms.untracked.bool(False)
0156 )
0157 
0158 subProcess2.test4 = cms.EDAnalyzer("TestParentage",
0159                                inputTag = cms.InputTag("K103"),
0160                                expectedAncestors = cms.vstring("K100", "NK101"),
0161                                callGetProvenance = cms.untracked.bool(False)
0162 )
0163 
0164 subProcess2.test5 = cms.EDAnalyzer("TestParentage",
0165                                inputTag = cms.InputTag("K104"),
0166                                expectedAncestors = cms.vstring("K100", "NK101"),
0167                                callGetProvenance = cms.untracked.bool(False)
0168 )
0169 
0170 subProcess2.out = cms.OutputModule("PoolOutputModule",
0171     fileName = cms.untracked.string('testDropOnInputSubProcess.root'),
0172     outputCommands = cms.untracked.vstring(
0173         'keep *', 
0174         'drop *_NK*_*_*'
0175     )
0176 )
0177 
0178 subProcess2.path1 = cms.Path(subProcess2.K105 * subProcess2.K205)
0179 
0180 subProcess2.endpath1 = cms.EndPath(subProcess2.out *
0181                                    subProcess2.test1 *
0182                                    subProcess2.test2 *
0183                                    subProcess2.test3 *
0184                                    subProcess2.test4 *
0185                                    subProcess2.test5
0186 )