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")
80 outMod.fileName = CfgTypes.untracked.string(outputFilename)
82 outMod.logicalFileName = CfgTypes.untracked.string(outputLFN)
83 setattr(process, outputModLabel, outMod)
85 process.outputPath = EndPath(outMod)