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

Public Member Functions

def __init__
 
def prepare
 
def submit
 
def upload
 
def uploadConf
 

Public Attributes

 chainDicts
 
 couch
 
 couchCache
 
 count
 
 defaultChain
 
 defaultHarvest
 
 defaultInput
 
 defaultScratch
 
 defaultTask
 
 dqmgui
 
 group
 
 keep
 
 label
 
 speciallabel
 
 testMode
 
 user
 
 version
 
 wmagent
 

Detailed Description

Definition at line 36 of file MatrixInjector.py.

Constructor & Destructor Documentation

def MatrixInjector.MatrixInjector.__init__ (   self,
  opt,
  mode = 'init',
  options = '' 
)

Definition at line 38 of file MatrixInjector.py.

38 
39  def __init__(self,opt,mode='init',options=''):
40  self.count=1040
41 
42  self.dqmgui=None
43  self.wmagent=None
44  for k in options.split(','):
45  if k.startswith('dqm:'):
46  self.dqmgui=k.split(':',1)[-1]
47  elif k.startswith('wma:'):
48  self.wmagent=k.split(':',1)[-1]
49 
50  self.testMode=((mode!='submit') and (mode!='force'))
51  self.version =1
52  self.keep = opt.keep
53 
54  #wagemt stuff
55  if not self.wmagent:
56  self.wmagent=os.getenv('WMAGENT_REQMGR')
57  if not self.wmagent:
58  self.wmagent = 'cmsweb.cern.ch'
59 
60  if not self.dqmgui:
61  self.dqmgui="https://cmsweb.cern.ch/dqm/relval"
62  #couch stuff
63  self.couch = 'https://'+self.wmagent+'/couchdb'
64 # self.couchDB = 'reqmgr_config_cache'
65  self.couchCache={} # so that we do not upload like crazy, and recyle cfgs
66  self.user = os.getenv('USER')
67  self.group = 'ppd'
68  self.label = 'RelValSet_'+os.getenv('CMSSW_VERSION').replace('-','')+'_v'+str(self.version)
69  self.speciallabel=''
70  if opt.label:
71  self.speciallabel= '_'+opt.label
72 
73 
74  if not os.getenv('WMCORE_ROOT'):
75  print '\n\twmclient is not setup properly. Will not be able to upload or submit requests.\n'
76  if not self.testMode:
77  print '\n\t QUIT\n'
78  sys.exit(-18)
79  else:
80  print '\n\tFound wmclient\n'
81 
82  self.defaultChain={
83  "RequestType" : "TaskChain", #this is how we handle relvals
84  "SubRequestType" : "RelVal", #this is how we handle relvals, now that TaskChain is also used for central MC production
85  "RequestPriority": 500000,
86  "Requestor": self.user, #Person responsible
87  "Group": self.group, #group for the request
88  "CMSSWVersion": os.getenv('CMSSW_VERSION'), #CMSSW Version (used for all tasks in chain)
89  "Campaign": os.getenv('CMSSW_VERSION'), # only for wmstat purpose
90  "ScramArch": os.getenv('SCRAM_ARCH'), #Scram Arch (used for all tasks in chain)
91  "ProcessingVersion": self.version, #Processing Version (used for all tasks in chain)
92  "GlobalTag": None, #Global Tag (overridden per task)
93  "CouchURL": self.couch, #URL of CouchDB containing Config Cache
94  "ConfigCacheURL": self.couch, #URL of CouchDB containing Config Cache
95  "DbsUrl": "https://cmsweb.cern.ch/dbs/prod/global/DBSReader",
96  #- Will contain all configs for all Tasks
97  #"SiteWhitelist" : ["T2_CH_CERN", "T1_US_FNAL"], #Site whitelist
98  "TaskChain" : None, #Define number of tasks in chain.
99  "nowmTasklist" : [], #a list of tasks as we put them in
100  "unmergedLFNBase" : "/store/unmerged",
101  "mergedLFNBase" : "/store/relval",
102  "dashboardActivity" : "relval",
103  "Memory" : 2400,
104  "SizePerEvent" : 1234,
105  "TimePerEvent" : 20
106  }
108  self.defaultHarvest={
109  "EnableHarvesting" : "True",
110  "DQMUploadUrl" : self.dqmgui,
111  "DQMConfigCacheID" : None
112  }
113 
114  self.defaultScratch={
115  "TaskName" : None, #Task Name
116  "ConfigCacheID" : None, #Generator Config id
117  "GlobalTag": None,
118  "SplittingAlgo" : "EventBased", #Splitting Algorithm
119  "EventsPerJob" : None, #Size of jobs in terms of splitting algorithm
120  "RequestNumEvents" : None, #Total number of events to generate
121  "Seeding" : "AutomaticSeeding", #Random seeding method
122  "PrimaryDataset" : None, #Primary Dataset to be created
123  "nowmIO": {},
124  "KeepOutput" : False
125  }
126  self.defaultInput={
127  "TaskName" : "DigiHLT", #Task Name
128  "ConfigCacheID" : None, #Processing Config id
129  "GlobalTag": None,
130  "InputDataset" : None, #Input Dataset to be processed
131  "SplittingAlgo" : "LumiBased", #Splitting Algorithm
132  "LumisPerJob" : 10, #Size of jobs in terms of splitting algorithm
133  "nowmIO": {},
134  "KeepOutput" : False
135  }
136  self.defaultTask={
137  "TaskName" : None, #Task Name
138  "InputTask" : None, #Input Task Name (Task Name field of a previous Task entry)
139  "InputFromOutputModule" : None, #OutputModule name in the input task that will provide files to process
140  "ConfigCacheID" : None, #Processing Config id
141  "GlobalTag": None,
142  "SplittingAlgo" : "LumiBased", #Splitting Algorithm
143  "LumisPerJob" : 10, #Size of jobs in terms of splitting algorithm
144  "nowmIO": {},
145  "KeepOutput" : False
146  }
148  self.chainDicts={}
149 

