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
MatrixReader.MatrixReader Class Reference
Inheritance diagram for MatrixReader.MatrixReader:

Public Member Functions

def __init__
 
def createWorkFlows
 
def makeCmd
 
def prepare
 
def readMatrix
 
def reset
 
def show
 
def showRaw
 
def showWorkFlows
 
def updateDB
 

Public Attributes

 addCommand
 
 apply
 
 commandLineWf
 
 files
 
 filesPrefMap
 
 nameList
 
 noRun
 
 overWrite
 
 relvalModule
 
 revertDqmio
 maybe we want too level deep input More...
 
 what
 
 wm
 
 workFlows
 
 workFlowSteps
 

Detailed Description

Definition at line 16 of file MatrixReader.py.

Constructor & Destructor Documentation

def MatrixReader.MatrixReader.__init__ (   self,
  opt 
)

Definition at line 18 of file MatrixReader.py.

References TPedResult.reset(), BinningPointByMap.reset(), ora::NamedReference.reset(), AlcaBeamSpotManager.reset(), ora::IRelationalOperation.reset(), VEcalCalibBlock.reset(), ApvLatencyAnalysis.reset(), ora::Handle< T >.reset(), MatrixReader.MatrixReader.reset(), TB06Tree.reset(), ora::IteratorBuffer.reset(), cond::BaseValueExtractor< T >.reset(), EcalCondHeader.reset(), ora::ContainerIterator.reset(), IMACalibBlock.reset(), ora::OId.reset(), CondIter< DataT >.reset(), SamplingAnalysis.reset(), L3CalibBlock.reset(), FactorizedJetCorrectorCalculator::VariableValues.reset(), DaqScopeModeAnalysis.reset(), ora::MultiRecordInsertOperation.reset(), pos::PixelROCStatus.reset(), FedTimingAnalysis.reset(), TB06TreeH2.reset(), L1MuDTTFMasks.reset(), L1MuDTTFParameters.reset(), L1MuDTPhiLut.reset(), L1MuDTPtaLut.reset(), FedCablingAnalysis.reset(), L1MuDTEtaPatternLut.reset(), L1MuDTQualPatternLut.reset(), PedsOnlyAnalysis.reset(), TB06Reco.reset(), L1MuDTExtLut.reset(), VpspScanAnalysis.reset(), PhysicsTools::Calibration::Histogram< Value_t, Axis_t >.reset(), coral_bridge::AuthenticationCredentialSet.reset(), PhysicsTools::Calibration::Histogram2D< Value_t, AxisX_t, AxisY_t >.reset(), NoiseAnalysis.reset(), PedestalsAnalysis.reset(), OptoScanAnalysis.reset(), ApvTimingAnalysis.reset(), CalibrationAnalysis.reset(), PhysicsTools::Calibration::Histogram3D< Value_t, AxisX_t, AxisY_t, AxisZ_t >.reset(), FastFedCablingAnalysis.reset(), ora::UniqueRef< T >.reset(), PedsFullNoiseAnalysis.reset(), cond::persistency::GTProxy.reset(), cond::persistency::IOVProxy.reset(), CommissioningAnalysis.reset(), ora::InsertOperation.reset(), ora::Ptr< T >.reset(), TB06RecoH2.reset(), ora::BulkInsertOperation.reset(), cond::XMLAuthenticationService::XMLAuthenticationService.reset(), TrackerMap.reset(), ora::UpdateOperation.reset(), ora::DeleteOperation.reset(), DTTFBitArray< N >.reset(), and ora::QueryableVector< Tp >.reset().

18 
19  def __init__(self, opt):
20 
21  self.reset(opt.what)
22 
23  self.wm=opt.wmcontrol
24  self.revertDqmio=opt.revertDqmio
25  self.addCommand=opt.command
26  self.apply=opt.apply
27  self.commandLineWf=opt.workflow
28  self.overWrite=opt.overWrite
29 
30  self.noRun = opt.noRun
31  return
revertDqmio
maybe we want too level deep input
Definition: MatrixReader.py:23

Member Function Documentation

def MatrixReader.MatrixReader.createWorkFlows (   self,
  fileNameIn 
)

