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 263 of file Reco.py.

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

264  def alcaHarvesting(self, globalTag, datasetName, **args):
265  """
266  _alcaHarvesting_
267 
268  Proton collisions data taking AlCa Harvesting
269 
270  """
271  skims = []
272  if 'skims' in args:
273  skims = args['skims']
274 
275 
276  if 'alcapromptdataset' in args:
277  skims.append('@'+args['alcapromptdataset'])
278 
279  if len(skims) == 0: return None
280  options = defaultOptions
281  options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
282  options.step = "ALCAHARVEST:"+('+'.join(skims))
283  options.name = "ALCAHARVEST"
284  options.conditions = gtNameAndConnect(globalTag, args)
285 
286  process = cms.Process("ALCAHARVEST")
287  process.source = cms.Source("PoolSource")
288 
289  if 'customs' in args:
290  options.customisation_file=args['customs']
291 
292  configBuilder = ConfigBuilder(options, process = process)
293  configBuilder.prepare()
294 
295  #
296  # customise process for particular job
297  #
298  process.source.processingMode = cms.untracked.string('RunsAndLumis')
299  process.source.fileNames = cms.untracked(cms.vstring())
300  process.maxEvents.input = -1
301  process.dqmSaver.workflow = datasetName
302 
303  return process
def alcaHarvesting
Definition: Reco.py:263
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 184 of file Reco.py.

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

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

Proton collisions data taking DQM Harvesting

Definition at line 237 of file Reco.py.

References Impl.cosmicsRun2.cosmicsRun2.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsRun2.hcalnzsRun2.cbSc, Impl.HeavyIonsRun2.HeavyIonsRun2.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().

238  def dqmHarvesting(self, datasetName, runNumber, globalTag, **args):
239  """
240  _dqmHarvesting_
241 
242  Proton collisions data taking DQM Harvesting
243 
244  """
245  options = defaultOptions
246  options.scenario = self.cbSc
247  options.step = "HARVESTING"+dqmSeq(args,':dqmHarvesting')
248  options.name = "EDMtoMEConvert"
249  options.conditions = gtNameAndConnect(globalTag, args)
250 
251  process = cms.Process("HARVESTING")
252  process.source = dqmIOSource(args)
253 
254  if 'customs' in args:
255  options.customisation_file=args['customs']
256 
257  configBuilder = ConfigBuilder(options, process = process)
258  configBuilder.prepare()
259 
260  harvestingMode(process,datasetName,args,rANDl=False)
261  return process
262 
def dqmSeq
Definition: Utils.py:131
def dqmHarvesting
Definition: Reco.py:237
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 86 of file Reco.py.

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

86 
87  def expressProcessing(self, globalTag, **args):
88  """
89  _expressProcessing_
90 
91  Proton collision data taking express processing
92 
93  """
94  skims = args['skims']
95  # 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
96  pclWkflws = [x for x in skims if "PromptCalibProd" in x]
97  for wfl in pclWkflws:
98  skims.remove(wfl)
99 
100  step = stepALCAPRODUCER(skims)
101  dqmStep= dqmSeq(args,'')
102  options = Options()
103  options.__dict__.update(defaultOptions.__dict__)
104  options.scenario = self.cbSc
105 
106  eiStep=''
107  if self.cbSc == 'pp':
108  eiStep=',EI'
109 
110  options.step = 'RAW2DIGI,L1Reco,RECO'+eiStep+step+',DQM'+dqmStep+',ENDJOB'
111  dictIO(options,args)
112  options.conditions = gtNameAndConnect(globalTag, args)
113  options.filein = 'tobeoverwritten.xyz'
114  if 'inputSource' in args:
115  options.filetype = args['inputSource']
116  process = cms.Process('RECO')
117 
118  if 'customs' in args:
119  options.customisation_file=args['customs']
120 
121  cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)
122 
123  cb.prepare()
124 
125  addMonitoring(process)
126 
127  return process
128 
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:86
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.ppRun2.ppRun2.cbSc, Impl.ppRun2at50ns.ppRun2at50ns.cbSc, Impl.ppRun2B0T.ppRun2B0T.cbSc, Impl.HeavyIonsRun2.HeavyIonsRun2.cbSc, Reco.Reco.cbSc, Utils.dictIO(), Utils.dqmSeq(), Utils.gtNameAndConnect(), Impl.hcalnzs.hcalnzs.recoSeq, Impl.cosmicsRun2.cosmicsRun2.recoSeq, Impl.hcalnzsRun2.hcalnzsRun2.recoSeq, Impl.ppRun2.ppRun2.recoSeq, Impl.ppRun2B0T.ppRun2B0T.recoSeq, Impl.HeavyIonsRun2.HeavyIonsRun2.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 
54  """
55  Unscheduled for all
56  """
57  options.runUnscheduled=True
58 
59 
60  if 'customs' in args:
61  options.customisation_file=args['customs']
62 
63  eiStep=''
64  if self.cbSc == 'pp':
65  eiStep=',EI'
66 
67  options.step = 'RAW2DIGI,L1Reco,RECO'+self.recoSeq+eiStep+step+PhysicsSkimStep+miniAODStep+',DQM'+dqmStep+',ENDJOB'
68 
69 
70  dictIO(options,args)
71  options.conditions = gtNameAndConnect(globalTag, args)
72 
73  process = cms.Process('RECO')
74  cb = ConfigBuilder(options, process = process, with_output = True)
75 
76  # Input source
77  process.source = cms.Source("PoolSource",
78  fileNames = cms.untracked.vstring()
79  )
80  cb.prepare()
81 
82  addMonitoring(process)
83 
84  return process
85 
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 304 of file Reco.py.

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

305  def skimming(self, skims, globalTag,**options):
306  """
307  _skimming_
308 
309  skimming method overload for the prompt skiming
310 
311  """
312  options = defaultOptions
313  options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
314  options.step = "SKIM:"+('+'.join(skims))
315  options.name = "SKIM"
316  options.conditions = gtNameAndConnect(globalTag, args)
317  process = cms.Process("SKIM")
318  process.source = cms.Source("PoolSource")
319 
320  if 'customs' in args:
321  options.customisation_file=args['customs']
322 
323  configBuilder = ConfigBuilder(options, process = process)
324  configBuilder.prepare()
325 
326  return process
def skimming
Definition: Reco.py:304
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 129 of file Reco.py.

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

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