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 262 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().

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

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

Proton collisions data taking DQM Harvesting

Definition at line 236 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().

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

85 
86  def expressProcessing(self, globalTag, **args):
87  """
88  _expressProcessing_
89 
90  Proton collision data taking express processing
91 
92  """
93  skims = args['skims']
94  # 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
95  pclWkflws = [x for x in skims if "PromptCalibProd" in x]
96  for wfl in pclWkflws:
97  skims.remove(wfl)
98 
99  step = stepALCAPRODUCER(skims)
100  dqmStep= dqmSeq(args,'')
101  options = Options()
102  options.__dict__.update(defaultOptions.__dict__)
103  options.scenario = self.cbSc
104 
105  eiStep=''
106  if self.cbSc == 'pp':
107  eiStep=',EI'
108 
109  options.step = 'RAW2DIGI,L1Reco,RECO'+eiStep+step+',DQM'+dqmStep+',ENDJOB'
110  dictIO(options,args)
111  options.conditions = gtNameAndConnect(globalTag, args)
112  options.filein = 'tobeoverwritten.xyz'
113  if 'inputSource' in args:
114  options.filetype = args['inputSource']
115  process = cms.Process('RECO')
116 
117  if 'customs' in args:
118  options.customisation_file=args['customs']
119 
120  cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)
121 
122  cb.prepare()
123 
124  addMonitoring(process)
125 
126  return process
127 
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:85
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  dictIO(options,args)
70  options.conditions = gtNameAndConnect(globalTag, args)
71 
72  process = cms.Process('RECO')
73  cb = ConfigBuilder(options, process = process, with_output = True)
74 
75  # Input source
76  process.source = cms.Source("PoolSource",
77  fileNames = cms.untracked.vstring()
78  )
79  cb.prepare()
80 
81  addMonitoring(process)
82 
83  return process
84 
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 303 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().

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

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