Definition at line 402 of file MatrixReader.py.

References MatrixReader.MatrixReader.filesPrefMap, MatrixReader.MatrixReader.nameList, and MatrixReader.MatrixReader.workFlowSteps.

Referenced by MatrixReader.MatrixReader.prepare().

403  def createWorkFlows(self, fileNameIn):
404 
405  prefixIn = self.filesPrefMap[fileNameIn]
406 
407  # get through the list of items and update the requested workflows only
408  keyList = self.workFlowSteps.keys()
409  ids = []
410  for item in keyList:
411  id, pref = item
412  if pref != prefixIn : continue
413  ids.append(id)
414  ids.sort()
415  for key in ids:
416  val = self.workFlowSteps[(key,prefixIn)]
417  num, name, commands, stepList = val
418  nameId = str(num)+'_'+name
419  if nameId in self.nameList:
420  print "==> duplicate name found for ", nameId
421  print ' keeping : ', self.nameList[nameId]
422  print ' ignoring : ', val
423  else:
424  self.nameList[nameId] = val
425 
426  self.workFlows.append(WorkFlow(num, name, commands=commands))
427 
428  return
def MatrixReader.MatrixReader.makeCmd (   self,
  step 
)

Definition at line 70 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

70 
71  def makeCmd(self, step):
72 
73  cmd = ''
74  cfg = None
75  input = None
76  for k,v in step.items():
77  if 'no_exec' in k : continue # we want to really run it ...
78  if k.lower() == 'cfg':
79  cfg = v
80  continue # do not append to cmd, return separately
81  if k.lower() == 'input':
82  input = v
83  continue # do not append to cmd, return separately
84 
85  #chain the configs
86  #if k.lower() == '--python':
87  # v = 'step%d_%s'%(index,v)
88  cmd += ' ' + k + ' ' + str(v)
89  return cfg, input, cmd
def MatrixReader.MatrixReader.prepare (   self,
  useInput = None,
  refRel = '',
  fromScratch = None 
)

Definition at line 429 of file MatrixReader.py.

References MatrixReader.MatrixReader.createWorkFlows(), MatrixReader.MatrixReader.files, MatrixReader.MatrixReader.readMatrix(), and MatrixReader.MatrixReader.what.

430  def prepare(self, useInput=None, refRel='', fromScratch=None):
431 
432  for matrixFile in self.files:
433  if self.what != 'all' and self.what not in matrixFile:
434  print "ignoring non-requested file",matrixFile
435  continue
436  if self.what == 'all' and ('upgrade' in matrixFile):
437  print "ignoring",matrixFile,"from default matrix"
438  continue
439 
440  try:
441  self.readMatrix(matrixFile, useInput, refRel, fromScratch)
442  except Exception, e:
443  print "ERROR reading file:", matrixFile, str(e)
444  raise
445 
446  try:
447  self.createWorkFlows(matrixFile)
448  except Exception, e:
449  print "ERROR creating workflows :", str(e)
450  raise
451 
def MatrixReader.MatrixReader.readMatrix (   self,
  fileNameIn,
  useInput = None,
  refRel = None,
  fromScratch = None 
)

Definition at line 90 of file MatrixReader.py.

References MatrixReader.MatrixReader.addCommand, MatrixReader.MatrixReader.apply, MatrixReader.MatrixReader.filesPrefMap, join(), MatrixReader.MatrixReader.makeCmd(), python.multivaluedict.map(), MatrixReader.MatrixReader.noRun, MatrixReader.MatrixReader.overWrite, MatrixReader.MatrixReader.relvalModule, MatrixReader.MatrixReader.revertDqmio, MatrixReader.MatrixReader.wm, MatrixReader.MatrixReader.workFlowSteps, and archive.zip.

Referenced by MatrixReader.MatrixReader.prepare(), and MatrixReader.MatrixReader.showRaw().

