5 Scenario supporting proton collisions
12 from Configuration.DataProcessing.Scenario
import Scenario
13 from Configuration.DataProcessing.Utils
import stepALCAPRODUCER,addMonitoring,dictIO,dqmIOSource,harvestingMode,dqmSeq
15 from Configuration.PyReleaseValidation.ConfigBuilder
import ConfigBuilder
16 from Configuration.PyReleaseValidation.ConfigBuilder
import Options
17 from Configuration.PyReleaseValidation.ConfigBuilder
import defaultOptions
18 from Configuration.PyReleaseValidation.ConfigBuilder
import installFilteredStream
19 from Configuration.DataProcessing.RecoTLR
import customisePrompt,customiseExpress
24 self.
cbSc=self.__class__.__name__
28 Implement configuration building for data processing for proton
37 Proton collision data taking prompt reco
43 options.__dict__.update(defaultOptions.__dict__)
44 options.scenario = self.
cbSc
45 options.step =
'RAW2DIGI,L1Reco,RECO'+self.
recoSeq+step+
',DQM'+dqmStep+
',ENDJOB'
47 options.conditions = globalTag
49 process = cms.Process(
'RECO')
50 cb =
ConfigBuilder(options, process = process, with_output =
True)
53 process.source = cms.Source(
"PoolSource",
54 fileNames = cms.untracked.vstring()
67 Proton collision data taking express processing
73 options.__dict__.update(defaultOptions.__dict__)
74 options.scenario = self.
cbSc
75 options.step =
'RAW2DIGI,L1Reco,RECO'+step+
',DQM'+dqmStep+
',ENDJOB'
77 options.conditions = globalTag
78 options.filein =
'tobeoverwritten.xyz'
79 if 'inputSource' in args:
80 options.filetype = args[
'inputSource']
81 process = cms.Process(
'RECO')
82 cb =
ConfigBuilder(options, process = process, with_output =
True, with_input =
True)
95 AlcaReco processing & skims for proton collisions
100 if 'PromptCalibProd' in skims:
101 step =
"ALCA:PromptCalibProd"
102 skims.remove(
'PromptCalibProd')
107 step +=
"ALCAOUTPUT:"+(
'+'.
join(skims))
110 options.__dict__.update(defaultOptions.__dict__)
111 options.scenario = self.
cbSc
113 options.conditions = args[
'globaltag']
if 'globaltag' in args
else 'None'
114 options.triggerResultsProcess =
'RECO'
116 process = cms.Process(
'ALCA')
120 process.source = cms.Source(
122 fileNames = cms.untracked.vstring()
129 if 'PromptCalibProd' in step:
130 process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string(
'ALCAPROMPT')
139 Proton collisions data taking DQM Harvesting
142 options = defaultOptions
143 options.scenario = self.
cbSc
144 options.step =
"HARVESTING"+
dqmSeq(args,
':dqmHarvesting')
145 options.name =
"EDMtoMEConvert"
146 options.conditions = globalTag
148 process = cms.Process(
"HARVESTING")
151 configBuilder.prepare()
161 Proton collisions data taking AlCa Harvesting
164 if not 'skims' in args:
return None
165 options = defaultOptions
166 options.scenario = self.
cbSc if hasattr(self,
'cbSc')
else self.__class__.__name__
167 options.step =
"ALCAHARVEST:"+(
'+'.
join(args[
'skims']))
168 options.name =
"ALCAHARVEST"
169 options.conditions = globalTag
171 process = cms.Process(
"ALCAHARVEST")
172 process.source = cms.Source(
"PoolSource")
174 configBuilder.prepare()
179 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
180 process.source.fileNames = cms.untracked(cms.vstring())
181 process.maxEvents.input = -1
182 process.dqmSaver.workflow = datasetName
187 def repack(self, **args):
188 options = defaultOptions
190 options.filein='file.dat'
191 options.filetype='DAT'
192 options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
193 process = cms.Process('REPACK')
194 cb = ConfigBuilder(options, process = process, with_output = True,with_input=True)
196 print cb.pythonCfgCode
static std::string join(char **cmd)