Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-02-27 07:20:10

0001 import FWCore.ParameterSet.Config as cms
0002 import argparse
0003 
0004 parser = argparse.ArgumentParser(description='Create files for reduced ProcessHistory test')
0005 parser.add_argument("--version", type=str, help="CMSSW version to be used in the ProcessHistory (default is unset")
0006 parser.add_argument("--accelerators", type=str, nargs='+', help="Propagated to process.options.accelerators (default is unset)")
0007 parser.add_argument("--firstEvent", default=1, type=int, help="Number of first event")
0008 parser.add_argument("--lumi", default=1, type=int, help="LuminosityBlock number")
0009 parser.add_argument("--output", type=str, help="Output file name")
0010 
0011 args = parser.parse_args()
0012 
0013 class ProcessAcceleratorTest(cms.ProcessAccelerator):
0014     def __init__(self):
0015         super(ProcessAcceleratorTest,self).__init__()
0016         self._labels = ["test-one", "test-two"]
0017     def labels(self):
0018         return self._labels
0019     def enabledLabels(self):
0020         return self._labels
0021 
0022 process = cms.Process("PROD")
0023 if args.version:
0024     process._specialOverrideReleaseVersionOnlyForTesting(args.version)
0025 if args.accelerators:
0026     process.add_(ProcessAcceleratorTest())
0027     process.options.accelerators = args.accelerators
0028 
0029 process.maxEvents.input = 10
0030 
0031 from FWCore.Modules.modules import EmptySource
0032 process.source = EmptySource(
0033     firstEvent = args.firstEvent,
0034     firstLuminosityBlock = args.lumi,
0035 )
0036 
0037 from IOPool.Streamer.modules import EventStreamFileWriter
0038 process.out = EventStreamFileWriter(
0039     fileName = args.output
0040 )
0041 
0042 from FWCore.Framework.modules import IntProducer
0043 process.intProducer = IntProducer(ivalue = 42)
0044 
0045 from FWCore.Integration.modules import ThingProducer
0046 process.thing = ThingProducer()
0047 
0048 process.t = cms.Task(
0049     process.intProducer,
0050     process.thing,
0051 )
0052 process.p = cms.Path(process.t)
0053 process.ep = cms.EndPath(process.out)