90 
91  def readMatrix(self, fileNameIn, useInput=None, refRel=None, fromScratch=None):
92 
93  prefix = self.filesPrefMap[fileNameIn]
94 
95  print "processing ", fileNameIn
96 
97  try:
98  _tmpMod = __import__( 'Configuration.PyReleaseValidation.'+fileNameIn )
99  self.relvalModule = sys.modules['Configuration.PyReleaseValidation.'+fileNameIn]
100  except Exception, e:
101  print "ERROR importing file ", fileNameIn, str(e)
102  return
103 
104  print "request for INPUT for ", useInput
105 
106 
107  fromInput={}
108 
109  if useInput:
110  for i in useInput:
111  if ':' in i:
112  (ik,il)=i.split(':')
113  if ik=='all':
114  for k in self.relvalModule.workflows.keys():
115  fromInput[float(k)]=int(il)
116  else:
117  fromInput[float(ik)]=int(il)
118  else:
119  if i=='all':
120  for k in self.relvalModule.workflows.keys():
121  fromInput[float(k)]=0
122  else:
123  fromInput[float(i)]=0
124 
125  if fromScratch:
126  fromScratch=map(float,fromScratch)
127  for num in fromScratch:
128  if num in fromInput:
129  fromInput.pop(num)
130  #overwrite steps
131  if self.overWrite:
132  for p in self.overWrite:
133  self.relvalModule.steps.overwrite(p)
134 
135  #change the origin of dataset on the fly
136  if refRel:
137  if ',' in refRel:
138  refRels=refRel.split(',')
139  if len(refRels)!=len(self.relvalModule.baseDataSetRelease):
140  return
141  self.relvalModule.changeRefRelease(
142  self.relvalModule.steps,
143  zip(self.relvalModule.baseDataSetRelease,refRels)
144  )
145  else:
146  self.relvalModule.changeRefRelease(
147  self.relvalModule.steps,
148  [(x,refRel) for x in self.relvalModule.baseDataSetRelease]
149  )
150 
151 
152  for num, wfInfo in self.relvalModule.workflows.items():
153  commands=[]
154  wfName = wfInfo[0]
155  stepList = wfInfo[1]
156  # if no explicit name given for the workflow, use the name of step1
157  if wfName.strip() == '': wfName = stepList[0]
158  # option to specialize the wf as the third item in the WF list
159  addTo=None
160  addCom=None
161  if len(wfInfo)>=3:
162  addCom=wfInfo[2]
163  if not type(addCom)==list: addCom=[addCom]
164  #print 'added dict',addCom
165  if len(wfInfo)>=4:
166  addTo=wfInfo[3]
167  #pad with 0
168  while len(addTo)!=len(stepList):
169  addTo.append(0)
170 
171  name=wfName
172  stepIndex=0
173  ranStepList=[]
174 
175  #first resolve INPUT possibilities
176  if num in fromInput:
177  ilevel=fromInput[num]
178  #print num,ilevel
179  for (stepIr,step) in enumerate(reversed(stepList)):
180  stepName=step
181  stepI=(len(stepList)-stepIr)-1
182  #print stepIr,step,stepI,ilevel
183  if stepI>ilevel:
184  #print "ignoring"
185  continue
186  if stepI!=0:
187  testName='__'.join(stepList[0:stepI+1])+'INPUT'
188  else:
189  testName=step+'INPUT'
190  #print "JR",stepI,stepIr,testName,stepList
191  if testName in self.relvalModule.steps.keys():
192  #print "JR",stepI,stepIr
193  stepList[stepI]=testName
194  #pop the rest in the list
195  #print "\tmod prepop",stepList
196  for p in range(stepI):
197  stepList.pop(0)
198  #print "\t\tmod",stepList
199  break
200 
201 
202  for (stepI,step) in enumerate(stepList):
203  stepName=step
204  if self.wm:
205  #cannot put a certain number of things in wm
206  if stepName in [
207  #'HARVEST','HARVESTD','HARVESTDreHLT',
208  'RECODFROMRAWRECO','SKIMD','SKIMCOSD','SKIMDreHLT'
209  ]:
210  continue
211 
212  #replace stepName is needed
213  #if stepName in self.replaceStep
214  if len(name) > 0 : name += '+'
215  #any step can be mirrored with INPUT
216  ## maybe we want too level deep input
217  """
218  if num in fromInput:
219  if step+'INPUT' in self.relvalModule.steps.keys():
220  stepName = step+"INPUT"
221  stepList.remove(step)
222  stepList.insert(stepIndex,stepName)
223  """
224  name += stepName
225 
226  if addCom and (not addTo or addTo[stepIndex]==1):
228  copyStep=merge(addCom+[self.relvalModule.steps[stepName]])
229  cfg, input, opts = self.makeCmd(copyStep)
230  else:
231  cfg, input, opts = self.makeCmd(self.relvalModule.steps[stepName])
232 
233  if input and cfg :
234  msg = "FATAL ERROR: found both cfg and input for workflow "+str(num)+' step '+stepName
235  raise MatrixException(msg)
236 
237  if input:
238  cmd = input
239  if self.noRun:
240  cmd.run=[]
241  else:
242  if cfg:
243  cmd = 'cmsDriver.py '+cfg+' '+opts
244  else:
245  cmd = 'cmsDriver.py step'+str(stepIndex+1)+' '+opts
246  if self.wm:
247  cmd+=' --io %s.io --python %s.py'%(stepName,stepName)
248  if self.addCommand:
249  if self.apply:
250  if stepIndex in self.apply or stepName in self.apply:
251  cmd +=' '+self.addCommand
252  else:
253  cmd +=' '+self.addCommand
254  if self.wm and self.revertDqmio=='yes':
255  cmd=cmd.replace('DQMIO','DQM')
256  cmd=cmd.replace('--filetype DQM','')
257  commands.append(cmd)
258  ranStepList.append(stepName)
259  stepIndex+=1
260 
261  self.workFlowSteps[(num,prefix)] = (num, name, commands, ranStepList)
262 
263  return
264 
Definition: merge.py:1
revertDqmio
maybe we want too level deep input
Definition: MatrixReader.py:23
tuple zip
Definition: archive.py:476
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def MatrixReader.MatrixReader.reset (   self,
  what = 'all' 
)

