CMS 3D CMS Logo

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

Public Member Functions

def __init__
 
def alcaHarvesting
 
def alcaSkim
 
def dqmHarvesting
 
def expressProcessing
 
def promptReco
 
def skimming
 
def visualizationProcessing
 

Public Attributes

 cbSc
 
 recoSeq
 

Detailed Description

Definition at line 17 of file Reco.py.

Constructor & Destructor Documentation

def Reco.Reco.__init__ (   self)

Definition at line 18 of file Reco.py.

18 
19  def __init__(self):
20  self.recoSeq=''
self.cbSc=self.__class__.__name__
def __init__
Definition: Reco.py:18
recoSeq
Definition: Reco.py:19
cbSc
Definition: Reco.py:20

Member Function Documentation

def Reco.Reco.alcaHarvesting (   self,
  globalTag,
  datasetName,
  args 
)
_alcaHarvesting_

Proton collisions data taking AlCa Harvesting

Definition at line 259 of file Reco.py.

References Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.ppRun2.ppRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Reco.Reco.cbSc, Utils.gtNameAndConnect(), and join().

260  def alcaHarvesting(self, globalTag, datasetName, **args):
261  """
262  _alcaHarvesting_
263 
264  Proton collisions data taking AlCa Harvesting
265 
266  """
267  skims = []
268  if 'skims' in args:
269  skims = args['skims']
270 
271 
272  if 'alcapromptdataset' in args:
273  skims.append('@'+args['alcapromptdataset'])
274 
275  if len(skims) == 0: return None
276  options = defaultOptions
277  options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
278  options.step = "ALCAHARVEST:"+('+'.join(skims))
279  options.name = "ALCAHARVEST"
280  options.conditions = gtNameAndConnect(globalTag, args)
281 
282  process = cms.Process("ALCAHARVEST")
283  process.source = cms.Source("PoolSource")
284 
285  if 'customs' in args:
286  options.customisation_file=args['customs']
287 
288  configBuilder = ConfigBuilder(options, process = process)
289  configBuilder.prepare()
290 
291  #
292  # customise process for particular job
293  #
294  process.source.processingMode = cms.untracked.string('RunsAndLumis')
295  process.source.fileNames = cms.untracked(cms.vstring())
296  process.maxEvents.input = -1
297  process.dqmSaver.workflow = datasetName
298 
299  return process
def alcaHarvesting
Definition: Reco.py:259
def gtNameAndConnect
Definition: Utils.py:137
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
cbSc
Definition: Reco.py:20
def Reco.Reco.alcaSkim (   self,
  skims,
  args 
)
_alcaSkim_

AlcaReco processing & skims for proton collisions

Definition at line 180 of file Reco.py.

References Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Impl.ppRun2.ppRun2.cbSc, Reco.Reco.cbSc, alcazmumu_cfi.filter, and join().

181  def alcaSkim(self, skims, **args):
182  """
183  _alcaSkim_
184 
185  AlcaReco processing & skims for proton collisions
186 
187  """
188 
189  step = ""
190  pclWflws = [x for x in skims if "PromptCalibProd" in x]
191  skims = filter(lambda x: x not in pclWflws, skims)
192 
193  if len(pclWflws):
194  step += 'ALCA:'+('+'.join(pclWflws))
195 
196  if len( skims ) > 0:
197  if step != "":
198  step += ","
199  step += "ALCAOUTPUT:"+('+'.join(skims))
200 
201  options = Options()
202  options.__dict__.update(defaultOptions.__dict__)
203  options.scenario = self.cbSc
204  options.step = step
205  options.conditions = args['globaltag'] if 'globaltag' in args else 'None'
206  if args.has_key('globalTagConnect') and args['globalTagConnect'] != '':
207  options.conditions += ','+args['globalTagConnect']
208 
209  options.triggerResultsProcess = 'RECO'
210 
211  if 'customs' in args:
212  options.customisation_file=args['customs']
213 
214  process = cms.Process('ALCA')
215  cb = ConfigBuilder(options, process = process)
216 
217  # Input source
218  process.source = cms.Source(
219  "PoolSource",
220  fileNames = cms.untracked.vstring()
221  )
222 
223  cb.prepare()
224 
225  # FIXME: dirty hack..any way around this?
226  # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
227  for wfl in pclWflws:
228  methodToCall = getattr(process, 'ALCARECOStream'+wfl)
229  methodToCall.dataset.dataTier = cms.untracked.string('ALCAPROMPT')
230 
231  return process
232 
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def alcaSkim
Definition: Reco.py:180
cbSc
Definition: Reco.py:20
def Reco.Reco.dqmHarvesting (   self,
  datasetName,
  runNumber,
  globalTag,
  args 
)
_dqmHarvesting_

Proton collisions data taking DQM Harvesting

Definition at line 233 of file Reco.py.

References Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.ppRun2.ppRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Reco.Reco.cbSc, Utils.dqmIOSource(), Utils.dqmSeq(), Utils.gtNameAndConnect(), and Utils.harvestingMode().

