5 Scenario supporting proton collisions 18 Implement configuration building for data processing for proton 27 Proton collision data taking express processing 33 if 'EcalTestPulsesRaw' not in args[
'skims']:
34 skims.append(
'EcalTestPulsesRaw')
35 pclWkflws = [x
for x
in skims
if "PromptCalibProd" in x]
40 options.__dict__.update(defaultOptions.__dict__)
41 options.scenario =
"pp" 46 outputs_Raw = [x
for x
in args[
'outputs']
if x[
'dataTier'] ==
'RAW']
47 outputs_noRaw = [x
for x
in args[
'outputs']
if x[
'dataTier'] !=
'RAW']
48 if len(outputs_Raw) == 1:
49 print 'RAW data-tier requested' 50 options.outputDefinition = outputs_noRaw.__str__()
55 options.filein =
'tobeoverwritten.xyz' 56 if 'inputSource' in args:
57 options.filetype = args[
'inputSource']
58 process = cms.Process(
'RECO', self.eras)
61 options.customisation_file=args[
'customs']
63 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
69 for output
in outputs_Raw:
71 moduleLabel = output[
'moduleLabel']
72 selectEvents = output.get(
'selectEvents',
None)
73 maxSize = output.get(
'maxSize',
None)
75 outputModule = cms.OutputModule(
77 fileName = cms.untracked.string(
"%s.root" % moduleLabel)
80 outputModule.dataset = cms.untracked.PSet(dataTier = cms.untracked.string(
"RAW"))
83 outputModule.maxSize = cms.untracked.int32(maxSize)
85 if selectEvents !=
None:
86 outputModule.SelectEvents = cms.untracked.PSet(
87 SelectEvents = cms.vstring(selectEvents)
89 outputModule.outputCommands = cms.untracked.vstring(
'drop *',
92 setattr(process, moduleLabel, outputModule)
94 setattr(process, moduleLabel+
'_step', cms.EndPath(outputModule))
95 path = getattr(process, moduleLabel+
'_step')
96 process.schedule.append(path)
104 Proton collisions data taking AlCa Harvesting 109 skims = args[
'skims']
112 if 'alcapromptdataset' in args:
113 skims.append(
'@'+args[
'alcapromptdataset'])
115 if len(skims) == 0:
return None 116 options = defaultOptions
117 options.scenario = self.cbSc
if hasattr(self,
'cbSc')
else self.__class__.__name__
118 options.step =
"ALCAHARVEST:"+(
'+'.
join(skims))
119 options.name =
"ALCAHARVEST" 122 process = cms.Process(
"ALCAHARVEST", self.eras)
123 process.source = cms.Source(
"PoolSource")
125 if 'customs' in args:
126 options.customisation_file=args[
'customs']
129 configBuilder.prepare()
134 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
135 process.source.fileNames = cms.untracked(cms.vstring())
136 process.maxEvents.input = -1
137 process.dqmSaver.workflow = datasetName
def alcaHarvesting(self, globalTag, datasetName, args)
def gtNameAndConnect(globalTag, args)
def expressProcessing(self, globalTag, args)
def addMonitoring(process)
def stepALCAPRODUCER(skims)
static std::string join(char **cmd)