Definition at line 32 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.__init__(), and MatrixReader.MatrixReader.showRaw().

32 
33  def reset(self, what='all'):
34 
35  self.what = what
36 
37  #a bunch of information, but not yet the WorkFlow object
38  self.workFlowSteps = {}
39  #the actual WorkFlow objects
40  self.workFlows = []
41  self.nameList = {}
42 
43  self.filesPrefMap = {'relval_standard' : 'std-' ,
44  'relval_highstats': 'hi-' ,
45  'relval_pileup': 'PU-' ,
46  'relval_generator': 'gen-' ,
47  'relval_extendedgen': 'genExt-',
48  'relval_production': 'prod-' ,
49  'relval_ged': 'ged-',
50  'relval_upgrade':'upg-',
51  'relval_identity':'id-',
52  'relval_machine': 'mach-'
53  }
54 
55  self.files = ['relval_standard' ,
56  'relval_highstats',
57  'relval_pileup',
58  'relval_generator',
59  'relval_extendedgen',
60  'relval_production',
61  'relval_ged',
62  'relval_upgrade',
63  'relval_identity',
64  'relval_machine'
65  ]
66 
67  self.relvalModule = None
68 
69  return
def MatrixReader.MatrixReader.show (   self,
  selected = None,
  extended = True 
)

Definition at line 452 of file MatrixReader.py.

References MatrixReader.MatrixReader.showWorkFlows().

Referenced by Vispa.Main.AboutDialog.AboutDialog.onScreen(), Vispa.Gui.BoxContentDialog.BoxContentDialog.onScreen(), and Vispa.Gui.FindDialog.FindDialog.onScreen().

453  def show(self, selected=None, extended=True):
454 
455  self.showWorkFlows(selected,extended)
456  print '\n','-'*80,'\n'
457 
def MatrixReader.MatrixReader.showRaw (   self,
  useInput,
  refRel = None,
  fromScratch = None,
  what = 'all',
  step1Only = False,
  selected = None 
)

Definition at line 265 of file MatrixReader.py.

