CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
Impl.HeavyIons.HeavyIons Class Reference
Inheritance diagram for Impl.HeavyIons.HeavyIons:

Public Member Functions

def alcaHarvesting
 
def alcaSkim
 
def dqmHarvesting
 
def expressProcessing
 
def promptReco
 

Detailed Description

_HeavyIons_

Implement configuration building for data processing for 
heavy-ion collision data taking

Definition at line 17 of file HeavyIons.py.

Member Function Documentation

def Impl.HeavyIons.HeavyIons.alcaHarvesting (   self,
  globalTag,
  datasetName,
  args 
)
_alcaHarvesting_

Heavy-ion collisions data taking AlCa Harvesting

Definition at line 197 of file HeavyIons.py.

198  def alcaHarvesting(self, globalTag, datasetName, **args):
199  """
200  _alcaHarvesting_
201 
202  Heavy-ion collisions data taking AlCa Harvesting
203 
204  """
205  options = defaultOptions
206  options.scenario = "HeavyIons"
207  options.step = "ALCAHARVEST:BeamSpotByRun+BeamSpotByLumi"
208  options.isMC = False
209  options.isData = True
210  options.beamspot = None
211  options.eventcontent = None
212  options.name = "ALCAHARVEST"
213  options.conditions = globalTag
214  options.arguments = ""
215  options.evt_type = ""
216  options.filein = []
217 
218  process = cms.Process("ALCAHARVEST")
219  process.source = cms.Source("PoolSource")
220  configBuilder = ConfigBuilder(options, process = process)
221  configBuilder.prepare()
222 
223  #
224  # customise process for particular job
225  #
226  process.source.processingMode = cms.untracked.string('RunsAndLumis')
227  process.source.fileNames = cms.untracked(cms.vstring())
228  process.maxEvents.input = -1
229  process.dqmSaver.workflow = datasetName
230 
231  return process
232 
def Impl.HeavyIons.HeavyIons.alcaSkim (   self,
  skims,
  args 
)
_alcaSkim_

AlcaReco processing & skims for heavy-ion collisions

Definition at line 98 of file HeavyIons.py.

98 
99  def alcaSkim(self, skims, **args):
100  """
101  _alcaSkim_
102 
103  AlcaReco processing & skims for heavy-ion collisions
104 
105  """
106 
107  globalTag = None
108  if 'globaltag' in args:
109  globalTag = args['globaltag']
110 
111  step = ""
112  if 'PromptCalibProd' in skims:
113  step = "ALCA:PromptCalibProd"
114  skims.remove('PromptCalibProd')
115 
116  if len( skims ) > 0:
117  if step != "":
118  step += ","
119  step += "ALCAOUTPUT:"
120 
121  for skim in skims:
122  step += (skim+"+")
123  options = Options()
124  options.__dict__.update(defaultOptions.__dict__)
125  options.scenario = "HeavyIons"
126  options.step = step.rstrip('+')
127  options.isMC = False
128  options.isData = True
129  options.beamspot = None
130  options.eventcontent = None
131  options.relval = None
132  if globalTag != None :
133  options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
134  options.triggerResultsProcess = 'RECO'
135 
136  process = cms.Process('ALCA')
137  cb = ConfigBuilder(options, process = process)
138 
139  # Input source
140  process.source = cms.Source(
141  "PoolSource",
142  fileNames = cms.untracked.vstring()
143  )
144 
145  cb.prepare()
146 
147  # FIXME: dirty hack..any way around this?
148  # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
149  if 'PromptCalibProd' in step:
150  process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string('ALCAPROMPT')
151 
152  return process
153 
def Impl.HeavyIons.HeavyIons.dqmHarvesting (   self,
  datasetName,
  runNumber,
  globalTag,
  args 
)
_dqmHarvesting_

Heavy-ion collisions data taking DQM Harvesting

Definition at line 154 of file HeavyIons.py.

