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 22 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 202 of file HeavyIons.py.

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

AlcaReco processing & skims for heavy-ion collisions

Definition at line 103 of file HeavyIons.py.

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

Heavy-ion collisions data taking DQM Harvesting

Definition at line 159 of file HeavyIons.py.

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

Heavy-ion collision data taking express processing

Definition at line 69 of file HeavyIons.py.

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

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

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

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