References Clusterizer1DCommons.add(), MatrixReader.MatrixReader.files, join(), python.multivaluedict.map(), MatrixReader.MatrixReader.readMatrix(), BinningPointByMap.reset(), TPedResult.reset(), ora::NamedReference.reset(), AlcaBeamSpotManager.reset(), ora::IRelationalOperation.reset(), ApvLatencyAnalysis.reset(), VEcalCalibBlock.reset(), ora::Handle< T >.reset(), MatrixReader.MatrixReader.reset(), TB06Tree.reset(), ora::IteratorBuffer.reset(), cond::BaseValueExtractor< T >.reset(), EcalCondHeader.reset(), ora::ContainerIterator.reset(), IMACalibBlock.reset(), CondIter< DataT >.reset(), SamplingAnalysis.reset(), ora::OId.reset(), L3CalibBlock.reset(), FactorizedJetCorrectorCalculator::VariableValues.reset(), DaqScopeModeAnalysis.reset(), ora::MultiRecordInsertOperation.reset(), pos::PixelROCStatus.reset(), FedTimingAnalysis.reset(), TB06TreeH2.reset(), L1MuDTTFMasks.reset(), L1MuDTTFParameters.reset(), L1MuDTPhiLut.reset(), L1MuDTPtaLut.reset(), FedCablingAnalysis.reset(), L1MuDTEtaPatternLut.reset(), L1MuDTQualPatternLut.reset(), PedsOnlyAnalysis.reset(), TB06Reco.reset(), L1MuDTExtLut.reset(), VpspScanAnalysis.reset(), PhysicsTools::Calibration::Histogram< Value_t, Axis_t >.reset(), coral_bridge::AuthenticationCredentialSet.reset(), PhysicsTools::Calibration::Histogram2D< Value_t, AxisX_t, AxisY_t >.reset(), NoiseAnalysis.reset(), PedestalsAnalysis.reset(), OptoScanAnalysis.reset(), ApvTimingAnalysis.reset(), CalibrationAnalysis.reset(), PhysicsTools::Calibration::Histogram3D< Value_t, AxisX_t, AxisY_t, AxisZ_t >.reset(), FastFedCablingAnalysis.reset(), ora::UniqueRef< T >.reset(), PedsFullNoiseAnalysis.reset(), cond::persistency::IOVProxy.reset(), cond::persistency::GTProxy.reset(), CommissioningAnalysis.reset(), ora::InsertOperation.reset(), ora::Ptr< T >.reset(), TB06RecoH2.reset(), ora::BulkInsertOperation.reset(), cond::XMLAuthenticationService::XMLAuthenticationService.reset(), TrackerMap.reset(), ora::UpdateOperation.reset(), ora::DeleteOperation.reset(), DTTFBitArray< N >.reset(), ora::QueryableVector< Tp >.reset(), MatrixReader.MatrixReader.revertDqmio, MatrixReader.MatrixReader.what, and MatrixReader.MatrixReader.workFlowSteps.