155  def dqmHarvesting(self, datasetName, runNumber, globalTag, **args):
156  """
157  _dqmHarvesting_
158 
159  Heavy-ion collisions data taking DQM Harvesting
160 
161  """
162  options = defaultOptions
163  options.scenario = "HeavyIons"
164  options.step = "HARVESTING:dqmHarvesting"
165  options.isMC = False
166  options.isData = True
167  options.beamspot = None
168  options.eventcontent = None
169  options.name = "EDMtoMEConvert"
170  options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
171  options.arguments = ""
172  options.evt_type = ""
173  options.filein = []
174 
175  process = cms.Process("HARVESTING")
176  if args.get('newDQMIO', False):
177  process.source = cms.Source("DQMRootSource")
178  else:
179  process.source = cms.Source("PoolSource")
180  configBuilder = ConfigBuilder(options, process = process)
181  configBuilder.prepare()
182 
183  #
184  # customise process for particular job
185  #
186  process.source.processingMode = cms.untracked.string('RunsAndLumis')
187  process.source.fileNames = cms.untracked(cms.vstring())
188  process.maxEvents.input = -1
189  process.dqmSaver.workflow = datasetName
190  process.dqmSaver.saveByLumiSection = 1
191  if args.has_key('referenceFile') and args.get('referenceFile', ''):
192  process.DQMStore.referenceFileName = \
193  cms.untracked.string(args['referenceFile'])
194 
195  return process
196 
def Impl.HeavyIons.HeavyIons.expressProcessing (   self,
  globalTag,
  args 
)
_expressProcessing_

Heavy-ion collision data taking express processing

Definition at line 64 of file HeavyIons.py.

References Utils.addMonitoring(), RecoTLR.customiseExpressHI(), Utils.dictIO(), and Utils.stepALCAPRODUCER().

64 
65  def expressProcessing(self, globalTag, **args):
66  """
67  _expressProcessing_
68 
69  Heavy-ion collision data taking express processing
70 
71  """
72 
73  skims = ['SiStripCalZeroBias',
74  'TkAlMinBiasHI']
75  step = stepALCAPRODUCER(skims)
76  options = Options()
77  options.__dict__.update(defaultOptions.__dict__)
78  options.scenario = "HeavyIons"
79  options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB'
80  options.isRepacked = True
81  dictIO(options,args)
82  options.conditions = globalTag
83 
84  process = cms.Process('RECO')
85  cb = ConfigBuilder(options, process = process, with_output=True)
86 
87  # Input source
88  process.source = cms.Source("NewEventStreamFileReader",
89  fileNames = cms.untracked.vstring()
90  )
91  cb.prepare()
92 
93  customiseExpressHI(process)
94  addMonitoring(process)
95 
96  return process
97 
def stepALCAPRODUCER
Definition: Utils.py:9
def addMonitoring
Definition: Utils.py:23
def customiseExpressHI
Definition: RecoTLR.py:99
def dictIO
Definition: Utils.py:108
def Impl.HeavyIons.HeavyIons.promptReco (   self,
  globalTag,
  args 
)
_promptReco_

Heavy-ion collision data taking prompt reco

Definition at line 27 of file HeavyIons.py.

References Utils.addMonitoring(), RecoTLR.customisePromptHI(), Utils.dictIO(), and Utils.stepALCAPRODUCER().

27 
28  def promptReco(self, globalTag, **args):
29  """
30  _promptReco_
31 
32  Heavy-ion collision data taking prompt reco
33 
34  """
35 
36  skims = ['SiStripCalZeroBias',
37  'SiStripCalMinBias',
38  'TkAlMinBiasHI',
39  'HcalCalMinBias',
40  'DtCalibHI']
41  step = stepALCAPRODUCER(skims)
42  options = Options()
43  options.__dict__.update(defaultOptions.__dict__)
44  options.scenario = "HeavyIons"
45  options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB'
46  options.isRepacked = True
47  dictIO(options,args)
48  options.conditions = globalTag
49 
50  process = cms.Process('RECO')
51  cb = ConfigBuilder(options, process = process, with_output=True)
52 
53  # Input source
54  process.source = cms.Source("PoolSource",
55  fileNames = cms.untracked.vstring()
56  )
57  cb.prepare()
58 
59  customisePromptHI(process)
60  addMonitoring(process)
61 
62  return process
63 
def customisePromptHI
Definition: RecoTLR.py:108
def stepALCAPRODUCER
Definition: Utils.py:9
def addMonitoring
Definition: Utils.py:23
def dictIO
Definition: Utils.py:108