234  def dqmHarvesting(self, datasetName, runNumber, globalTag, **args):
235  """
236  _dqmHarvesting_
237 
238  Proton collisions data taking DQM Harvesting
239 
240  """
241  options = defaultOptions
242  options.scenario = self.cbSc
243  options.step = "HARVESTING"+dqmSeq(args,':dqmHarvesting')
244  options.name = "EDMtoMEConvert"
245  options.conditions = gtNameAndConnect(globalTag, args)
246 
247  process = cms.Process("HARVESTING")
248  process.source = dqmIOSource(args)
249 
250  if 'customs' in args:
251  options.customisation_file=args['customs']
252 
253  configBuilder = ConfigBuilder(options, process = process)
254  configBuilder.prepare()
255 
256  harvestingMode(process,datasetName,args,rANDl=False)
257  return process
258 
def dqmSeq
Definition: Utils.py:131
def dqmHarvesting
Definition: Reco.py:233
def gtNameAndConnect
Definition: Utils.py:137
def dqmIOSource
Definition: Utils.py:103
def harvestingMode
Definition: Utils.py:114
cbSc
Definition: Reco.py:20
def Reco.Reco.expressProcessing (   self,
  globalTag,
  args 
)
_expressProcessing_

Proton collision data taking express processing

Definition at line 82 of file Reco.py.

References Utils.addMonitoring(), Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Impl.ppRun2.ppRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Reco.Reco.cbSc, Utils.dictIO(), Utils.dqmSeq(), Utils.gtNameAndConnect(), and Utils.stepALCAPRODUCER().

82 
83  def expressProcessing(self, globalTag, **args):
84  """
85  _expressProcessing_
86 
87  Proton collision data taking express processing
88 
89  """
90  skims = args['skims']
91  # the AlCaReco skims for PCL should only run during AlCaSkimming step which uses the same configuration on the Tier0 side, for this reason we drop them here
92  pclWkflws = [x for x in skims if "PromptCalibProd" in x]
93  for wfl in pclWkflws:
94  skims.remove(wfl)
95 
96  step = stepALCAPRODUCER(skims)
97  dqmStep= dqmSeq(args,'')
98  options = Options()
99  options.__dict__.update(defaultOptions.__dict__)
100  options.scenario = self.cbSc
101 
102  eiStep=''
103  if self.cbSc == 'pp':
104  eiStep=',EI'
105 
106  options.step = 'RAW2DIGI,L1Reco,RECO'+eiStep+step+',DQM'+dqmStep+',ENDJOB'
107  dictIO(options,args)
108  options.conditions = gtNameAndConnect(globalTag, args)
109  options.filein = 'tobeoverwritten.xyz'
110  if 'inputSource' in args:
111  options.filetype = args['inputSource']
112  process = cms.Process('RECO')
113 
114  if 'customs' in args:
115  options.customisation_file=args['customs']
116 
117  cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)
118 
119  cb.prepare()
120 
121  addMonitoring(process)
122 
123  return process
124 
def dqmSeq
Definition: Utils.py:131
def stepALCAPRODUCER
Definition: Utils.py:9
def addMonitoring
Definition: Utils.py:38
def gtNameAndConnect
Definition: Utils.py:137
def dictIO
Definition: Utils.py:123
cbSc
Definition: Reco.py:20
def expressProcessing
Definition: Reco.py:82
def Reco.Reco.promptReco (   self,
  globalTag,
  args 
)
_promptReco_

Proton collision data taking prompt reco

Definition at line 29 of file Reco.py.

References Utils.addMonitoring(), Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Impl.ppRun2.ppRun2.cbSc, Reco.Reco.cbSc, Utils.dictIO(), Utils.dqmSeq(), Utils.gtNameAndConnect(), Impl.hcalnzsRun2.hcalnzsRun2.recoSeq, Impl.cosmicsRun2.cosmicsRun2.recoSeq, Impl.hcalnzs.hcalnzs.recoSeq, Impl.ppRun2.ppRun2.recoSeq, Impl.ppRun2B0T.ppRun2B0T.recoSeq, Impl.ppRun2at50ns.ppRun2at50ns.recoSeq, Reco.Reco.recoSeq, Utils.stepALCAPRODUCER(), and Utils.stepSKIMPRODUCER().