266  def showRaw(self, useInput, refRel=None, fromScratch=None, what='all',step1Only=False,selected=None):
267 
268  if selected:
269  selected=map(float,selected)
270  for matrixFile in self.files:
271 
272  self.reset(what)
273 
274  if self.what != 'all' and self.what not in matrixFile:
275  print "ignoring non-requested file",matrixFile
276  continue
277 
278  try:
279  self.readMatrix(matrixFile, useInput, refRel, fromScratch)
280  except Exception, e:
281  print "ERROR reading file:", matrixFile, str(e)
282  raise
283 
284  if not self.workFlowSteps: continue
285 
286  dataFileName = matrixFile.replace('relval_', 'cmsDriver_')+'_hlt.txt'
287  outFile = open(dataFileName,'w')
288 
289  print "found ", len(self.workFlowSteps.keys()), ' workflows for ', dataFileName
290  ids = self.workFlowSteps.keys()
291  ids.sort()
292  indexAndSteps=[]
293 
294  writtenWF=0
295  for key in ids:
296  if selected and not (key[0] in selected):
297  continue
298  #trick to skip the HImix IB test
299  if key[0]==203.1 or key[0]==204.1 or key[0]==205.1 or key[0]==4.51 or key[0]==4.52: continue
300  num, name, commands, stepList = self.workFlowSteps[key]
301 
302  wfName,stepNames= name.split('+',1)
303 
304  stepNames=stepNames.replace('+RECODFROMRAWRECO','')
305  stepNames=stepNames.replace('+SKIMCOSD','')
306  stepNames=stepNames.replace('+SKIMD','')
307  if 'HARVEST' in stepNames:
308  #find out automatically what to remove
309  exactb=stepNames.index('+HARVEST')
310  exacte=stepNames.index('+',exactb+1) if ('+' in stepNames[exactb+1:]) else (len(stepNames))
311  stepNames=stepNames.replace(stepNames[exactb:exacte],'')
312  otherSteps = None
313  if '+' in stepNames:
314  step1,otherSteps = stepNames.split('+',1)
315 
316  line = str(num) + ' ++ '+ wfName
317  if otherSteps and not step1Only:
318  line += ' ++ ' +otherSteps.replace('+',',')
319  else:
320  line += ' ++ none'
321  inputInfo=None
322  if not isinstance(commands[0],str):
323  inputInfo=commands[0]
324  if otherSteps:
325  for (i,c) in enumerate(otherSteps.split('+')):
326  #pad with set
327  for p in range(len(indexAndSteps),i+2):
328  indexAndSteps.append(set())
329  indexAndSteps[i+1].add((c,commands[i+1]))
330 
331  if inputInfo :
332  #skip the samples from INPUT when step1Only is on
333  if step1Only: continue
334  line += ' ++ REALDATA: '+inputInfo.dataSet
335  if inputInfo.run!=[]: line += ', RUN:'+'|'.join(map(str,inputInfo.run))
336  line += ', FILES: ' +str(inputInfo.files)
337  line += ', EVENTS: '+str(inputInfo.events)
338  if inputInfo.label!='':
339  line += ', LABEL: ' +inputInfo.label
340  line += ', LOCATION:'+inputInfo.location
341  line += ' @@@'
342  else:
343  line += ' @@@ '+commands[0]
344  if self.revertDqmio=='yes':
345  line=line.replace('DQMIO','DQM')
346  writtenWF+=1
347  outFile.write(line+'\n')
348 
349 
350  outFile.write('\n'+'\n')
351  if step1Only: continue
352 
353  for (index,s) in enumerate(indexAndSteps):
354  for (stepName,cmd) in s:
355  stepIndex=index+1
356  if 'dasquery.log' in cmd: continue
357  line = 'STEP%d ++ '%(stepIndex,) +stepName + ' @@@ '+cmd
358  if self.revertDqmio=='yes':
359  line=line.replace('DQMIO','DQM')
360  outFile.write(line+'\n')
361  outFile.write('\n'+'\n')
362  outFile.close()
363  print "wrote ",writtenWF, ' workflow'+('s' if (writtenWF!=1) else ''),' to ', outFile.name
364  return
365 
revertDqmio
maybe we want too level deep input
Definition: MatrixReader.py:23
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def MatrixReader.MatrixReader.showWorkFlows (   self,
  selected = None,
  extended = True 
)

Definition at line 366 of file MatrixReader.py.

References python.multivaluedict.map(), and MatrixReader.MatrixReader.workFlows.

Referenced by MatrixReader.MatrixReader.show().

367  def showWorkFlows(self, selected=None, extended=True):
368  if selected: selected = map(float,selected)
369  maxLen = 100 # for summary, limit width of output
370  fmt1 = "%-6s %-35s [1]: %s ..."
371  fmt2 = " %35s [%d]: %s ..."
372  print "\nfound a total of ", len(self.workFlows), ' workflows:'
373  if selected:
374  print " of which the following", len(selected), 'were selected:'
375  #-ap for now:
376  maxLen = -1 # for individual listing, no limit on width
377  fmt1 = "%-6s %-35s [1]: %s "
378  fmt2 = " %35s [%d]: %s"
379 
380  N=[]
381  for wf in self.workFlows:
382  if selected and float(wf.numId) not in selected: continue
383  if extended: print ''
384  #pad with zeros
385  for i in range(len(N),len(wf.cmds)): N.append(0)
386  N[len(wf.cmds)-1]+=1
387  wfName, stepNames = wf.nameId.split('+',1)
388  for i,s in enumerate(wf.cmds):
389  if extended:
390  if i==0:
391  print fmt1 % (wf.numId, stepNames, (str(s)+' ')[:maxLen])
392  else:
393  print fmt2 % ( ' ', i+1, (str(s)+' ')[:maxLen])
394  else:
395  print "%-6s %-35s "% (wf.numId, stepNames)
396  break
397  print ''
398  for i,n in enumerate(N):
399  if n: print n,'workflows with',i+1,'steps'
400 
401  return
def MatrixReader.MatrixReader.updateDB (   self)