Member Function Documentation

def MatrixInjector.MatrixInjector.prepare (   self,
  mReader,
  directories,
  mode = 'init' 
)

Definition at line 150 of file MatrixInjector.py.

References python.multivaluedict.append(), MatrixInjector.MatrixInjector.chainDicts, MatrixInjector.MatrixInjector.defaultChain, MatrixInjector.MatrixInjector.defaultHarvest, MatrixInjector.MatrixInjector.defaultInput, MatrixInjector.MatrixInjector.defaultScratch, MatrixInjector.MatrixInjector.defaultTask, spr.find(), cmsHarvester.index, MatrixInjector.MatrixInjector.keep, python.multivaluedict.map(), SiPixelLorentzAngle_cfi.read, python.rootplot.root2matplotlib.replace(), MatrixInjector.MatrixInjector.speciallabel, split, and makeHLTPrescaleTable.values.

151  def prepare(self,mReader, directories, mode='init'):
152  try:
153  #from Configuration.PyReleaseValidation.relval_steps import wmsplit
154  wmsplit = {}
155  wmsplit['DIGIHI']=5
156  wmsplit['RECOHI']=5
157  wmsplit['HLTD']=5
158  wmsplit['RECODreHLT']=2
159  wmsplit['DIGIPU']=4
160  wmsplit['DIGIPU1']=4
161  wmsplit['RECOPU1']=1
162  wmsplit['DIGIUP15_PU50']=1
163  wmsplit['RECOUP15_PU50']=1
164  wmsplit['DIGIUP15_PU25']=1
165  wmsplit['RECOUP15_PU25']=1
166  wmsplit['DIGIHISt3']=5
167  wmsplit['RECODSplit']=1
168  wmsplit['SingleMuPt10_UP15_ID']=1
169  wmsplit['DIGIUP15_ID']=1
170  wmsplit['RECOUP15_ID']=1
171  wmsplit['TTbar_13_ID']=1
172  wmsplit['SingleMuPt10FS_ID']=1
173  wmsplit['TTbarFS_ID']=1
174 
175  #import pprint
176  #pprint.pprint(wmsplit)
177  except:
178  print "Not set up for step splitting"
179  wmsplit={}
180 
181  acqEra=False
182  for (n,dir) in directories.items():
183  chainDict=copy.deepcopy(self.defaultChain)
184  print "inspecting",dir
185  nextHasDSInput=None
186  for (x,s) in mReader.workFlowSteps.items():
187  #x has the format (num, prefix)
188  #s has the format (num, name, commands, stepList)
189  if x[0]==n:
190  #print "found",n,s[3]
191  #chainDict['RequestString']='RV'+chainDict['CMSSWVersion']+s[1].split('+')[0]
192  index=0
193  splitForThisWf=None
194  thisLabel=self.speciallabel
195  if 'HARVESTGEN' in s[3]:
196  thisLabel=thisLabel+"_gen"
197  processStrPrefix=''
198  setPrimaryDs=None
199  for step in s[3]:
200 
201  if 'INPUT' in step or (not isinstance(s[2][index],str)):
202  nextHasDSInput=s[2][index]
203 
204  else:
205 
206  if (index==0):
207  #first step and not input -> gen part
208  chainDict['nowmTasklist'].append(copy.deepcopy(self.defaultScratch))
209  try:
210  chainDict['nowmTasklist'][-1]['nowmIO']=json.loads(open('%s/%s.io'%(dir,step)).read())
211  except:
212  print "Failed to find",'%s/%s.io'%(dir,step),".The workflows were probably not run on cfg not created"
213  return -15
214 
215  chainDict['nowmTasklist'][-1]['PrimaryDataset']='RelVal'+s[1].split('+')[0]
216  if not '--relval' in s[2][index]:
217  print 'Impossible to create task from scratch without splitting information with --relval'
218  return -12
219  else:
220  arg=s[2][index].split()
221  ns=map(int,arg[arg.index('--relval')+1].split(','))
222  chainDict['nowmTasklist'][-1]['RequestNumEvents'] = ns[0]
223  chainDict['nowmTasklist'][-1]['EventsPerJob'] = ns[1]
224  if 'FASTSIM' in s[2][index] or '--fast' in s[2][index]:
225  thisLabel+='_FastSim'
226  if 'lhe' in s[2][index] in s[2][index]:
227  chainDict['nowmTasklist'][-1]['LheInputFiles'] =True
228 
229  elif nextHasDSInput:
230  chainDict['nowmTasklist'].append(copy.deepcopy(self.defaultInput))
231  try:
232  chainDict['nowmTasklist'][-1]['nowmIO']=json.loads(open('%s/%s.io'%(dir,step)).read())
233  except:
234  print "Failed to find",'%s/%s.io'%(dir,step),".The workflows were probably not run on cfg not created"
235  return -15
236  chainDict['nowmTasklist'][-1]['InputDataset']=nextHasDSInput.dataSet
237  splitForThisWf=nextHasDSInput.split
238  chainDict['nowmTasklist'][-1]['LumisPerJob']=splitForThisWf
239  if step in wmsplit:
240  chainDict['nowmTasklist'][-1]['LumisPerJob']=wmsplit[step]
241  # get the run numbers or #events
242  if len(nextHasDSInput.run):
243  chainDict['nowmTasklist'][-1]['RunWhitelist']=nextHasDSInput.run
244  #print "what is s",s[2][index]
245  if '--data' in s[2][index] and nextHasDSInput.label:
246  thisLabel+='_RelVal_%s'%nextHasDSInput.label
247  if 'filter' in chainDict['nowmTasklist'][-1]['nowmIO']:
248  print "This has an input DS and a filter sequence: very likely to be the PyQuen sample"
249  processStrPrefix='PU_'
250  setPrimaryDs = 'RelVal'+s[1].split('+')[0]
251  if setPrimaryDs:
252  chainDict['nowmTasklist'][-1]['PrimaryDataset']=setPrimaryDs
253  nextHasDSInput=None
254  else:
255  #not first step and no inputDS
256  chainDict['nowmTasklist'].append(copy.deepcopy(self.defaultTask))
257  try:
258  chainDict['nowmTasklist'][-1]['nowmIO']=json.loads(open('%s/%s.io'%(dir,step)).read())
259  except:
260  print "Failed to find",'%s/%s.io'%(dir,step),".The workflows were probably not run on cfg not created"
261  return -15
262  if splitForThisWf:
263  chainDict['nowmTasklist'][-1]['LumisPerJob']=splitForThisWf
264  if step in wmsplit:
265  chainDict['nowmTasklist'][-1]['LumisPerJob']=wmsplit[step]
266 
267  #print step
268  chainDict['nowmTasklist'][-1]['TaskName']=step
269  if setPrimaryDs:
270  chainDict['nowmTasklist'][-1]['PrimaryDataset']=setPrimaryDs
271  chainDict['nowmTasklist'][-1]['ConfigCacheID']='%s/%s.py'%(dir,step)
272  chainDict['nowmTasklist'][-1]['GlobalTag']=chainDict['nowmTasklist'][-1]['nowmIO']['GT'] # copy to the proper parameter name
273  chainDict['GlobalTag']=chainDict['nowmTasklist'][-1]['nowmIO']['GT'] #set in general to the last one of the chain
274  if 'pileup' in chainDict['nowmTasklist'][-1]['nowmIO']:
275  chainDict['nowmTasklist'][-1]['MCPileup']=chainDict['nowmTasklist'][-1]['nowmIO']['pileup']
276  if '--pileup ' in s[2][index]: # catch --pileup (scenarion) and not --pileup_ (dataset to be mixed) => works also making PRE-MIXed dataset
277  processStrPrefix='PU_' # take care of pu overlay done with GEN-SIM mixing
278  if ( s[2][index].split()[ s[2][index].split().index('--pileup')+1 ] ).find('25ns') > 0 :
279  processStrPrefix='PU25ns_'
280  elif ( s[2][index].split()[ s[2][index].split().index('--pileup')+1 ] ).find('50ns') > 0 :
281  processStrPrefix='PU50ns_'
282  if 'DIGIPREMIX_S2' in s[2][index] : # take care of pu overlay done with DIGI mixing of premixed events
283  if s[2][index].split()[ s[2][index].split().index('--pileup_input')+1 ].find('25ns') > 0 :
284  processStrPrefix='PUpmx25ns_'
285  elif s[2][index].split()[ s[2][index].split().index('--pileup_input')+1 ].find('50ns') > 0 :
286  processStrPrefix='PUpmx50ns_'
287 
288  if acqEra:
289  #chainDict['AcquisitionEra'][step]=(chainDict['CMSSWVersion']+'-PU_'+chainDict['nowmTasklist'][-1]['GlobalTag']).replace('::All','')+thisLabel
290  chainDict['AcquisitionEra'][step]=chainDict['CMSSWVersion']
291  chainDict['ProcessingString'][step]=processStrPrefix+chainDict['nowmTasklist'][-1]['GlobalTag'].replace('::All','')+thisLabel
292  else:
293  #chainDict['nowmTasklist'][-1]['AcquisitionEra']=(chainDict['CMSSWVersion']+'-PU_'+chainDict['nowmTasklist'][-1]['GlobalTag']).replace('::All','')+thisLabel
294  chainDict['nowmTasklist'][-1]['AcquisitionEra']=chainDict['CMSSWVersion']
295  chainDict['nowmTasklist'][-1]['ProcessingString']=processStrPrefix+chainDict['nowmTasklist'][-1]['GlobalTag'].replace('::All','')+thisLabel
296 
297  index+=1
298  #end of loop through steps
299  chainDict['RequestString']='RV'+chainDict['CMSSWVersion']+s[1].split('+')[0]
300  if processStrPrefix or thisLabel:
301  chainDict['RequestString']+='_'+processStrPrefix+thisLabel
302 
303 
304 
305  #wrap up for this one
306  import pprint
307  #print 'wrapping up'
308  #pprint.pprint(chainDict)
309  #loop on the task list
310  for i_second in reversed(range(len(chainDict['nowmTasklist']))):
311  t_second=chainDict['nowmTasklist'][i_second]
312  #print "t_second taskname", t_second['TaskName']
313  if 'primary' in t_second['nowmIO']:
314  #print t_second['nowmIO']['primary']
315  primary=t_second['nowmIO']['primary'][0].replace('file:','')
316  for i_input in reversed(range(0,i_second)):
317  t_input=chainDict['nowmTasklist'][i_input]
318  for (om,o) in t_input['nowmIO'].items():
319  if primary in o:
320  #print "found",primary,"procuced by",om,"of",t_input['TaskName']
321  t_second['InputTask'] = t_input['TaskName']
322  t_second['InputFromOutputModule'] = om
323  #print 't_second',pprint.pformat(t_second)
324  if t_second['TaskName'].startswith('HARVEST'):
325  chainDict.update(copy.deepcopy(self.defaultHarvest))
326  chainDict['DQMConfigCacheID']=t_second['ConfigCacheID']
327  ## the info are not in the task specific dict but in the general dict
328  #t_input.update(copy.deepcopy(self.defaultHarvest))
329  #t_input['DQMConfigCacheID']=t_second['ConfigCacheID']
330  break
331 
332  ## there is in fact only one acquisition era
333  #if len(set(chainDict['AcquisitionEra'].values()))==1:
334  # print "setting only one acq"
335  if acqEra:
336  chainDict['AcquisitionEra'] = chainDict['AcquisitionEra'].values()[0]
337 
338  ## clean things up now
339  itask=0
340  if self.keep:
341  for i in self.keep:
342  if type(i)==int and i < len(chainDict['nowmTasklist']):
343  chainDict['nowmTasklist'][i]['KeepOutput']=True
344  for (i,t) in enumerate(chainDict['nowmTasklist']):
345  if t['TaskName'].startswith('HARVEST'):
346  continue
347  if not self.keep:
348  t['KeepOutput']=True
349  elif t['TaskName'] in self.keep:
350  t['KeepOutput']=True
351  t.pop('nowmIO')
352  itask+=1
353  chainDict['Task%d'%(itask)]=t
354 
355 
356  ##
357 
358 
359  ## provide the number of tasks
360  chainDict['TaskChain']=itask#len(chainDict['nowmTasklist'])
361 
362  chainDict.pop('nowmTasklist')
363  self.chainDicts[n]=chainDict
364 
365 
366  return 0
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
double split
Definition: MVATrainer.cc:139
def MatrixInjector.MatrixInjector.submit (   self)

