Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
import FWCore.ParameterSet.Config as cms
from argparse import ArgumentParser

parser = ArgumentParser(description='Write streamer output file for provenance read test')
parser.add_argument("--consumeProd2", help="add an extra producer to the job and drop on output", action="store_true")
parser.add_argument("--diffRun", help="use a different run number", action="store_true")
parser.add_argument("--diffLumi", help="use a different LuminosityBlock number", action="store_true")
args = parser.parse_args()


process = cms.Process("OUTPUT")

from FWCore.Modules.modules import EmptySource

runNumber = 1
lumiNumber = 1
if args.diffRun:
    runNumber = 2
if args.diffLumi:
    lumiNumber=2
eventNumber = 1
if args.consumeProd2:
    eventNumber = 2

process.source = EmptySource(firstRun = runNumber, firstEvent = eventNumber, firstLuminosityBlock = lumiNumber )

from FWCore.Framework.modules import AddIntsProducer, IntProducer

process.one = IntProducer(ivalue=1)
process.two = IntProducer(ivalue=2)
process.sum = AddIntsProducer(labels=['one'])
process.t = cms.Task(process.one, process.two, process.sum)

baseOutFileName = "prov"
if args.consumeProd2 :
    process.sum.untrackedLabels = ['two']
    baseOutFileName += "_extra"


from IOPool.Output.modules import PoolOutputModule

process.out = PoolOutputModule(fileName = baseOutFileName+".root",
                               outputCommands = ["drop *", "keep *_sum_*_*"])

from FWCore.Modules.modules import AsciiOutputModule
process.prnt = AsciiOutputModule(verbosity = 2, allProvenance = True)
process.e = cms.EndPath(process.out+process.prnt, process.t)
process.maxEvents.input = 1