Ejemplo n.º 1
0
# this test.
process.rejectingFilter = cms.EDFilter("TestFilterModule",
    acceptValue = cms.untracked.int32(-1)
)
process.allCaseGenericConsumer = cms.EDAnalyzer("GenericConsumer", eventProducts = cms.untracked.vstring(
    "intProducerAlias@test1",
    "intProducerAlias@test2"
))
process.test1Consumer = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer", srcEvent = cms.untracked.VInputTag("intProducerAlias@test1"))
process.test2Consumer = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer", srcEvent = cms.untracked.VInputTag("intProducerAlias@test2"))
if enableTest2:
    process.test1Consumer.inputShouldBeMissing = cms.untracked.bool(True)
    process.test2Consumer.inputShouldExist = cms.untracked.bool(True)
else:
    process.test1Consumer.inputShouldExist = cms.untracked.bool(True)
    process.test2Consumer.inputShouldBeMissing = cms.untracked.bool(True)

process.ct = cms.ConditionalTask(process.intProducerAlias, process.intProducer1, process.intProducer2)

# This path causes the chosen case of intProducerAlias to run
process.p1 = cms.Path(process.intProducerAliasConsumer, process.ct)

# This path makes the ConditionalTask system to think that all cases
# of intProducerAlias would be run, but they are not run as part of
# this Path because their consumer is behind an EDFilter that rejects
# all events
process.p2 = cms.Path(process.rejectingFilter + process.allCaseGenericConsumer, process.ct)

# This path tests that only the chosen case of intProducerAlias was run
process.p3 = cms.Path(process.test1Consumer + process.test2Consumer)
Ejemplo n.º 2
0
    test1=cms.EDProducer("AddIntsProducer",
                         labels=cms.VInputTag("intProducerDep",
                                              "intProducerAlias")),
    test2=cms.EDAlias(intProducer3=cms.VPSet(
        cms.PSet(type=cms.string("*"),
                 fromProductInstance=cms.string(""),
                 toProductInstance=cms.string(""))),
                      intProducer4=cms.VPSet(
                          cms.PSet(type=cms.string("*"),
                                   fromProductInstance=cms.string(""),
                                   toProductInstance=cms.string("other")))))
process.intProducerDepAliasDep = cms.EDProducer("AddIntsProducer",
                                                labels=cms.VInputTag(
                                                    "intProducer3",
                                                    "intProducer4"))
if not enableTest2:
    process.intProducerDepAliasDep.labels = ["intProducerAlias"]

process.ct = cms.ConditionalTask(process.intProducer1, process.intProducer2,
                                 process.intProducer3, process.intProducer4)
process.p = cms.Path(
    process.intProducerAlias + process.intProducerDep +
    process.intProducerDepAlias + process.intProducerDepAliasDep, process.ct)

process.ct2 = cms.ConditionalTask(process.intProducerAlias,
                                  process.intProducerDep,
                                  process.intProducerDepAlias, process.ct)
process.p2 = cms.Path(process.intProducerDepAliasDep, process.ct2)

process.ep = cms.EndPath(process.out)
process.intProducerAlias2 = SwitchProducerTest(
    test1=cms.EDProducer("AddIntsProducer",
                         labels=cms.VInputTag("intProducer1")),
    test2=cms.EDAlias(intProducer4=cms.VPSet(
        cms.PSet(type=cms.string("edmtestIntProduct"),
                 fromProductInstance=cms.string(""),
                 toProductInstance=cms.string(""))),
                      intProducer3=cms.VPSet(
                          cms.PSet(type=cms.string("edmtestIntProduct"),
                                   fromProductInstance=cms.string("foo"),
                                   toProductInstance=cms.string("other")))))

# Test multiple consumers of a SwitchProducer
process.intProducerDep1 = cms.EDProducer("AddIntsProducer",
                                         labels=cms.VInputTag("intProducer"))
process.intProducerDep2 = cms.EDProducer("AddIntsProducer",
                                         labels=cms.VInputTag("intProducer"))
process.intProducerDep3 = cms.EDProducer("AddIntsProducer",
                                         labels=cms.VInputTag("intProducer"))

process.ct = cms.ConditionalTask(process.intProducer, process.intProducerOther,
                                 process.intProducerAlias,
                                 process.intProducerAlias2,
                                 process.intProducer1, process.intProducer2,
                                 process.intProducer3, process.intProducer4)
process.p = cms.Path(
    process.intProducerDep1 + process.intProducerDep2 +
    process.intProducerDep3, process.ct)

process.e = cms.EndPath(process.out)
Ejemplo n.º 4
0
    producttype = "edmtestSimplesOwned"
else:
    process.f = cms.EDProducer("IntProducer", ivalue=cms.int32(3))
    process.f3 = cms.EDFilter("IntProductFilter", label=cms.InputTag("f"))
    producttype = "edmtestIntProduct"

if args.testAlias:
    if args.aliasWithStar:
        producttype = "*"

    process.f3.label = "aliasToF"
    process.aliasToF = cms.EDAlias(
        f=cms.VPSet(cms.PSet(type=cms.string(producttype), )))

process.p = cms.Path(
    process.f1 + process.prodOnPath + process.f2 + process.f3,
    cms.ConditionalTask(process.a, process.b, process.c, process.d, process.e,
                        process.f))

process.tst = cms.EDAnalyzer(
    "IntTestAnalyzer",
    moduleLabel=cms.untracked.InputTag("f"),
    valueMustMatch=cms.untracked.int32(3),
    valueMustBeMissing=cms.untracked.bool(not args.filterSucceeds
                                          and not args.testConsumesMany))

process.endp = cms.EndPath(process.tst)

#process.add_(cms.Service("Tracer"))
#process.options.wantSummary=True