Definition at line 414 of file MatrixInjector.py.

References MatrixInjector.MatrixInjector.testMode, and MatrixInjector.MatrixInjector.wmagent.

415  def submit(self):
416  try:
417  from modules.wma import makeRequest,approveRequest
418  from wmcontrol import random_sleep
419  print '\n\tFound wmcontrol\n'
420  except:
421  print '\n\tUnable to find wmcontrol modules. Please include it in your python path\n'
422  if not self.testMode:
423  print '\n\t QUIT\n'
424  sys.exit(-17)
425 
426  import pprint
427  for (n,d) in self.chainDicts.items():
428  if self.testMode:
429  print "Only viewing request",n
430  print pprint.pprint(d)
431  else:
432  #submit to wmagent each dict
433  print "For eyes before submitting",n
434  print pprint.pprint(d)
435  print "Submitting",n,"..........."
436  workFlow=makeRequest(self.wmagent,d,encodeDict=True)
437  approveRequest(self.wmagent,workFlow)
438  print "...........",n,"submitted"
439  random_sleep()
440 
441 
442 
def MatrixInjector.MatrixInjector.upload (   self)

Definition at line 394 of file MatrixInjector.py.

References MatrixInjector.MatrixInjector.uploadConf().

395  def upload(self):
396  for (n,d) in self.chainDicts.items():
397  for it in d:
398  if it.startswith("Task") and it!='TaskChain':
399  #upload
400  couchID=self.uploadConf(d[it]['ConfigCacheID'],
401  str(n)+d[it]['TaskName'],
402  d['CouchURL']
403  )
404  print d[it]['ConfigCacheID']," uploaded to couchDB for",str(n),"with ID",couchID
405  d[it]['ConfigCacheID']=couchID
406  if it =='DQMConfigCacheID':
407  couchID=self.uploadConf(d['DQMConfigCacheID'],
408  str(n)+'harvesting',
409  d['CouchURL']
410  )
411  print d['DQMConfigCacheID'],"uploaded to couchDB for",str(n),"with ID",couchID
412  d['DQMConfigCacheID']=couchID
413 
def MatrixInjector.MatrixInjector.uploadConf (   self,
  filePath,
  label,
  where 
)

