Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-08-06 22:16:07

0001 import FWCore.ParameterSet.Config as cms
0002 import argparse
0003 
0004 parser = argparse.ArgumentParser(description='Test edmProvDump')
0005 parser.add_argument("--lumi", type=int, default=1, help="LuminosityBlock number (default 1)")
0006 parser.add_argument("--ivalue", type=int, default=11, help="Value for one tracked parameter (default 11)")
0007 parser.add_argument("--output", default="testEdmProvDump.root", help="Output file name")
0008 parser.add_argument("--accelerators", type=str, nargs='+', help="Propagated to process.options.accelerators (default is unset)")
0009 parser.add_argument("--version", type=str, help="CMSSW version to be used in the ProcessHistory (default is unset")
0010 args = parser.parse_args()
0011 
0012 class ProcessAcceleratorTest(cms.ProcessAccelerator):
0013     def __init__(self):
0014         super(ProcessAcceleratorTest,self).__init__()
0015         self._labels = ["test-one", "test-two"]
0016     def labels(self):
0017         return self._labels
0018     def enabledLabels(self):
0019         return self._labels
0020 
0021 process = cms.Process("PROD1")
0022 if args.version:
0023     process._specialOverrideReleaseVersionOnlyForTesting(args.version)
0024 if args.accelerators:
0025     process.add_(ProcessAcceleratorTest())
0026     process.options.accelerators = args.accelerators
0027 
0028 process.source = cms.Source("IntSource",
0029     firstLuminosityBlock = cms.untracked.uint32(args.lumi)
0030 )
0031 process.maxEvents.input = 3
0032 
0033 process.out = cms.OutputModule("PoolOutputModule",
0034     fileName = cms.untracked.string(args.output),
0035     outputCommands = cms.untracked.vstring(
0036         'keep *', 
0037         'drop *_intProducerA_*_*'
0038     )
0039 )
0040 
0041 process.WhatsItESProducer = cms.ESProducer("WhatsItESProducer")
0042 process.DoodadESSource = cms.ESSource("DoodadESSource")
0043 
0044 process.topLevelPSet = cms.PSet(
0045     someInformation = cms.string("foobar")
0046 )
0047 
0048 process.a1 = cms.EDAnalyzer("TestFindProduct",
0049   inputTags = cms.untracked.VInputTag( cms.InputTag("source") ),
0050   expectedSum = cms.untracked.int32(12),
0051   inputTagsNotFound = cms.untracked.VInputTag(
0052     cms.InputTag("source", processName=cms.InputTag.skipCurrentProcess()),
0053     cms.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()),
0054     cms.InputTag("intProducerU", processName=cms.InputTag.skipCurrentProcess())
0055   )
0056 )
0057 
0058 process.a2 = cms.EDAnalyzer("TestFindProduct",
0059   inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerA") ),
0060   expectedSum = cms.untracked.int32(300)
0061 )
0062 
0063 process.a3 = cms.EDAnalyzer("TestFindProduct",
0064   inputTags = cms.untracked.VInputTag( cms.InputTag("aliasForInt") ),
0065   expectedSum = cms.untracked.int32(300)
0066 )
0067 
0068 process.intProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(1))
0069 
0070 process.intProducerU = cms.EDProducer("IntProducer", ivalue = cms.int32(10))
0071 
0072 process.intProducerA = cms.EDProducer("IntProducer", ivalue = cms.int32(100))
0073 
0074 process.aliasForInt = cms.EDAlias(
0075   intProducerA  = cms.VPSet(
0076     cms.PSet(type = cms.string('edmtestIntProduct')
0077     )
0078   )
0079 )
0080 
0081 process.intVectorProducer = cms.EDProducer("IntVectorProducer",
0082   count = cms.int32(9),
0083   ivalue = cms.int32(args.ivalue)
0084 )
0085 
0086 process.t = cms.Task(process.intProducerU, process.intProducerA, process.intVectorProducer)
0087 
0088 process.p = cms.Path(process.intProducer * process.a1 * process.a2 * process.a3, process.t)
0089 
0090 process.e = cms.EndPath(process.out)