File indexing completed on 2024-04-06 12:12:30
0001 import FWCore.ParameterSet.Config as cms
0002
0003 process = cms.Process("A")
0004
0005 process.maxEvents.input = 8
0006 process.source = cms.Source("EmptySource")
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 intEventProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(1))
0035 intNonEventProducer = cms.EDProducer("NonEventIntProducer", ivalue = cms.int32(1))
0036 intEventProducerMustRun = cms.EDProducer("edmtest::MustRunIntProducer", ivalue = cms.int32(1), mustRunEvent = cms.bool(True))
0037 intEventConsumer = cms.EDAnalyzer("IntTestAnalyzer",
0038 moduleLabel = cms.untracked.InputTag("producerEventConsumed"),
0039 valueMustMatch = cms.untracked.int32(1)
0040 )
0041 intGenericConsumer = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer",
0042 srcEvent = cms.untracked.VInputTag(),
0043 inputShouldExist = cms.untracked.bool(True)
0044 )
0045 uint64GenericConsumer = cms.EDAnalyzer("edmtest::GenericUInt64Analyzer",
0046 srcEvent = cms.untracked.VInputTag(),
0047 inputShouldExist = cms.untracked.bool(True)
0048 )
0049
0050 def nonEventConsumer(transition, sourcePattern, expected):
0051 transCap = transition[0].upper() + transition[1:]
0052 blockName = transCap
0053 if "Lumi" in blockName:
0054 blockName = blockName+"nosityBlock"
0055 ret = intNonEventProducer.clone()
0056 setattr(ret, "consumes%s"%blockName, cms.InputTag(sourcePattern%transCap, transition))
0057 setattr(ret, "expect%s"%blockName, cms.untracked.int32(expected))
0058 return ret
0059
0060 process.producerAEventConsumedInB = intEventProducer.clone(ivalue = 1)
0061 process.producerABeginLumiConsumedInB = intNonEventProducer.clone(ivalue = 2)
0062 process.producerAEndRunConsumedInB = intNonEventProducer.clone(ivalue = 5)
0063 process.producerABeginProcessBlockConsumedInB = intNonEventProducer.clone(ivalue = 6)
0064 process.producerAEndLumiConsumedInC = intNonEventProducer.clone(ivalue = 3)
0065 process.producerABeginRunConsumedInC = intNonEventProducer.clone(ivalue = 4)
0066 process.producerAEndProcessBlockConsumedInC = intNonEventProducer.clone(ivalue = 7)
0067
0068 process.producerAEventConsumedInBA = intEventProducer.clone(ivalue = 10)
0069 process.producerABeginLumiConsumedInBA = intNonEventProducer.clone(ivalue = 20)
0070 process.producerAEndLumiConsumedInBA = intNonEventProducer.clone(ivalue = 30)
0071 process.producerABeginRunConsumedInBA = intNonEventProducer.clone(ivalue = 40)
0072 process.producerAEndRunConsumedInBA = intNonEventProducer.clone(ivalue = 50)
0073 process.producerABeginProcessBlockConsumedInBA = intNonEventProducer.clone(ivalue = 60)
0074 process.producerAEndProcessBlockConsumedInBA = intNonEventProducer.clone(ivalue = 70)
0075
0076 process.producerEventNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0077 process.producerBeginLumiNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer")
0078 process.producerBeginRunNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer")
0079 process.producerBeginProcessBlockNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInProcessProducer")
0080
0081
0082
0083
0084
0085 process.producerEventMaybeConsumedInB = intEventProducerMustRun.clone(mustRunEvent=False)
0086 process.producerEventMaybeConsumedInBA = intEventProducerMustRun.clone(mustRunEvent=False)
0087 process.producerEventMaybeConsumedInC = intEventProducerMustRun.clone(mustRunEvent=False)
0088
0089 process.producerAEventNotConsumedInB = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0090 process.producerAEventNotConsumedInBA = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0091 process.producerAEventNotConsumedInC = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0092 process.producerAEventNotConsumedInD = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0093
0094 process.producerEventConsumedInB1 = intEventProducerMustRun.clone()
0095 process.producerEventConsumedInB2 = intEventProducerMustRun.clone()
0096 process.producerEventConsumedInBA1 = intEventProducerMustRun.clone()
0097 process.producerEventConsumedInBA2 = intEventProducerMustRun.clone()
0098 process.producerEventConsumedInC1 = intEventProducerMustRun.clone()
0099 process.producerEventConsumedInC2 = intEventProducerMustRun.clone()
0100
0101 process.producerANotConsumedChainEvent = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0102 process.producerANotConsumedChainLumi = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer",
0103 srcEvent = cms.untracked.VInputTag("producerANotConsumedChainEvent")
0104 )
0105 process.producerANotConsumedChainRun = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer",
0106 srcEvent = cms.untracked.VInputTag("producerANotConsumedChainEvent")
0107 )
0108
0109 process.intAnalyzerDelete = cms.EDAnalyzer("edmtest::TestModuleDeleteAnalyzer")
0110
0111 process.t = cms.Task(
0112 process.producerAEventConsumedInB,
0113 process.producerABeginLumiConsumedInB,
0114 process.producerAEndRunConsumedInB,
0115 process.producerABeginProcessBlockConsumedInB,
0116 process.producerAEndLumiConsumedInC,
0117 process.producerABeginRunConsumedInC,
0118 process.producerAEndProcessBlockConsumedInC,
0119
0120 process.producerAEventConsumedInBA,
0121 process.producerABeginLumiConsumedInBA,
0122 process.producerAEndLumiConsumedInBA,
0123 process.producerABeginRunConsumedInBA,
0124 process.producerAEndRunConsumedInBA,
0125 process.producerABeginProcessBlockConsumedInBA,
0126 process.producerAEndProcessBlockConsumedInBA,
0127
0128 process.producerEventNotConsumed,
0129 process.producerBeginLumiNotConsumed,
0130 process.producerBeginRunNotConsumed,
0131 process.producerBeginProcessBlockNotConsumed,
0132
0133 process.producerEventMaybeConsumedInB,
0134 process.producerEventMaybeConsumedInBA,
0135 process.producerEventMaybeConsumedInC,
0136
0137 process.producerAEventNotConsumedInB,
0138 process.producerAEventNotConsumedInBA,
0139 process.producerAEventNotConsumedInC,
0140
0141 process.producerEventConsumedInB1,
0142 process.producerEventConsumedInB2,
0143 process.producerEventConsumedInBA1,
0144 process.producerEventConsumedInBA2,
0145 process.producerEventConsumedInC1,
0146 process.producerEventConsumedInC2,
0147
0148 process.producerANotConsumedChainEvent,
0149 process.producerANotConsumedChainLumi,
0150 process.producerANotConsumedChainRun,
0151 )
0152
0153
0154 process.p = cms.Path(
0155 process.intAnalyzerDelete
0156 ,
0157 process.t
0158 )
0159
0160
0161 subprocessB = cms.Process("B")
0162 process.addSubProcess( cms.SubProcess(
0163 process = subprocessB,
0164 SelectEvents = cms.untracked.PSet(),
0165 outputCommands = cms.untracked.vstring()
0166 ) )
0167
0168 subprocessB.consumerEventFromA = intEventConsumer.clone(moduleLabel = "producerAEventConsumedInB", valueMustMatch = 1)
0169 subprocessB.consumerBeginLumiFromA = nonEventConsumer("beginLumi", "producerA%sConsumedInB", 2)
0170 subprocessB.consumerEndRunFromA = nonEventConsumer("endRun", "producerA%sConsumedInB", 5)
0171 subprocessB.consumerBeginProcessBlockFromA = intNonEventProducer.clone(
0172 consumesAccessInputProcessBlock = cms.InputTag("producerABeginProcessBlockConsumedInB", "beginProcessBlock"),
0173 expectAccessInputProcessBlock = cms.untracked.int32(6)
0174 )
0175
0176 subprocessB.consumerAEventNotConsumed = intGenericConsumer.clone(
0177 srcEvent = [
0178 "producerEventNotConsumed:doesNotExist",
0179 "producerEventNotConsumed:doesNotExist:A",
0180 cms.InputTag("producerEventNotConsumed", "doesNotExist", cms.InputTag.skipCurrentProcess())
0181 ],
0182 inputShouldExist = False,
0183 )
0184 subprocessB.consumerAEventNotConsumed2 = uint64GenericConsumer.clone(
0185 srcEvent = [
0186 "producerEventNotConsumed",
0187 "producerEventNotConsumed::A",
0188 cms.InputTag("producerEventNotConsumed", "", cms.InputTag.skipCurrentProcess())
0189 ],
0190 inputShouldExist = False,
0191 )
0192 subprocessB.producerEventNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0193 subprocessB.producerBeginLumiNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer")
0194 subprocessB.producerBeginRunNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer")
0195 subprocessB.producerBeginProcessBlockNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInProcessProducer")
0196
0197 subprocessB.producerEventMaybeConsumedInB = intEventProducerMustRun.clone()
0198 subprocessB.producerEventMaybeConsumedInBA = intEventProducerMustRun.clone(mustRunEvent=False)
0199 subprocessB.consumerEventMaybeInB = intGenericConsumer.clone(srcEvent = ["producerEventMaybeConsumedInB"])
0200
0201 subprocessB.producerAEventNotConsumedInB = intEventProducerMustRun.clone()
0202 subprocessB.producerAEventNotConsumedInBA = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0203 subprocessB.consumerAEventNotConsumedInB = intGenericConsumer.clone(srcEvent = ["producerAEventNotConsumedInB::B"])
0204
0205 subprocessB.producerEventConsumedInB1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0206 subprocessB.producerEventConsumedInB2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0207 subprocessB.consumerEventNotConsumedInB1 = intGenericConsumer.clone(srcEvent = ["producerEventConsumedInB1::A"])
0208 subprocessB.consumerEventNotConsumedInB2 = intGenericConsumer.clone(srcEvent = [cms.InputTag("producerEventConsumedInB2", "", cms.InputTag.skipCurrentProcess())])
0209 subprocessB.producerBEventConsumedInBA1 = intEventProducerMustRun.clone()
0210 subprocessB.producerBEventConsumedInBA2 = intEventProducerMustRun.clone()
0211
0212 subprocessB.producerBEventConsumedInC1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0213 subprocessB.producerBEventConsumedInC2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0214
0215 subprocessB.producerBEventConsumedInB1 = intEventProducerMustRun.clone()
0216 subprocessB.producerBEventConsumedInB2 = intEventProducerMustRun.clone()
0217 subprocessB.producerBEventConsumedInB3 = intEventProducerMustRun.clone()
0218 subprocessB.consumerBEventConsumedInB1 = intGenericConsumer.clone(srcEvent = ["producerBEventConsumedInB1"])
0219 subprocessB.consumerBEventConsumedInB2 = intGenericConsumer.clone(srcEvent = ["producerBEventConsumedInB2::B"])
0220 subprocessB.consumerBEventConsumedInB3 = intGenericConsumer.clone(srcEvent = [cms.InputTag("producerBEventConsumedInB3", "", cms.InputTag.currentProcess())])
0221
0222 subprocessB.producerBNotConsumedChainEvent = cms.EDProducer("edmtest::TestModuleDeleteProducer",
0223 srcBeginRun = cms.untracked.VInputTag("producerANotConsumedChainRun")
0224 )
0225 subprocessB.producerBNotConsumedChainLumi = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer",
0226 srcEvent = cms.untracked.VInputTag("producerANotConsumedChainEvent")
0227 )
0228 subprocessB.producerBNotConsumedChainRun = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer",
0229 srcBeginLumi = cms.untracked.VInputTag("producerANotConsumedChainLumi")
0230 )
0231
0232 subprocessB.t = cms.Task(
0233 subprocessB.producerEventNotConsumed,
0234 subprocessB.producerBeginLumiNotConsumed,
0235 subprocessB.producerBeginRunNotConsumed,
0236 subprocessB.producerBeginProcessBlockNotConsumed,
0237
0238 subprocessB.producerEventMaybeConsumedInB,
0239 subprocessB.producerEventMaybeConsumedInBA,
0240
0241 subprocessB.producerAEventNotConsumedInB,
0242 subprocessB.producerAEventNotConsumedInBA,
0243
0244 subprocessB.producerEventConsumedInB1,
0245 subprocessB.producerEventConsumedInB2,
0246 subprocessB.producerBEventConsumedInBA1,
0247 subprocessB.producerBEventConsumedInBA2,
0248
0249 subprocessB.producerBEventConsumedInC1,
0250 subprocessB.producerBEventConsumedInC2,
0251
0252 subprocessB.producerBEventConsumedInB1,
0253 subprocessB.producerBEventConsumedInB2,
0254 subprocessB.producerBEventConsumedInB3,
0255
0256 subprocessB.producerBNotConsumedChainEvent,
0257 subprocessB.producerBNotConsumedChainLumi,
0258 subprocessB.producerBNotConsumedChainRun,
0259 )
0260 subprocessB.p = cms.Path(
0261 subprocessB.consumerEventFromA+
0262 subprocessB.consumerBeginLumiFromA+
0263 subprocessB.consumerEndRunFromA+
0264 subprocessB.consumerBeginProcessBlockFromA+
0265
0266 subprocessB.consumerAEventNotConsumed+
0267 subprocessB.consumerAEventNotConsumed2+
0268
0269 subprocessB.consumerEventMaybeInB+
0270
0271 subprocessB.consumerAEventNotConsumedInB+
0272 subprocessB.consumerEventNotConsumedInB1+
0273 subprocessB.consumerEventNotConsumedInB2+
0274
0275 subprocessB.consumerBEventConsumedInB1+
0276 subprocessB.consumerBEventConsumedInB2+
0277 subprocessB.consumerBEventConsumedInB3
0278 ,subprocessB.t
0279 )
0280
0281
0282 subprocessBA = cms.Process("BA")
0283 subprocessB.addSubProcess( cms.SubProcess(
0284 process = subprocessBA,
0285 SelectEvents = cms.untracked.PSet(),
0286 outputCommands = cms.untracked.vstring()
0287 ) )
0288
0289 subprocessBA.consumerEventFromA = intEventConsumer.clone(moduleLabel = "producerAEventConsumedInBA", valueMustMatch = 10)
0290 subprocessBA.consumerBeginLumiFromA = nonEventConsumer("beginLumi", "producerA%sConsumedInBA", 20)
0291 subprocessBA.consumerEndLumiFromA = nonEventConsumer("endLumi", "producerA%sConsumedInBA", 30)
0292 subprocessBA.consumerBeginRunFromA = nonEventConsumer("beginRun", "producerA%sConsumedInBA", 40)
0293 subprocessBA.consumerEndRunFromA = nonEventConsumer("endRun", "producerA%sConsumedInBA", 50)
0294 subprocessBA.consumerBeginProcessBlockFromA = intNonEventProducer.clone(
0295 consumesAccessInputProcessBlock = cms.InputTag("producerABeginProcessBlockConsumedInBA", "beginProcessBlock"),
0296 expectAccessInputProcessBlock = cms.untracked.int32(60)
0297 )
0298 subprocessBA.consumerEndProcessBlockFromA = intNonEventProducer.clone(
0299 consumesAccessInputProcessBlock = cms.InputTag("producerAEndProcessBlockConsumedInBA", "endProcessBlock"),
0300 expectAccessInputProcessBlock = cms.untracked.int32(70)
0301 )
0302
0303 subprocessBA.consumerABEventNotConsumed = intGenericConsumer.clone(
0304 srcEvent = [
0305 "producerEventNotConsumed:doesNotExist",
0306 "producerEventNotConsumed:doesNotExist:A",
0307 "producerEventNotConsumed:doesNotExist:B",
0308 cms.InputTag("producerEventNotConsumed", "doesNotExist", cms.InputTag.skipCurrentProcess())
0309 ],
0310 inputShouldExist = False,
0311 )
0312 subprocessBA.consumerABEventNotConsumed2 = uint64GenericConsumer.clone(
0313 srcEvent = [
0314 "producerEventNotConsumed",
0315 "producerEventNotConsumed::A",
0316 "producerEventNotConsumed::B",
0317 cms.InputTag("producerEventNotConsumed", "", cms.InputTag.skipCurrentProcess())
0318 ],
0319 inputShouldExist = False,
0320 )
0321
0322 subprocessBA.producerEventMaybeConsumedInBA = intEventProducerMustRun.clone()
0323 subprocessBA.consumerEventMaybeInBA = intGenericConsumer.clone(srcEvent = ["producerEventMaybeConsumedInBA"])
0324
0325 subprocessBA.producerAEventNotConsumedInBA = intEventProducerMustRun.clone()
0326 subprocessBA.consumerAEventNotConsumedInBA = intGenericConsumer.clone(srcEvent = ["producerAEventNotConsumedInBA::BA"])
0327
0328 subprocessBA.producerEventConsumedInBA1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0329 subprocessBA.producerEventConsumedInBA2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0330 subprocessBA.producerBEventConsumedInBA1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0331 subprocessBA.producerBEventConsumedInBA2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0332 subprocessBA.consumerEventNotConsumedInBA1 = intGenericConsumer.clone(srcEvent = ["producerEventConsumedInBA1::A",
0333 "producerBEventConsumedInBA1::B"])
0334 subprocessBA.consumerEventNotConsumedInBA2 = intGenericConsumer.clone(srcEvent = [
0335 cms.InputTag("producerEventConsumedInBA2", "", cms.InputTag.skipCurrentProcess()),
0336 cms.InputTag("producerBEventConsumedInBA2", "", cms.InputTag.skipCurrentProcess())
0337 ])
0338
0339 subprocessBA.producerBANotConsumedChainEvent = cms.EDProducer("edmtest::TestModuleDeleteProducer",
0340 srcBeginLumi = cms.untracked.VInputTag("producerBNotConsumedChainLumi")
0341 )
0342 subprocessBA.producerBANotConsumedChainLumi = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer",
0343 srcBeginRun = cms.untracked.VInputTag("producerBNotConsumedChainRun")
0344 )
0345 subprocessBA.producerBANotConsumedChainRun = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer",
0346 srcEvent = cms.untracked.VInputTag("producerBNotConsumedChainEvent")
0347 )
0348 subprocessBA.producerBANotConsumedChainEvent2 = cms.EDProducer("edmtest::TestModuleDeleteProducer",
0349 srcBeginRun = cms.untracked.VInputTag("producerANotConsumedChainRun"),
0350 srcBeginLumi = cms.untracked.VInputTag("producerANotConsumedChainLumi"),
0351 srcEvent = cms.untracked.VInputTag("producerANotConsumedChainEvent"),
0352 )
0353
0354
0355 subprocessBA.t = cms.Task(
0356 subprocessBA.producerEventMaybeConsumedInBA,
0357
0358 subprocessBA.producerAEventNotConsumedInBA,
0359
0360 subprocessBA.producerEventConsumedInBA1,
0361 subprocessBA.producerEventConsumedInBA2,
0362 subprocessBA.producerBEventConsumedInBA1,
0363 subprocessBA.producerBEventConsumedInBA2,
0364
0365 subprocessBA.producerBANotConsumedChainEvent,
0366 subprocessBA.producerBANotConsumedChainLumi,
0367 subprocessBA.producerBANotConsumedChainRun,
0368 subprocessBA.producerBANotConsumedChainEvent2,
0369 )
0370 subprocessBA.p = cms.Path(
0371 subprocessBA.consumerEventFromA+
0372 subprocessBA.consumerBeginLumiFromA+
0373 subprocessBA.consumerEndLumiFromA+
0374 subprocessBA.consumerBeginRunFromA+
0375 subprocessBA.consumerEndRunFromA+
0376 subprocessBA.consumerBeginProcessBlockFromA+
0377 subprocessBA.consumerEndProcessBlockFromA+
0378
0379 subprocessBA.consumerABEventNotConsumed+
0380 subprocessBA.consumerABEventNotConsumed2+
0381
0382 subprocessBA.consumerEventMaybeInBA+
0383
0384 subprocessBA.consumerAEventNotConsumedInBA+
0385
0386 subprocessBA.consumerEventNotConsumedInBA1+
0387 subprocessBA.consumerEventNotConsumedInBA2
0388 , subprocessBA.t
0389 )
0390
0391
0392 subprocessC = cms.Process("C")
0393 process.addSubProcess( cms.SubProcess(
0394 process = subprocessC,
0395 SelectEvents = cms.untracked.PSet(),
0396 outputCommands = cms.untracked.vstring()
0397 ) )
0398
0399 subprocessC.consumerEndLumiFromA = nonEventConsumer("endLumi", "producerA%sConsumedInC", 3)
0400 subprocessC.consumerBeginRunFromA = nonEventConsumer("beginRun", "producerA%sConsumedInC", 4)
0401 subprocessC.consumerEndProcessBlockFromA = intNonEventProducer.clone(
0402 consumesAccessInputProcessBlock = cms.InputTag("producerAEndProcessBlockConsumedInC", "endProcessBlock"),
0403 expectAccessInputProcessBlock = cms.untracked.int32(7)
0404 )
0405
0406 subprocessC.consumerAEventNotConsumed = intGenericConsumer.clone(
0407 srcEvent = [
0408 "producerEventNotConsumed:doesNotExist",
0409 "producerEventNotConsumed:doesNotExist:A",
0410 cms.InputTag("producerEventNotConsumed", "doesNotExist", cms.InputTag.skipCurrentProcess())
0411 ],
0412 inputShouldExist = False,
0413 )
0414 subprocessC.consumerAEventNotConsumed2 = uint64GenericConsumer.clone(
0415 srcEvent = [
0416 "producerEventNotConsumed",
0417 "producerEventNotConsumed::A",
0418 cms.InputTag("producerEventNotConsumed", "", cms.InputTag.skipCurrentProcess())
0419 ],
0420 inputShouldExist = False,
0421 )
0422
0423 subprocessC.producerEventMaybeConsumedInC = intEventProducerMustRun.clone()
0424 subprocessC.consumerEventMaybeInC = intGenericConsumer.clone(srcEvent = ["producerEventMaybeConsumedInC"])
0425
0426 subprocessC.producerAEventNotConsumedInC = intEventProducerMustRun.clone()
0427 subprocessC.consumerAEventNotConsumedInC = intGenericConsumer.clone(srcEvent = ["producerAEventNotConsumedInC::C"])
0428
0429 subprocessC.producerEventConsumedInC1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0430 subprocessC.producerEventConsumedInC2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0431 subprocessC.consumerEventNotConsumedInC1 = intGenericConsumer.clone(srcEvent = ["producerEventConsumedInC1::A"])
0432 subprocessC.consumerEventNotConsumedInC2 = intGenericConsumer.clone(srcEvent = [cms.InputTag("producerEventConsumedInC2", "", cms.InputTag.skipCurrentProcess())])
0433
0434 subprocessC.consumerBEventConsumedInC1 = intGenericConsumer.clone(srcEvent = ["producerBEventConsumedInC1"], inputShouldExist=False)
0435 subprocessC.consumerBEventConsumedInC2 = intGenericConsumer.clone(srcEvent = ["producerBEventConsumedInC1::B"], inputShouldExist=False)
0436
0437 subprocessC.producerCNotConsumedChainEvent = cms.EDProducer("edmtest::TestModuleDeleteProducer",
0438 srcEvent = cms.untracked.VInputTag("producerANotConsumedChainEvent")
0439 )
0440 subprocessC.producerCNotConsumedChainLumi = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer",
0441 srcBeginLumi = cms.untracked.VInputTag("producerANotConsumedChainLumi")
0442 )
0443 subprocessC.producerCNotConsumedChainRun = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer",
0444 srcBeginRun = cms.untracked.VInputTag("producerANotConsumedChainRun")
0445 )
0446
0447 subprocessC.t = cms.Task(
0448 subprocessC.producerEventMaybeConsumedInC,
0449
0450 subprocessC.producerAEventNotConsumedInC,
0451
0452 subprocessC.producerEventConsumedInC1,
0453 subprocessC.producerEventConsumedInC2,
0454
0455 subprocessC.producerCNotConsumedChainEvent,
0456 subprocessC.producerCNotConsumedChainLumi,
0457 subprocessC.producerCNotConsumedChainRun,
0458 )
0459 subprocessC.p = cms.Path(
0460 subprocessC.consumerEndLumiFromA+
0461 subprocessC.consumerBeginRunFromA+
0462 subprocessC.consumerEndProcessBlockFromA+
0463
0464 subprocessC.consumerAEventNotConsumed+
0465 subprocessC.consumerAEventNotConsumed2+
0466
0467 subprocessC.consumerEventMaybeInC+
0468 subprocessC.consumerAEventNotConsumedInC+
0469
0470 subprocessC.consumerEventNotConsumedInC1+
0471 subprocessC.consumerEventNotConsumedInC2+
0472
0473 subprocessC.consumerBEventConsumedInC1+
0474 subprocessC.consumerBEventConsumedInC2
0475 , subprocessC.t
0476 )
0477
0478
0479 subprocessD = cms.Process("D")
0480 process.addSubProcess( cms.SubProcess(
0481 process = subprocessD,
0482 SelectEvents = cms.untracked.PSet(),
0483 outputCommands = cms.untracked.vstring(
0484 "drop *_producerAEventNotConsumedInD_*_*",
0485 )
0486 ) )
0487
0488 subprocessD.consumerAEventNotConsumedInD = intGenericConsumer.clone(
0489 srcEvent = [
0490 "producerAEvenNotConsumedInD",
0491 "producerAEvenNotConsumedInD::A",
0492 cms.InputTag("producerEventANotConsumedInD", "", cms.InputTag.skipCurrentProcess())
0493 ],
0494 inputShouldExist = False,
0495 )
0496
0497 subprocessD.producerDEventNotConsumedInDA = cms.EDProducer("edmtest::TestModuleDeleteProducer")
0498
0499 subprocessD.t = cms.Task(
0500 subprocessD.producerDEventNotConsumedInDA
0501 )
0502 subprocessD.p = cms.Path(
0503 subprocessD.consumerAEventNotConsumedInD,
0504 subprocessD.t
0505 )
0506
0507
0508 subprocessDA = cms.Process("BA")
0509 subprocessD.addSubProcess( cms.SubProcess(
0510 process = subprocessDA,
0511 SelectEvents = cms.untracked.PSet(),
0512 outputCommands = cms.untracked.vstring(
0513 "drop *_producerDEventNotConsumedInDA_*_*",
0514 )
0515 ) )
0516
0517 subprocessDA.consumerAEventNotConsumedInD = intGenericConsumer.clone(
0518 srcEvent = [
0519 "producerAEvenNotConsumedInD",
0520 "producerAEvenNotConsumedInD::A",
0521 cms.InputTag("producerEventANotConsumedInD", "", cms.InputTag.skipCurrentProcess())
0522 ],
0523 inputShouldExist = False,
0524 )
0525 subprocessDA.consumerDEventNotConsumedInDA = intGenericConsumer.clone(
0526 srcEvent = [
0527 "producerDEvenNotConsumedInDA",
0528 "producerDEvenNotConsumedInDA::D",
0529 cms.InputTag("producerEventDNotConsumedInDA", "", cms.InputTag.skipCurrentProcess())
0530 ],
0531 inputShouldExist = False,
0532 )
0533
0534 subprocessDA.producerDNotConsumedChainRun = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer",
0535 srcBeginRun = cms.untracked.VInputTag("producerANotConsumedChainRun"),
0536 srcBeginLumi = cms.untracked.VInputTag("producerANotConsumedChainLumi"),
0537 srcEvent = cms.untracked.VInputTag("producerANotConsumedChainEvent"),
0538 )
0539
0540 subprocessDA.t = cms.Task(
0541 subprocessDA.producerDNotConsumedChainRun
0542 )
0543
0544 subprocessDA.p = cms.Path(
0545 subprocessDA.consumerAEventNotConsumedInD+
0546 subprocessDA.consumerDEventNotConsumedInDA,
0547 subprocessDA.t
0548 )