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
69 options.__dict__.update(defaultOptions.__dict__)
70 options.scenario = self.
cbSc
71 options.step =
'RAW2DIGI,L1Reco,RECO'+step+
',DQM'+dqmStep+
',ENDJOB'
73 options.conditions = globalTag
74 options.filein =
'tobeoverwritten.xyz'
75 if 'inputSource' in args:
76 options.fileType = args[
'inputSource']
77 process = cms.Process(
'RECO')
78 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
91 AlcaReco processing & skims for proton collisions
96 if 'PromptCalibProd' in skims:
97 step =
"ALCA:PromptCalibProd"
98 skims.remove(
'PromptCalibProd')
103 step +=
"ALCAOUTPUT:"+(
'+'.
join(skims))
106 options.__dict__.update(defaultOptions.__dict__)
107 options.scenario = self.
cbSc
109 options.conditions = args[
'globaltag']
if 'globaltag' in args
else 'None'
110 options.triggerResultsProcess =
'RECO'
112 process = cms.Process(
'ALCA')
116 process.source = cms.Source(
118 fileNames = cms.untracked.vstring()
125 if 'PromptCalibProd' in step:
126 process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string(
'ALCAPROMPT')
135 Proton collisions data taking DQM Harvesting
138 options = defaultOptions
139 options.scenario = self.
cbSc
140 options.step =
"HARVESTING"+
dqmSeq(args,
':dqmHarvesting')
141 options.name =
"EDMtoMEConvert"
142 options.conditions = globalTag
144 process = cms.Process(
"HARVESTING")
147 configBuilder.prepare()
157 Proton collisions data taking AlCa Harvesting
160 if not 'skims' in args:
return None
161 options = defaultOptions
162 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
163 options.step =
"ALCAHARVEST:"+(
'+'.
join(args[
'skims']))
164 options.name =
"ALCAHARVEST"
165 options.conditions = globalTag
167 process = cms.Process(
"ALCAHARVEST")
168 process.source = cms.Source(
"PoolSource")
170 configBuilder.prepare()
175 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
176 process.source.fileNames = cms.untracked(cms.vstring())
177 process.maxEvents.input = -1
178 process.dqmSaver.workflow = datasetName
186 skimming method overload for the prompt skiming
189 options = defaultOptions
190 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
191 options.step =
"SKIM:"+(
'+'.
join(skims))
192 options.name =
"SKIM"
193 options.conditions = globalTag
194 process = cms.Process(
"SKIM")
195 process.source = cms.Source(
"PoolSource")
197 configBuilder.prepare()
202 def repack(self, **args):
203 options = defaultOptions
205 options.filein='file.dat'
206 options.filetype='DAT'
207 options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
208 process = cms.Process('REPACK')
209 cb = ConfigBuilder(options, process = process, with_output = True,with_input=True)
211 print cb.pythonCfgCode
static std::string join(char **cmd)