Definition at line 458 of file MatrixReader.py.

References MatrixReader.MatrixReader.workFlows.

459  def updateDB(self):
460 
461  import pickle
462  pickle.dump(self.workFlows, open('theMatrix.pkl', 'w') )
463 
464  return
465 

Member Data Documentation

MatrixReader.MatrixReader.addCommand

Definition at line 24 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.apply

Definition at line 25 of file MatrixReader.py.

Referenced by heavyIonTools.ConfigureHeavyIons.__call__(), editorTools.UserCodeTool.__call__(), HiCoreTools.RestrictInputToAOD.__call__(), coreTools.RunOnData.__call__(), trackTools.MakeAODTrackCandidates.__call__(), metTools.AddMETCollection.__call__(), heavyIonTools.ProductionDefaults.__call__(), editorTools.ChangeSource.__call__(), HiCoreTools.RemoveMCMatching.__call__(), cmsswVersionTools.PickRelValInputFiles.__call__(), jetTools.AddJetCollection.__call__(), coreTools.RemoveMCMatching.__call__(), trackTools.MakePATTrackCandidates.__call__(), trigTools.SwitchOnTrigger.__call__(), heavyIonTools.SelectionDefaults.__call__(), HiCoreTools.RemoveAllPATObjectsBut.__call__(), heavyIonTools.DisbaleMonteCarloDeps.__call__(), HiCoreTools.RemoveSpecificPATObjects.__call__(), trigTools.SwitchOnTriggerStandAlone.__call__(), trackTools.MakeTrackCandidates.__call__(), tauTools.AddTauCollection.__call__(), trigTools.SwitchOnTriggerMatching.__call__(), HiCoreTools.RemoveCleaning.__call__(), HiCoreTools.AddCleaning.__call__(), trigTools.SwitchOnTriggerMatchingStandAlone.__call__(), trigTools.SwitchOnTriggerMatchEmbedding.__call__(), jetTools.SwitchJetCollection.__call__(), jetTools.AddJetID.__call__(), jetTools.SetTagInfos.__call__(), metUncertaintyTools.RunMEtUncertainties.__call__(), and MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.commandLineWf

Definition at line 26 of file MatrixReader.py.

MatrixReader.MatrixReader.files

Definition at line 54 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.prepare(), and MatrixReader.MatrixReader.showRaw().

MatrixReader.MatrixReader.filesPrefMap

Definition at line 42 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.createWorkFlows(), and MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.nameList

Definition at line 40 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.createWorkFlows().

MatrixReader.MatrixReader.noRun

Definition at line 29 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.overWrite

Definition at line 27 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.relvalModule

Definition at line 66 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.revertDqmio

maybe we want too level deep input

Definition at line 23 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix(), and MatrixReader.MatrixReader.showRaw().

MatrixReader.MatrixReader.what

Definition at line 34 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.prepare(), and MatrixReader.MatrixReader.showRaw().

MatrixReader.MatrixReader.wm

Definition at line 22 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.workFlows

Definition at line 39 of file MatrixReader.py.

Referenced by MatrixRunner.MatrixRunner.runTests(), MatrixReader.MatrixReader.showWorkFlows(), and MatrixReader.MatrixReader.updateDB().

MatrixReader.MatrixReader.workFlowSteps

Definition at line 37 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.createWorkFlows(), MatrixReader.MatrixReader.readMatrix(), and MatrixReader.MatrixReader.showRaw().