Definition at line 367 of file MatrixInjector.py.

References MatrixInjector.MatrixInjector.couchCache, TmCcu.count, TmApvPair.count, TmModule.count, TmPsu.count, MatrixInjector.MatrixInjector.count, ValidationMisalignedTracker.count, SiStripDetSummary::Values.count, web_results_display.WebResultsDisplay.count, MD5.count, MatrixInjector.MatrixInjector.group, ElectronLikelihoodCategoryData.label, entry< T >.label, SiPixelFedFillerWordEventNumber.label, TtEvent::HypoClassKeyStringToEnum.label, HcalLutSet.label, DTDQMHarvesting.DTDQMHarvesting.label, DTVDriftMeanTimerCalibration.DTVDriftMeanTimerCalibration.label, DTVDriftSegmentCalibration.DTVDriftSegmentCalibration.label, DTDQMValidation.DTDQMValidation.label, DTAnalysisResiduals.DTAnalysisResiduals.label, L1GtBoardTypeStringToEnum.label, DTResidualCalibration.DTResidualCalibration.label, DTTTrigValid.DTTTrigValid.label, DTTTrigResidualCorr.DTTTrigResidualCorr.label, MatrixInjector.MatrixInjector.label, L1GtPsbQuadStringToEnum.label, ValidationMisalignedTracker.label, L1GtConditionTypeStringToEnum.label, L1GtConditionCategoryStringToEnum.label, PhysicsTools::Calibration::Comparator.label, conddblib.GlobalTagMap.label, MatrixInjector.MatrixInjector.testMode, EcalTPGParamReaderFromDB.user, popcon::RPCObPVSSmapData.user, popcon::RpcDataT.user, popcon::RpcObGasData.user, popcon::RpcDataV.user, popcon::RpcDataI.user, popcon::RpcDataGasMix.user, popcon::RpcDataFebmap.user, popcon::RpcDataUXC.user, popcon::RpcDataS.user, MatrixInjector.MatrixInjector.user, and conddblib.TimeType.user.

