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
41 options.step =
'RAW2DIGI,L1Reco,RECO'+self.
recoSeq+step+
',DQM'+dqmStep+
',ENDJOB'
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'
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)
95 _visualizationProcessing_
100 options.__dict__.update(defaultOptions.__dict__)
101 options.scenario = self.
cbSc
104 if 'preFilter' in args:
105 options.step +=
'FILTER:'+args[
'preFilter']+
','
107 options.step +=
'RAW2DIGI,L1Reco,RECO,ENDJOB'
112 options.timeoutOutput =
True
114 options.filein =
'tobeoverwritten.xyz'
116 if 'inputSource' in args:
117 options.filetype = args[
'inputSource']
120 options.filetype =
'DQMDAQ'
122 print "Using %s source"%options.filetype
124 process = cms.Process(
'RECO')
125 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
144 AlcaReco processing & skims for proton collisions
149 pclWflws = [x
for x
in skims
if "PromptCalibProd" in x]
150 skims =
filter(
lambda x: x
not in pclWflws, skims)
153 step +=
'ALCA:'+(
'+'.
join(pclWflws))
158 step +=
"ALCAOUTPUT:"+(
'+'.
join(skims))
161 options.__dict__.update(defaultOptions.__dict__)
162 options.scenario = self.
cbSc
164 options.conditions = args[
'globaltag']
if 'globaltag' in args
else 'None'
165 if args.has_key(
'globalTagConnect')
and args[
'globalTagConnect'] !=
'':
166 options.conditions +=
','+args[
'globalTagConnect']
168 options.triggerResultsProcess =
'RECO'
170 process = cms.Process(
'ALCA')
174 process.source = cms.Source(
176 fileNames = cms.untracked.vstring()
184 methodToCall = getattr(process,
'ALCARECOStream'+wfl)
185 methodToCall.dataset.dataTier = cms.untracked.string(
'ALCAPROMPT')
194 Proton collisions data taking DQM Harvesting
197 options = defaultOptions
198 options.scenario = self.
cbSc
199 options.step =
"HARVESTING"+
dqmSeq(args,
':dqmHarvesting')
200 options.name =
"EDMtoMEConvert"
203 process = cms.Process(
"HARVESTING")
206 configBuilder.prepare()
216 Proton collisions data taking AlCa Harvesting
222 skims = args[
'skims']
225 if 'alcapromptdataset' in args:
226 skims.append(
'@'+args[
'alcapromptdataset'])
228 if len(skims) == 0:
return None
229 options = defaultOptions
230 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
231 options.step =
"ALCAHARVEST:"+(
'+'.
join(skims))
232 options.name =
"ALCAHARVEST"
235 process = cms.Process(
"ALCAHARVEST")
236 process.source = cms.Source(
"PoolSource")
238 configBuilder.prepare()
243 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
244 process.source.fileNames = cms.untracked(cms.vstring())
245 process.maxEvents.input = -1
246 process.dqmSaver.workflow = datasetName
254 skimming method overload for the prompt skiming
257 options = defaultOptions
258 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
259 options.step =
"SKIM:"+(
'+'.
join(skims))
260 options.name =
"SKIM"
262 process = cms.Process(
"SKIM")
263 process.source = cms.Source(
"PoolSource")
265 configBuilder.prepare()
270 def repack(self, **args):
271 options = defaultOptions
273 options.filein='file.dat'
274 options.filetype='DAT'
275 options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
276 process = cms.Process('REPACK')
277 cb = ConfigBuilder(options, process = process, with_output = True,with_input=True)
279 print cb.pythonCfgCode
def visualizationProcessing
static std::string join(char **cmd)