5 Scenario supporting proton collisions
13 from Configuration.DataProcessing.Utils
import stepALCAPRODUCER,addMonitoring,dictIO,dqmIOSource,harvestingMode,dqmSeq
15 from Configuration.DataProcessing.RecoTLR
import customisePrompt,customiseExpress
20 self.
cbSc=self.__class__.__name__
24 Implement configuration building for data processing for proton
33 Proton collision data taking prompt reco
39 options.__dict__.update(defaultOptions.__dict__)
40 options.scenario = self.
cbSc
41 options.step =
'RAW2DIGI,L1Reco,RECO'+self.
recoSeq+step+
',DQM'+dqmStep+
',ENDJOB'
43 options.conditions = globalTag
45 process = cms.Process(
'RECO')
46 cb =
ConfigBuilder(options, process = process, with_output =
True)
49 process.source = cms.Source(
"PoolSource",
50 fileNames = cms.untracked.vstring()
63 Proton collision data taking express processing
68 pclWkflws = [x
for x
in skims
if "PromptCalibProd" in x]
75 options.__dict__.update(defaultOptions.__dict__)
76 options.scenario = self.
cbSc
77 options.step =
'RAW2DIGI,L1Reco,RECO'+step+
',DQM'+dqmStep+
',ENDJOB'
79 options.conditions = globalTag
80 options.filein =
'tobeoverwritten.xyz'
81 if 'inputSource' in args:
82 options.fileType = args[
'inputSource']
83 process = cms.Process(
'RECO')
84 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
97 AlcaReco processing & skims for proton collisions
102 pclWflws = [x
for x
in skims
if "PromptCalibProd" in x]
112 step +=
"ALCAOUTPUT:"+(
'+'.
join(skims))
115 options.__dict__.update(defaultOptions.__dict__)
116 options.scenario = self.
cbSc
118 options.conditions = args[
'globaltag']
if 'globaltag' in args
else 'None'
119 options.triggerResultsProcess =
'RECO'
121 process = cms.Process(
'ALCA')
125 process.source = cms.Source(
127 fileNames = cms.untracked.vstring()
135 methodToCall = getattr(process,
'ALCARECOStream'+wfl)
136 methodToCall.dataset.dataTier = cms.untracked.string(
'ALCAPROMPT')
145 Proton collisions data taking DQM Harvesting
148 options = defaultOptions
149 options.scenario = self.
cbSc
150 options.step =
"HARVESTING"+
dqmSeq(args,
':dqmHarvesting')
151 options.name =
"EDMtoMEConvert"
152 options.conditions = globalTag
154 process = cms.Process(
"HARVESTING")
157 configBuilder.prepare()
167 Proton collisions data taking AlCa Harvesting
170 if not 'skims' in args:
return None
171 options = defaultOptions
172 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
173 options.step =
"ALCAHARVEST:"+(
'+'.
join(args[
'skims']))
174 options.name =
"ALCAHARVEST"
175 options.conditions = globalTag
177 process = cms.Process(
"ALCAHARVEST")
178 process.source = cms.Source(
"PoolSource")
180 configBuilder.prepare()
185 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
186 process.source.fileNames = cms.untracked(cms.vstring())
187 process.maxEvents.input = -1
188 process.dqmSaver.workflow = datasetName
196 skimming method overload for the prompt skiming
199 options = defaultOptions
200 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
201 options.step =
"SKIM:"+(
'+'.
join(skims))
202 options.name =
"SKIM"
203 options.conditions = globalTag
204 process = cms.Process(
"SKIM")
205 process.source = cms.Source(
"PoolSource")
207 configBuilder.prepare()
212 def repack(self, **args):
213 options = defaultOptions
215 options.filein='file.dat'
216 options.filetype='DAT'
217 options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
218 process = cms.Process('REPACK')
219 cb = ConfigBuilder(options, process = process, with_output = True,with_input=True)
221 print cb.pythonCfgCode
static std::string join(char **cmd)