5 Module that generates standard merge job configurations for use in any 11 from FWCore.ParameterSet.Config
import Process, EndPath
12 from FWCore.ParameterSet.Modules
import OutputModule, Source, Service
13 import FWCore.ParameterSet.Types
as CfgTypes
20 Creates and returns a merge process that will merge the provided 25 - process_name : name of the process, defaults to Merge 26 - outputmod_label : label of the output module, defaults to Merged 27 - newDQMIO : specifies if the new DQM format should be used to merge the files 28 - output_file : sets the output file name 29 - output_lfn : sets the output LFN 30 - mergeNANO : to merge NanoAOD 31 - bypassVersionCheck : to bypass version check in case merging happened in lower version of CMSSW (i.e. UL HLT case). This will be FALSE by default. 37 processName = options.get(
"process_name",
"Merge")
38 outputModLabel = options.get(
"outputmod_label",
"Merged")
39 outputFilename = options.get(
"output_file",
"Merged.root")
40 outputLFN = options.get(
"output_lfn",
None)
41 dropDQM = options.get(
"drop_dqm",
False)
42 newDQMIO = options.get(
"newDQMIO",
False)
43 mergeNANO = options.get(
"mergeNANO",
False)
44 bypassVersionCheck = options.get(
"bypassVersionCheck",
False)
48 process = Process(processName)
54 process.source =
Source(
"DQMRootSource", reScope = CfgTypes.untracked.string(
""))
55 process.add_(Service(
"DQMStore"))
57 process.source =
Source(
"PoolSource")
58 if bypassVersionCheck:
59 process.source.bypassVersionCheck = CfgTypes.untracked.bool(
True)
61 process.source.inputCommands = CfgTypes.untracked.vstring(
'keep *',
'drop *_EDMtoMEConverter_*_*')
63 process.source.noRunLumiSort = CfgTypes.untracked.bool(
True)
64 process.source.fileNames = CfgTypes.untracked(CfgTypes.vstring())
65 for entry
in inputFiles:
66 process.source.fileNames.append(
str(entry))
72 outMod = OutputModule(
"DQMRootOutputModule")
75 outMod = OutputModule(
"NanoAODOutputModule",Configuration.EventContent.EventContent_cff.NANOAODEventContent.clone())
76 process.add_(Service(
"InitRootHandlers", EnableIMT = CfgTypes.untracked.bool(
False)))
78 outMod = OutputModule(
"PoolOutputModule")
79 outMod.mergeJob = CfgTypes.untracked.bool(
True)
80 outMod.eventAuxiliaryBasketSize = CfgTypes.untracked.int32(2*1024*1024)
82 outMod.fileName = CfgTypes.untracked.string(outputFilename)
84 outMod.logicalFileName = CfgTypes.untracked.string(outputLFN)
85 setattr(process, outputModLabel, outMod)
87 process.outputPath = EndPath(outMod)
def mergeProcess(inputFiles, options)