Referenced by MatrixInjector.MatrixInjector.upload().

368  def uploadConf(self,filePath,label,where):
369  labelInCouch=self.label+'_'+label
370  cacheName=filePath.split('/')[-1]
371  if self.testMode:
372  self.count+=1
373  print '\tFake upload of',filePath,'to couch with label',labelInCouch
374  return self.count
375  else:
376  try:
377  from modules.wma import upload_to_couch,DATABASE_NAME
378  except:
379  print '\n\tUnable to find wmcontrol modules. Please include it in your python path\n'
380  print '\n\t QUIT\n'
381  sys.exit(-16)
382 
383  if cacheName in self.couchCache:
384  print "Not re-uploading",filePath,"to",where,"for",label
385  cacheId=self.couchCache[cacheName]
386  else:
387  print "Loading",filePath,"to",where,"for",label
388  ## totally fork the upload to couch to prevent cross loading of process configurations
389  pool = multiprocessing.Pool(1)
390  cacheIds = pool.map( upload_to_couch_oneArg, [(filePath,labelInCouch,self.user,self.group,where)] )
391  cacheId = cacheIds[0]
392  self.couchCache[cacheName]=cacheId
393  return cacheId

Member Data Documentation

MatrixInjector.MatrixInjector.chainDicts

Definition at line 147 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.couch

