CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
MatrixToProcess.MatrixToProcess Class Reference

Public Member Functions

def __init__ (self, what='standard', strict=True)
 
def getConfig (self, wfNumber, step)
 
def getKey (self, wfNumber, step)
 
def getProcess (self, wfNumber, step)
 
def identityTest (self, wfNumber, step)
 
def listAll (self)
 
def load (self, wfNumber, step)
 

Public Attributes

 configBuilders
 
 mrd
 
 processes
 
 strict
 

Detailed Description

Definition at line 5 of file MatrixToProcess.py.

Constructor & Destructor Documentation

◆ __init__()

def MatrixToProcess.MatrixToProcess.__init__ (   self,
  what = 'standard',
  strict = True 
)

Definition at line 7 of file MatrixToProcess.py.

7  def __init__(self,what='standard',strict=True):
8  from Configuration.PyReleaseValidation.MatrixReader import MatrixReader
9  self.mrd = MatrixReader(what,noRun=True)
10  self.mrd.prepare('all','',None)
11  self.configBuilders={}
12  self.processes={}
13  self.strict=strict
def __init__(self, dataset, job_number, job_id, job_name, isDA, isMC, applyBOWS, applyEXTRACOND, extraconditions, runboundary, lumilist, intlumi, maxevents, gt, allFromGT, alignmentDB, alignmentTAG, apeDB, apeTAG, bowDB, bowTAG, vertextype, tracktype, refittertype, ttrhtype, applyruncontrol, ptcut, CMSSW_dir, the_dir)

Member Function Documentation

◆ getConfig()

def MatrixToProcess.MatrixToProcess.getConfig (   self,
  wfNumber,
  step 
)

Definition at line 52 of file MatrixToProcess.py.

References MatrixToProcess.MatrixToProcess.configBuilders, MatrixToProcess.MatrixToProcess.getKey(), TmModule.getKey(), DTCalibrationMap.getKey(), L1TUtmCut.getKey(), and MatrixToProcess.MatrixToProcess.getProcess().

52  def getConfig(self,wfNumber,step):
53  key=self.getKey(wfNumber,step)
54  if not key in self.configBuilders: self.getProcess(wfNumber,step)
55  if not key in self.configBuilders: return None
56  return self.configBuilders[key].pythonCfgCode
57 

◆ getKey()

def MatrixToProcess.MatrixToProcess.getKey (   self,
  wfNumber,
  step 
)

Definition at line 14 of file MatrixToProcess.py.

References str.

Referenced by MatrixToProcess.MatrixToProcess.getConfig(), MatrixToProcess.MatrixToProcess.getProcess(), MatrixToProcess.MatrixToProcess.identityTest(), and MatrixToProcess.MatrixToProcess.load().

14  def getKey(self,wfNumber,step):
15  return str(wfNumber)+':'+str(step)
16 
#define str(s)

◆ getProcess()

def MatrixToProcess.MatrixToProcess.getProcess (   self,
  wfNumber,
  step 
)

◆ identityTest()

def MatrixToProcess.MatrixToProcess.identityTest (   self,
  wfNumber,
  step 
)

Definition at line 58 of file MatrixToProcess.py.

References MatrixToProcess.MatrixToProcess.configBuilders, MatrixToProcess.MatrixToProcess.getKey(), TmModule.getKey(), DTCalibrationMap.getKey(), L1TUtmCut.getKey(), and MatrixToProcess.MatrixToProcess.getProcess().

58  def identityTest(self,wfNumber,step):
59  self.getProcess(wfNumber,step)
60  key=self.getKey(wfNumber,step)
61  if not key in self.configBuilders: return None
62 
63  cb=self.configBuilders[key]
64  #need to compare those two for identity
65  cb.process
66  cd.pythonCfgCode
67 
68 

◆ listAll()

def MatrixToProcess.MatrixToProcess.listAll (   self)

Definition at line 69 of file MatrixToProcess.py.

