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

Member Function Documentation

◆ getConfig()

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

Definition at line 52 of file MatrixToProcess.py.

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 

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

◆ getKey()

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

Definition at line 14 of file MatrixToProcess.py.

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

References str.

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

◆ getProcess()

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

◆ identityTest()

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

Definition at line 58 of file MatrixToProcess.py.

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 

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

◆ listAll()

def MatrixToProcess.MatrixToProcess.listAll (   self)

◆ load()

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

Definition at line 25 of file MatrixToProcess.py.

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 

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

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

Member Data Documentation

◆ configBuilders

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

MatrixReader
Definition: MatrixReader.py:1
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
join
static std::string join(char **cmd)
Definition: RemoteFile.cc:17
cmsDriverOptions
ConfigBuilder
Definition: ConfigBuilder.py:1
str
#define str(s)
Definition: TestProcessor.cc:48
svgfig.load
def load(fileName)
Definition: svgfig.py:547
Exception
cmsDriverOptions.OptionsFromCommand
def OptionsFromCommand(command)
Definition: cmsDriverOptions.py:25
edm::print
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66