Definition at line 62 of file MatrixInjector.py.

MatrixInjector.MatrixInjector.couchCache

Definition at line 64 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.uploadConf().

MatrixInjector.MatrixInjector.count

Definition at line 39 of file MatrixInjector.py.

Referenced by NodeCut.MatchLessSeen.match(), NodeCut.MatchLessHit.match(), and MatrixInjector.MatrixInjector.uploadConf().

MatrixInjector.MatrixInjector.defaultChain

Definition at line 81 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.defaultHarvest

Definition at line 107 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.defaultInput

Definition at line 125 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.defaultScratch

Definition at line 113 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.defaultTask

Definition at line 135 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.dqmgui

Definition at line 41 of file MatrixInjector.py.

MatrixInjector.MatrixInjector.group

Definition at line 66 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.uploadConf().

MatrixInjector.MatrixInjector.keep

Definition at line 51 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.label

Definition at line 67 of file MatrixInjector.py.

Referenced by Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor._sort_list(), python.rootplot.root2matplotlib.Hist.bar(), python.rootplot.root2matplotlib.Hist.barh(), python.rootplot.root2matplotlib.Hist.errorbar(), python.rootplot.root2matplotlib.Hist.errorbarh(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.foundIn(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.fullFilename(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.inputEventContent(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.outputEventContent(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ToolDataAccessor.properties(), Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor.properties(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.properties(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.readConnections(), core.AutoHandle.AutoHandle.ReallyLoad(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ToolDataAccessor.updateProcess(), MatrixInjector.MatrixInjector.uploadConf(), and Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.usedBy().

MatrixInjector.MatrixInjector.speciallabel

Definition at line 68 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.prepare().

MatrixInjector.MatrixInjector.testMode

Definition at line 49 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.submit(), and MatrixInjector.MatrixInjector.uploadConf().

MatrixInjector.MatrixInjector.user

Definition at line 65 of file MatrixInjector.py.

Referenced by cmsPerfSuite.PerfSuite.optionParse(), and MatrixInjector.MatrixInjector.uploadConf().

MatrixInjector.MatrixInjector.version

Definition at line 50 of file MatrixInjector.py.

Referenced by python.rootplot.argparse._VersionAction.__call__(), argparse.ArgumentParser.format_version(), and python.rootplot.argparse.ArgumentParser.format_version().

MatrixInjector.MatrixInjector.wmagent

Definition at line 42 of file MatrixInjector.py.

Referenced by MatrixInjector.MatrixInjector.submit().