References dqmMemoryStats.float, MatrixToProcess.MatrixToProcess.getProcess(), join(), VisualizationOptions.load(), BTagCalibrationReader::BTagCalibrationReaderImpl.load(), MatrixToProcess.MatrixToProcess.load(), BTagCalibrationReader.load(), CSCL1TPLookupTableEP.load(), cond::persistency::GTEditor.load(), L1MuDTPtaLut.load(), cond::persistency::IOVEditor.load(), L1MuDTPhiLut.load(), L1MuDTEtaPatternLut.load(), L1MuDTQualPatternLut.load(), PiecewiseScalingPolynomial.load(), L1MuDTExtLut.load(), HBHENegativeEFilter.load(), HBHEChannelGroups.load(), cond::persistency::RunInfoProxy.load(), HcalIndexLookup.load(), cond::persistency::GTProxy.load(), cond::persistency::IOVProxy.load(), OOTPileupCorrData.load(), TrackerMap.load(), ConfigBuilder.ConfigBuilder.load(), tkal_create_file_lists._DasCache.load(), MatrixToProcess.MatrixToProcess.mrd, and print().

69  def listAll(self):
70  for wf in self.mrd.workFlows:
71  step=1
72  print('---------------------')
73  print('process workflow',wf.numId)
74  print()
75  while self.load(float(wf.numId),step):
76  p=self.getProcess(float(wf.numId),step)
77  print(', '.join(s.label() for s in p.schedule))
78  #print p.outputModules()
79  step+=1
80 
81 
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
static std::string join(char **cmd)
Definition: RemoteFile.cc:19

◆ load()

def MatrixToProcess.MatrixToProcess.load (   self,
  wfNumber,
  step 
)

Definition at line 25 of file MatrixToProcess.py.

References MatrixToProcess.MatrixToProcess.configBuilders, dqmMemoryStats.float, MatrixToProcess.MatrixToProcess.getKey(), TmModule.getKey(), DTCalibrationMap.getKey(), L1TUtmCut.getKey(), MatrixToProcess.MatrixToProcess.mrd, cmsDriverOptions.OptionsFromCommand(), print(), and MatrixToProcess.MatrixToProcess.strict.

Referenced by MatrixToProcess.MatrixToProcess.getProcess(), and MatrixToProcess.MatrixToProcess.listAll().

25  def load(self,wfNumber,step):
26  from Configuration.Applications.ConfigBuilder import ConfigBuilder
27  from Configuration.Applications.cmsDriverOptions import OptionsFromCommand
28  import copy
29 
30  if len(self.configBuilders)!=0 and self.strict:
31  raise Exception('one should never be loading more than one process at a time due to python loading/altering feature')
32  key=self.getKey(wfNumber,step)
33  if key in self.configBuilders:
34  return True
35 
36  for wf in self.mrd.workFlows:
37  if float(wf.numId)!=wfNumber: continue
38 
39  if not hasattr(wf,'cmdStep%d'%(step)): continue
40  if not getattr(wf,'cmdStep%d'%(step)): continue
41 
42  command=getattr(wf,'cmdStep%d'%(step))
43  opt=OptionsFromCommand(command)
44  if opt:
45  cb = ConfigBuilder(opt,with_input=True,with_output=True)
46  cb.prepare()
47  self.configBuilders[key]=copy.copy(cb)
48  return True
49  print("could not satisfy the request for step",step,"of workflow",wfNumber)
50  return False
51 
def OptionsFromCommand(command)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
def load(fileName)
Definition: svgfig.py:547

Member Data Documentation

◆ configBuilders

◆ mrd

MatrixToProcess.MatrixToProcess.mrd

◆ processes

MatrixToProcess.MatrixToProcess.processes

Definition at line 12 of file MatrixToProcess.py.

◆ strict

MatrixToProcess.MatrixToProcess.strict

Definition at line 13 of file MatrixToProcess.py.

Referenced by MatrixToProcess.MatrixToProcess.load().