29 
30  def promptReco(self, globalTag, **args):
31  """
32  _promptReco_
33 
34  Proton collision data taking prompt reco
35 
36  """
37  step = stepALCAPRODUCER(args['skims'])
38  PhysicsSkimStep = ''
39  if (args.has_key("PhysicsSkims")) :
40  PhysicsSkimStep = stepSKIMPRODUCER(args['PhysicsSkims'])
41  dqmStep= dqmSeq(args,'')
42  options = Options()
43  options.__dict__.update(defaultOptions.__dict__)
44  options.scenario = self.cbSc
45 
46  miniAODStep=''
47 
48 # if miniAOD is asked for - then retrieve the miniaod config
49  if 'outputs' in args:
50  for a in args['outputs']:
51  if a['dataTier'] == 'MINIAOD':
52  miniAODStep=',PAT'
53  options.runUnscheduled=True
54 
55 
56  if 'customs' in args:
57  options.customisation_file=args['customs']
58 
59  eiStep=''
60  if self.cbSc == 'pp':
61  eiStep=',EI'
62 
63  options.step = 'RAW2DIGI,L1Reco,RECO'+self.recoSeq+eiStep+step+PhysicsSkimStep+miniAODStep+',DQM'+dqmStep+',ENDJOB'
64 
65 
66  dictIO(options,args)
67  options.conditions = gtNameAndConnect(globalTag, args)
68 
69  process = cms.Process('RECO')
70  cb = ConfigBuilder(options, process = process, with_output = True)
71 
72  # Input source
73  process.source = cms.Source("PoolSource",
74  fileNames = cms.untracked.vstring()
75  )
76  cb.prepare()
77 
78  addMonitoring(process)
79 
80  return process
81 
def dqmSeq
Definition: Utils.py:131
def stepALCAPRODUCER
Definition: Utils.py:9
def addMonitoring
Definition: Utils.py:38
def stepSKIMPRODUCER
Definition: Utils.py:24
def promptReco
Definition: Reco.py:29
def gtNameAndConnect
Definition: Utils.py:137
def dictIO
Definition: Utils.py:123
recoSeq
Definition: Reco.py:19
cbSc
Definition: Reco.py:20
def Reco.Reco.skimming (   self,
  skims,
  globalTag,
  options 
)
_skimming_

skimming method overload for the prompt skiming

Definition at line 300 of file Reco.py.

References Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.ppRun2.ppRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Reco.Reco.cbSc, Utils.gtNameAndConnect(), and join().

301  def skimming(self, skims, globalTag,**options):
302  """
303  _skimming_
304 
305  skimming method overload for the prompt skiming
306 
307  """
308  options = defaultOptions
309  options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
310  options.step = "SKIM:"+('+'.join(skims))
311  options.name = "SKIM"
312  options.conditions = gtNameAndConnect(globalTag, args)
313  process = cms.Process("SKIM")
314  process.source = cms.Source("PoolSource")
315 
316  if 'customs' in args:
317  options.customisation_file=args['customs']
318 
319  configBuilder = ConfigBuilder(options, process = process)
320  configBuilder.prepare()
321 
322  return process
def skimming
Definition: Reco.py:300
def gtNameAndConnect
Definition: Utils.py:137
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
cbSc
Definition: Reco.py:20
def Reco.Reco.visualizationProcessing (   self,
  globalTag,
  args 
)
_visualizationProcessing_

Definition at line 125 of file Reco.py.

References Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.ppRun2.ppRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Reco.Reco.cbSc, Utils.dictIO(), and Utils.gtNameAndConnect().

126  def visualizationProcessing(self, globalTag, **args):
127  """
128  _visualizationProcessing_
129 
130  """
131 
132  options = Options()
133  options.__dict__.update(defaultOptions.__dict__)
134  options.scenario = self.cbSc
135  # FIXME: do we need L1Reco here?
136  options.step =''
137  if 'preFilter' in args:
138  options.step +='FILTER:'+args['preFilter']+','
139 
140  eiStep=''
141  if self.cbSc == 'pp':
142  eiStep=',EI'
143 
144  options.step += 'RAW2DIGI,L1Reco,RECO'+eiStep+',ENDJOB'
145 
146 
147  dictIO(options,args)
148  options.conditions = gtNameAndConnect(globalTag, args)
149  options.timeoutOutput = True
150  # FIXME: maybe can go...maybe not
151  options.filein = 'tobeoverwritten.xyz'
152 
153  if 'inputSource' in args:
154  options.filetype = args['inputSource']
155  else:
156  # this is the default as this is what is needed on the OnlineCluster
157  options.filetype = 'DQMDAQ'
158 
159  print "Using %s source"%options.filetype
160 
161  process = cms.Process('RECO')
162 
163  if 'customs' in args:
164  options.customisation_file=args['customs']
165 
166  cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)
167 
168  cb.prepare()
169 
170 
171 
172 
173  # FIXME: not sure abou this one...drop for the moment
174  # addMonitoring(process)
175 
176  return process
177 
178 
179 
def gtNameAndConnect
Definition: Utils.py:137
def visualizationProcessing
Definition: Reco.py:125
def dictIO
Definition: Utils.py:123
cbSc
Definition: Reco.py:20

Member Data Documentation

Reco.Reco.cbSc

Definition at line 20 of file Reco.py.

Referenced by Reco.Reco.alcaHarvesting(), Reco.Reco.alcaSkim(), Reco.Reco.dqmHarvesting(), Reco.Reco.expressProcessing(), Reco.Reco.promptReco(), Reco.Reco.skimming(), and Reco.Reco.visualizationProcessing().

Reco.Reco.recoSeq

Definition at line 19 of file Reco.py.

Referenced by Reco.Reco.promptReco().