5 Scenario supporting proton collisions
13 from Configuration.DataProcessing.Utils
import stepALCAPRODUCER,addMonitoring,dictIO,dqmIOSource,harvestingMode,dqmSeq,gtNameAndConnect
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
46 for a
in args[
'outputs']:
47 if a[
'dataTier'] ==
'MINIAOD':
49 options.runUnscheduled=
True
52 options.step =
'RAW2DIGI,L1Reco,RECO'+self.
recoSeq+step+miniAODStep+
',DQM'+dqmStep+
',ENDJOB'
58 process = cms.Process(
'RECO')
59 cb =
ConfigBuilder(options, process = process, with_output =
True)
62 process.source = cms.Source(
"PoolSource",
63 fileNames = cms.untracked.vstring()
76 Proton collision data taking express processing
81 pclWkflws = [x
for x
in skims
if "PromptCalibProd" in x]
88 options.__dict__.update(defaultOptions.__dict__)
89 options.scenario = self.
cbSc
90 options.step =
'RAW2DIGI,L1Reco,RECO'+step+
',DQM'+dqmStep+
',ENDJOB'
93 options.filein =
'tobeoverwritten.xyz'
94 if 'inputSource' in args:
95 options.filetype = args[
'inputSource']
96 process = cms.Process(
'RECO')
97 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
108 _visualizationProcessing_
113 options.__dict__.update(defaultOptions.__dict__)
114 options.scenario = self.
cbSc
117 if 'preFilter' in args:
118 options.step +=
'FILTER:'+args[
'preFilter']+
','
120 options.step +=
'RAW2DIGI,L1Reco,RECO,ENDJOB'
125 options.timeoutOutput =
True
127 options.filein =
'tobeoverwritten.xyz'
129 if 'inputSource' in args:
130 options.filetype = args[
'inputSource']
133 options.filetype =
'DQMDAQ'
135 print "Using %s source"%options.filetype
137 process = cms.Process(
'RECO')
138 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
157 AlcaReco processing & skims for proton collisions
162 pclWflws = [x
for x
in skims
if "PromptCalibProd" in x]
163 skims =
filter(
lambda x: x
not in pclWflws, skims)
166 step +=
'ALCA:'+(
'+'.
join(pclWflws))
171 step +=
"ALCAOUTPUT:"+(
'+'.
join(skims))
174 options.__dict__.update(defaultOptions.__dict__)
175 options.scenario = self.
cbSc
177 options.conditions = args[
'globaltag']
if 'globaltag' in args
else 'None'
178 if args.has_key(
'globalTagConnect')
and args[
'globalTagConnect'] !=
'':
179 options.conditions +=
','+args[
'globalTagConnect']
181 options.triggerResultsProcess =
'RECO'
183 process = cms.Process(
'ALCA')
187 process.source = cms.Source(
189 fileNames = cms.untracked.vstring()
197 methodToCall = getattr(process,
'ALCARECOStream'+wfl)
198 methodToCall.dataset.dataTier = cms.untracked.string(
'ALCAPROMPT')
207 Proton collisions data taking DQM Harvesting
210 options = defaultOptions
211 options.scenario = self.
cbSc
212 options.step =
"HARVESTING"+
dqmSeq(args,
':dqmHarvesting')
213 options.name =
"EDMtoMEConvert"
216 process = cms.Process(
"HARVESTING")
219 configBuilder.prepare()
229 Proton collisions data taking AlCa Harvesting
235 skims = args[
'skims']
238 if 'alcapromptdataset' in args:
239 skims.append(
'@'+args[
'alcapromptdataset'])
241 if len(skims) == 0:
return None
242 options = defaultOptions
243 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
244 options.step =
"ALCAHARVEST:"+(
'+'.
join(skims))
245 options.name =
"ALCAHARVEST"
248 process = cms.Process(
"ALCAHARVEST")
249 process.source = cms.Source(
"PoolSource")
251 configBuilder.prepare()
256 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
257 process.source.fileNames = cms.untracked(cms.vstring())
258 process.maxEvents.input = -1
259 process.dqmSaver.workflow = datasetName
267 skimming method overload for the prompt skiming
270 options = defaultOptions
271 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
272 options.step =
"SKIM:"+(
'+'.
join(skims))
273 options.name =
"SKIM"
275 process = cms.Process(
"SKIM")
276 process.source = cms.Source(
"PoolSource")
278 configBuilder.prepare()
283 def repack(self, **args):
284 options = defaultOptions
286 options.filein='file.dat'
287 options.filetype='DAT'
288 options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
289 process = cms.Process('REPACK')
290 cb = ConfigBuilder(options, process = process, with_output = True,with_input=True)
292 print cb.pythonCfgCode
def visualizationProcessing
static std::string join(char **cmd)