5 Scenario supporting heavy-ion collisions
12 from Configuration.DataProcessing.Scenario
import Scenario
13 from Configuration.DataProcessing.Utils
import stepALCAPRODUCER
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.PyReleaseValidation.ConfigBuilder
import addOutputModule
20 from Configuration.DataProcessing.RecoTLR
import customisePromptHI,customiseExpressHI
26 Implement configuration building for data processing for
27 heavy-ion collision data taking
32 def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
36 Heavy-ion collision data taking prompt reco
40 skims = [
'SiStripCalZeroBias',
46 options.__dict__.update(defaultOptions.__dict__)
47 options.scenario =
"HeavyIons"
48 options.step =
'RAW2DIGI,L1Reco,RECO'+step+
',L1HwVal,DQM,ENDJOB'
51 options.beamspot =
None
52 options.eventcontent =
None
53 options.magField =
'AutoFromDBCurrent'
54 options.conditions =
"FrontierConditions_GlobalTag,%s" % globalTag
55 options.relval =
False
57 process = cms.Process(
'RECO')
61 process.source = cms.Source(
"PoolSource",
62 fileNames = cms.untracked.vstring()
66 for tier
in writeTiers:
79 Heavy-ion collision data taking express processing
83 skims = [
'SiStripCalZeroBias',
87 options.__dict__.update(defaultOptions.__dict__)
88 options.scenario =
"HeavyIons"
89 options.step =
'RAW2DIGI,L1Reco,RECO'+step+
',L1HwVal,DQM,ENDJOB'
92 options.beamspot =
None
93 options.eventcontent =
None
94 options.magField =
'AutoFromDBCurrent'
95 options.conditions =
"FrontierConditions_GlobalTag,%s" % globalTag
96 options.relval =
False
98 process = cms.Process(
'RECO')
102 process.source = cms.Source(
"NewEventStreamFileReader",
103 fileNames = cms.untracked.vstring()
107 for tier
in writeTiers:
120 AlcaReco processing & skims for heavy-ion collisions
125 if 'globaltag' in args:
126 globalTag = args[
'globaltag']
129 if 'PromptCalibProd' in skims:
130 step =
"ALCA:PromptCalibProd"
131 skims.remove(
'PromptCalibProd')
136 step +=
"ALCAOUTPUT:"
141 options.__dict__.update(defaultOptions.__dict__)
142 options.scenario =
"HeavyIons"
143 options.step = step.rstrip(
'+')
145 options.isData =
True
146 options.beamspot =
None
147 options.eventcontent =
None
148 options.relval =
None
149 if globalTag !=
None :
150 options.conditions =
"FrontierConditions_GlobalTag,%s" % globalTag
151 options.triggerResultsProcess =
'RECO'
153 process = cms.Process(
'ALCA')
157 process.source = cms.Source(
159 fileNames = cms.untracked.vstring()
166 if 'PromptCalibProd' in step:
167 process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string(
'ALCAPROMPT')
176 Heavy-ion collisions data taking DQM Harvesting
179 options = defaultOptions
180 options.scenario =
"HeavyIons"
181 options.step =
"HARVESTING:dqmHarvesting"
183 options.isData =
True
184 options.beamspot =
None
185 options.eventcontent =
None
186 options.name =
"EDMtoMEConvert"
187 options.conditions =
"FrontierConditions_GlobalTag,%s" % globalTag
188 options.arguments =
""
189 options.evt_type =
""
192 process = cms.Process(
"HARVESTING")
193 process.source = cms.Source(
"PoolSource")
195 configBuilder.prepare()
200 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
201 process.source.fileNames = cms.untracked(cms.vstring())
202 process.maxEvents.input = -1
203 process.dqmSaver.workflow = datasetName
204 process.dqmSaver.saveByLumiSection = 1
205 if args.has_key(
'referenceFile')
and args.get(
'referenceFile',
''):
206 process.DQMStore.referenceFileName = \
207 cms.untracked.string(args[
'referenceFile'])
216 Heavy-ion collisions data taking AlCa Harvesting
219 options = defaultOptions
220 options.scenario =
"HeavyIons"
221 options.step =
"ALCAHARVEST:BeamSpotByRun+BeamSpotByLumi+SiStripQuality"
223 options.isData =
True
224 options.beamspot =
None
225 options.eventcontent =
None
226 options.name =
"ALCAHARVEST"
227 options.conditions = globalTag
228 options.arguments =
""
229 options.evt_type =
""
232 process = cms.Process(
"ALCAHARVEST")
233 process.source = cms.Source(
"PoolSource")
235 configBuilder.prepare()
240 process.source.processingMode = cms.untracked.string(
'RunsAndLumis')
241 process.source.fileNames = cms.untracked(cms.vstring())
242 process.maxEvents.input = -1
243 process.dqmSaver.workflow = datasetName