CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes
ConfigBuilder.ConfigBuilder Class Reference
Inheritance diagram for ConfigBuilder.ConfigBuilder:

Classes

class  MassSearchReplaceProcessNameVisitor
 

Public Member Functions

def __init__
 
def addCommon
 
def addConditions
 
def addCustomise
 
def addExtraStream
 
def addMaxEvents
 
def addOutput
 
def addSource
 
def addStandardSequences
 
def anyOf
 
def build_production_info
 
def define_Configs
 
def doNotInlineEventContent
 
def doNotInlineEventContent
 
def executeAndRemember
 
def filesFromOption
 
def finalizeFastSimHLT
 
def loadAndRemember
 
def loadDefaultOrSpecifiedCFF
 
def prepare
 
def prepare_ALCA
 
def prepare_ALCAHARVEST
 
def prepare_ALCAOUTPUT
 
def prepare_ALCAPRODUCER
 
def prepare_CFWRITER
 
def prepare_DATAMIX
 
def prepare_DIGI
 
def prepare_DIGI2RAW
 
def prepare_DQM
 
def prepare_ENDJOB
 
def prepare_FASTSIM
 
def prepare_GEN
 
def prepare_HARVESTING
 
def prepare_HLT
 
def prepare_L1
 
def prepare_L1HwVal
 
def prepare_L1Reco
 
def prepare_POSTRECO
 
def prepare_RAW2DIGI
 
def prepare_RAW2RECO
 
def prepare_RECO
 
def prepare_REPACK
 
def prepare_SIM
 
def prepare_SKIM
 
def prepare_VALIDATION
 
def renameHLTprocessInSequence
 

Public Attributes

 addedObjects
 
 additionalCommands
 
 additionalOutputs
 
 ALCADefaultCFF
 
 ALCADefaultSeq
 
 ALCAHARVESTDefaultCFF
 
 ALCAHARVESTDefaultSeq
 
 blacklist_paths
 
 CFWRITERDefaultCFF
 
 CFWRITERDefaultSeq
 
 ConditionsDefaultCFF
 
 DATAMIXDefaultCFF
 
 DATAMIXDefaultSeq
 
 DIGI2RAWDefaultCFF
 
 DIGI2RAWDefaultSeq
 
 DIGIDefaultCFF
 
 DIGIDefaultSeq
 
 DQMDefaultSeq
 
 DQMOFFLINEDefaultCFF
 
 EDMtoMECFF
 
 ENDJOBDefaultCFF
 
 ENDJOBDefaultSeq
 
 eventcontent
 
 EVTCONTDefaultCFF
 
 FASTSIMDefaultSeq
 
 GENDefaultCFF
 
 GENDefaultSeq
 
 GeometryCFF
 
 HARVESTINGDefaultCFF
 
 HARVESTINGDefaultSeq
 
 HLTDefaultCFF
 
 HLTDefaultSeq
 
 imports
 
 L1DefaultSeq
 
 L1EMDefaultCFF
 
 L1HwValDefaultCFF
 
 L1HwValDefaultSeq
 
 L1MENUDefaultCFF
 
 L1RecoDefaultCFF
 
 L1RecoDefaultSeq
 
 magFieldCFF
 
 PATLayer0DefaultSeq
 
 POSTRECODefaultCFF
 
 POSTRECODefaultSeq
 
 process
 
 productionFilterSequence
 
 pythonCfgCode
 
 RAW2DIGIDefaultCFF
 
 RAW2DIGIDefaultSeq
 
 RAW2RECODefaultSeq
 
 RECODefaultCFF
 
 RECODefaultSeq
 
 REPACKDefaultCFF
 
 REPACKDefaultSeq
 
 schedule
 
 SIMDefaultCFF
 
 SIMDefaultSeq
 
 SKIMDefaultCFF
 
 stepMap
 
 VALIDATIONDefaultCFF
 
 VALIDATIONDefaultSeq
 
 with_input
 
 with_output
 

Static Public Attributes

list generatorModule = sys.modules[loadFragment]
 
 genModules = generatorModule.__dict__
 
tuple genSeqName = sequence.split('.')
 
 loadFailure = True
 
tuple loadFragment = self._options.evt_type.replace('.py','',)
 
string loadFragment = 'Configuration.Generator.'
 
dictionary mixingDict = {'file':pileupSpec}
 
list mixingDict = Mixing[pileupSpec]
 
tuple outDefDictStr = outDefDict.__str__()
 
tuple outList = eval(self._options.outputDefinition)
 
tuple output
 
tuple outputModule = getattr(self.process,theModuleLabel)
 
string outputModuleName = streamType+'output'
 
tuple path = getattr(self.process,theModuleLabel+'_step')
 
tuple pileupSpec = self._options.pileup.split(',')
 
tuple specialization = defineMixing(mixingDict,'FASTSIM' in self.stepMap)
 
list stepList = [re.sub(r'^prepare_', '', methodName) for methodName in ConfigBuilder.__dict__ if methodName.startswith('prepare_')]
 
list stepName = stepParts[0]
 
tuple stepParts = step.split(":")
 Benedikt can we add here a check that assure that we are going to generate a correct config file? i.e. More...
 
tuple streamTypes = self.eventcontent.split(',')
 
tuple theEventContent = cms.PSet(outputCommands = cms.untracked.vstring('keep *'))
 ends the –output options model More...
 
tuple theExtraOutputCommands = anyOf(['o','oC','outputCommands'],outDefDict,'')
 
tuple theFileName = self._options.dirout+anyOf(['fn','fileName'],outDefDict,theModuleLabel+'.root')
 
 theFileName = self._options.outfile_name
 
tuple theFilterName = anyOf(['f','ftN','filterName'],outDefDict,'')
 
string theFilterName = 'StreamALCACombined'
 
 theFilterName = self._options.filtername
 
tuple theModuleLabel = anyOf(['l','mL','moduleLabel'],outDefDict,'')
 
 theModuleLabel = name
 
tuple theObject = getattr(generatorModule,name)
 
tuple theSelectEvent = anyOf(['s','sE','selectEvents'],outDefDict,'')
 
tuple theStreamType = anyOf(['e','ec','eventContent','streamType'],outDefDict,theTier)
 event content More...
 
tuple theTier = anyOf(['t','tier','dataTier'],outDefDict)
 
tuple tiers = self._options.datatier.split(',')
 
list tryNames
 

Private Attributes

 _options
 

Detailed Description

The main building routines 

Definition at line 92 of file ConfigBuilder.py.

Constructor & Destructor Documentation

def ConfigBuilder.ConfigBuilder.__init__ (   self,
  options,
  process = None,
  with_output = False,
  with_input = False 
)
options taken from old cmsDriver and optparse 

Definition at line 95 of file ConfigBuilder.py.

95 
96  def __init__(self, options, process = None, with_output = False, with_input = False ):
97  """options taken from old cmsDriver and optparse """
98 
99  options.outfile_name = options.dirout+options.fileout
101  self._options = options
102 
103  if self._options.isData and options.isMC:
104  raise Exception("ERROR: You may specify only --data or --mc, not both")
105  if not self._options.conditions:
106  raise Exception("ERROR: No conditions given!\nPlease specify conditions. E.g. via --conditions=IDEAL_30X::All")
107 
108  # what steps are provided by this class?
109  stepList = [re.sub(r'^prepare_', '', methodName) for methodName in ConfigBuilder.__dict__ if methodName.startswith('prepare_')]
110  self.stepMap={}
111  for step in self._options.step.split(","):
112  if step=='': continue
113  stepParts = step.split(":")
114  stepName = stepParts[0]
115  if stepName not in stepList:
116  raise ValueError("Step "+stepName+" unknown")
117  if len(stepParts)==1:
118  self.stepMap[stepName]=""
119  elif len(stepParts)==2:
120  self.stepMap[stepName]=stepParts[1].split('+')
121  elif len(stepParts)==3:
122  self.stepMap[stepName]=(stepParts[2].split('+'),stepParts[1])
123  else:
124  raise ValueError("Step definition "+step+" invalid")
125  #print "map of steps is:",self.stepMap
127  self.with_output = with_output
128  if hasattr(self._options,"no_output_flag") and self._options.no_output_flag:
129  self.with_output = False
130  self.with_input = with_input
131  if process == None:
132  self.process = cms.Process(self._options.name)
133  else:
134  self.process = process
135  self.imports = []
137  self.schedule = list()
138 
139  # we are doing three things here:
140  # creating a process to catch errors
141  # building the code to re-create the process
143  self.additionalCommands = []
144  # TODO: maybe a list of to be dumped objects would help as well
145  self.blacklist_paths = []
146  self.addedObjects = []
147  self.additionalOutputs = {}
149  self.productionFilterSequence = None
150 
151 
double split
Definition: MVATrainer.cc:139
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run

Member Function Documentation

def ConfigBuilder.ConfigBuilder.addCommon (   self)

Definition at line 168 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

169  def addCommon(self):
170  if 'HARVESTING' in self.stepMap.keys() or 'ALCAHARVEST' in self.stepMap.keys():
171  self.process.options = cms.untracked.PSet( Rethrow = cms.untracked.vstring('ProductNotFound'),fileMode = cms.untracked.string('FULLMERGE'))
172  else:
173  self.process.options = cms.untracked.PSet( )
174  self.addedObjects.append(("","options"))
175 
176  if self._options.lazy_download:
177  self.process.AdaptorConfig = cms.Service("AdaptorConfig",
178  stats = cms.untracked.bool(True),
179  enable = cms.untracked.bool(True),
180  cacheHint = cms.untracked.string("lazy-download"),
181  readHint = cms.untracked.string("read-ahead-buffered")
182  )
183  self.addedObjects.append(("Setup lazy download","AdaptorConfig"))
184 
185  #self.process.cmsDriverCommand = cms.untracked.PSet( command=cms.untracked.string('cmsDriver.py '+self._options.arguments) )
186  #self.addedObjects.append(("what cmsDriver command was used","cmsDriverCommand"))
def ConfigBuilder.ConfigBuilder.addConditions (   self)
Add conditions to the process

Definition at line 478 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.ConditionsDefaultCFF, ConfigBuilder.ConfigBuilder.executeAndRemember(), join(), ConfigBuilder.ConfigBuilder.loadAndRemember(), and split.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

479  def addConditions(self):
480  """Add conditions to the process"""
481 
482  if 'auto:' in self._options.conditions:
483  from autoCond import autoCond
484  key=self._options.conditions.split(':')[-1]
485  if key not in autoCond:
486  raise Exception('no correspondance for '+self._options.conditions+'\n available keys are'+','.join(autoCond.keys()))
487  else:
488  self._options.conditions = autoCond[key]
489 
490  # the option can be a list of GT name and connection string
491 
492  #it is insane to keep this replace in: dependency on changes in DataProcessing
493  conditions = self._options.conditions.replace("FrontierConditions_GlobalTag,",'').split(',')
494  gtName = str( conditions[0] )
495  if len(conditions) > 1:
496  connect = str( conditions[1] )
497  if len(conditions) > 2:
498  pfnPrefix = str( conditions[2] )
499 
501 
502  # set the global tag
503  self.executeAndRemember("process.GlobalTag.globaltag = '%s'" % gtName)
504  if len(conditions) > 1:
505  self.executeAndRemember("process.GlobalTag.connect = '%s'" % connect)
506  if len(conditions) > 2:
507  self.executeAndRemember("process.GlobalTag.pfnPrefix = cms.untracked.string('%s')" % pfnPrefix)
508 
509  if self._options.custom_conditions!="":
510  specs=self._options.custom_conditions.split('+')
511  self.executeAndRemember("process.GlobalTag.toGet = cms.VPSet()")
512  for spec in specs:
513  # format Tag,Rcd,connect+Tag,Rcd+
514  spl=spec.split(',')
515  rcd=""
516  tag=""
517  connect=""
518  if len(spl)>=2:
519  tag=spl[0]
520  rcd=spl[1]
521  if len(spl)==3:
522  connect=spl[2]
523  else:
524  print "cannot interpret GT customisation from ",spec,"within",self._options.custom_conditions
525  raise
526 
527  # customise now
528  if connect=="":
529  self.executeAndRemember('process.GlobalTag.toGet.append(cms.PSet(record=cms.string("%s"),tag=cms.string("%s")))'%(rcd,tag))
530  else:
531  self.executeAndRemember('process.GlobalTag.toGet.append(cms.PSet(record=cms.string("%s"),tag=cms.string("%s"),connect=cms.untracked.string("%s")))'%(rcd,tag,connect))
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
double split
Definition: MVATrainer.cc:139
def ConfigBuilder.ConfigBuilder.addCustomise (   self)
Include the customise code 

Definition at line 532 of file ConfigBuilder.py.

References dbtoweb.file, and linker.replace().

533  def addCustomise(self):
534  """Include the customise code """
535 
536  custFiles=self._options.customisation_file.split(",")
537  for i in range(len(custFiles)):
538  custFiles[i]=custFiles[i].replace('.py','')
539  custFcn=self._options.cust_function.split(",")
540 
541  #do a check
542  if len(custFiles)!=len(custFcn) or self._options.cust_function=="":
543  custFcn=[]
544  custFilesNew=[]
545  #try to do something smart
546  for spec in custFiles:
547  spl=spec.split(".")
548  if len(spl)==2:
549  custFilesNew.append(spl[0])
550  custFcn.append(spl[1])
551  else:
552  custFilesNew.append(spl[0])
553  custFcn.append("customise")
554  custFiles=custFilesNew
555 
556  if custFcn.count("customise")>=2:
557  raise Exception("more than one customise function specified with name customise")
558 
559  if len(custFiles)==0:
560  final_snippet='\n'
561  else:
562  final_snippet='\n# customisation of the process\n'
563 
564  for test in custFcn:
565  if custFcn.count(test)!=1:
566  raise Exception("cannot specify twice "+test+" as a customisation method")
567 
568  for i,(f,fcn) in enumerate(zip(custFiles,custFcn)):
569  print "customising the process with",fcn,"from",f
570  # let python search for that package and do syntax checking at the same time
571  packageName = f.replace(".py","").replace("/",".")
572  __import__(packageName)
573  package = sys.modules[packageName]
574 
575  if not hasattr(package,fcn):
576  #bound to fail at run time
577  raise Exception("config "+f+" has no function "+fcn)
578 
579  # now ask the package for its definition and pick .py instead of .pyc
580  customiseFile = re.sub(r'\.pyc$', '.py', package.__file__)
581 
582  final_snippet+='\n\n# Automatic addition of the customisation function from '+packageName+'\n'
583  for line in file(customiseFile,'r'):
584  if "import FWCore.ParameterSet.Config" in line:
585  continue
586  final_snippet += line
587  final_snippet += "\n\nprocess = %s(process)\n"%(fcn,)
588 
589  final_snippet += '\n\n# End of customisation functions\n'
590 
591  return final_snippet
list file
Definition: dbtoweb.py:253
def replace
Definition: linker.py:10
def ConfigBuilder.ConfigBuilder.addExtraStream (   self,
  name,
  stream,
  workflow = 'full' 
)

Definition at line 765 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.additionalOutputs, ConfigBuilder.ConfigBuilder.doNotInlineEventContent(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, and ConfigBuilder.ConfigBuilder.process.

Referenced by ConfigBuilder.ConfigBuilder.prepare_ALCA(), and ConfigBuilder.ConfigBuilder.prepare_SKIM().

766  def addExtraStream(self,name,stream,workflow='full'):
767  # define output module and go from there
768  output = cms.OutputModule("PoolOutputModule")
769  if stream.selectEvents.parameters_().__len__()!=0:
770  output.SelectEvents = stream.selectEvents
771  else:
772  output.SelectEvents = cms.untracked.PSet()
773  output.SelectEvents.SelectEvents=cms.vstring()
774  if isinstance(stream.paths,tuple):
775  for path in stream.paths:
776  output.SelectEvents.SelectEvents.append(path.label())
777  else:
778  output.SelectEvents.SelectEvents.append(stream.paths.label())
779 
780 
781 
782  if isinstance(stream.content,str):
783  output.outputCommands = getattr(self.process,stream.content)
784  if not self._options.inlineEventContent:
785  def doNotInlineEventContent(instance,label = "process."+stream.content+".outputCommands"):
786  return label
787  output.outputCommands.__dict__["dumpPython"] = doNotInlineEventContent
788  else:
789  output.outputCommands = stream.content
790 
791 
792  output.fileName = cms.untracked.string(self._options.dirout+stream.name+'.root')
793 
794  output.dataset = cms.untracked.PSet( dataTier = stream.dataTier,
795  filterName = cms.untracked.string(stream.name))
796 
797  if self._options.filtername:
798  output.dataset.filterName= cms.untracked.string(self._options.filtername+"_"+stream.name)
799 
800  if workflow in ("producers,full"):
801  if isinstance(stream.paths,tuple):
802  for path in stream.paths:
803  self.schedule.append(path)
804  else:
805  self.schedule.append(stream.paths)
806 
807  # in case of relvals we don't want to have additional outputs
808  if (not self._options.relval) and workflow in ("full","output"):
809  self.additionalOutputs[name] = output
810  setattr(self.process,name,output)
811  if workflow == 'output':
812  # adjust the select events to the proper trigger results from previous process
813  filterList = output.SelectEvents.SelectEvents
814  for i, filter in enumerate(filterList):
815  filterList[i] = filter+":"+self._options.triggerResultsProcess
816 
def ConfigBuilder.ConfigBuilder.addMaxEvents (   self)
Here we decide how many evts will be processed

Definition at line 187 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

188  def addMaxEvents(self):
189  """Here we decide how many evts will be processed"""
190  self.process.maxEvents=cms.untracked.PSet(input=cms.untracked.int32(int(self._options.number)))
191  self.addedObjects.append(("","maxEvents"))
def ConfigBuilder.ConfigBuilder.addOutput (   self)
Add output module to the process 

Definition at line 268 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

269  def addOutput(self):
""" Add output module to the process """
def ConfigBuilder.ConfigBuilder.addSource (   self)
Here the source is built. Priority: file, generator

Definition at line 192 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

193  def addSource(self):
194  """Here the source is built. Priority: file, generator"""
195  self.addedObjects.append(("Input source","source"))
196 
def ConfigBuilder.ConfigBuilder.addStandardSequences (   self)
Add selected standard sequences to the process

Definition at line 411 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

412  def addStandardSequences(self):
413  """
414  Add selected standard sequences to the process
415  """
# load the pile up file
def ConfigBuilder.ConfigBuilder.anyOf (   listOfKeys,
  dict,
  opt = None 
)

Definition at line 279 of file ConfigBuilder.py.

References join().

280  def anyOf(listOfKeys,dict,opt=None):
281  for k in listOfKeys:
282  if k in dict:
283  toReturn=dict[k]
284  dict.pop(k)
285  return toReturn
286  if opt!=None:
287  return opt
288  else:
289  raise Exception("any of "+','.join(listOfKeys)+" are mandatory entries of --output options")
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def ConfigBuilder.ConfigBuilder.build_production_info (   self,
  evt_type,
  evtnumber 
)
Add useful info for the production. 

Definition at line 1406 of file ConfigBuilder.py.

1407  def build_production_info(self, evt_type, evtnumber):
1408  """ Add useful info for the production. """
1409  self.process.configurationMetadata=cms.untracked.PSet\
1410  (version=cms.untracked.string("$Revision: 1.284.2.4 $"),
1411  name=cms.untracked.string("PyReleaseValidation"),
1412  annotation=cms.untracked.string(evt_type+ " nevts:"+str(evtnumber))
1413  )
1414 
1415  self.addedObjects.append(("Production Info","configurationMetadata"))
1416 
def ConfigBuilder.ConfigBuilder.define_Configs (   self)

Definition at line 596 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadAndRemember().

597  def define_Configs(self):
598  if ( self._options.scenario not in defaultOptions.scenarioOptions):
599  print 'Invalid scenario provided. Options are:'
600  print defaultOptions.scenarioOptions
601  sys.exit(-1)
602 
603  self.loadAndRemember('Configuration/StandardSequences/Services_cff')
604  if self._options.particleTable not in defaultOptions.particleTableList:
605  print 'Invalid particle table provided. Options are:'
606  print defaultOptions.particleTable
607  sys.exit(-1)
608  else:
609  self.loadAndRemember('SimGeneral.HepPDTESSource.'+self._options.particleTable+'_cfi')
610 
611  self.loadAndRemember('FWCore/MessageService/MessageLogger_cfi')
613  self.ALCADefaultCFF="Configuration/StandardSequences/AlCaRecoStreams_cff"
614  self.GENDefaultCFF="Configuration/StandardSequences/Generator_cff"
615  self.SIMDefaultCFF="Configuration/StandardSequences/Sim_cff"
616  self.DIGIDefaultCFF="Configuration/StandardSequences/Digi_cff"
617  self.DIGI2RAWDefaultCFF="Configuration/StandardSequences/DigiToRaw_cff"
618  self.L1EMDefaultCFF='Configuration/StandardSequences/SimL1Emulator_cff'
619  self.L1MENUDefaultCFF="Configuration/StandardSequences/L1TriggerDefaultMenu_cff"
620  self.HLTDefaultCFF="Configuration/StandardSequences/HLTtable_cff"
621  self.RAW2DIGIDefaultCFF="Configuration/StandardSequences/RawToDigi_Data_cff"
622  self.L1RecoDefaultCFF="Configuration/StandardSequences/L1Reco_cff"
623  self.RECODefaultCFF="Configuration/StandardSequences/Reconstruction_cff"
624  self.SKIMDefaultCFF="Configuration/StandardSequences/Skims_cff"
625  self.POSTRECODefaultCFF="Configuration/StandardSequences/PostRecoGenerator_cff"
626  self.VALIDATIONDefaultCFF="Configuration/StandardSequences/Validation_cff"
627  self.L1HwValDefaultCFF = "Configuration/StandardSequences/L1HwVal_cff"
628  self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOffline_cff"
629  self.HARVESTINGDefaultCFF="Configuration/StandardSequences/Harvesting_cff"
630  self.ALCAHARVESTDefaultCFF="Configuration/StandardSequences/AlCaHarvesting_cff"
631  self.ENDJOBDefaultCFF="Configuration/StandardSequences/EndOfProcess_cff"
632  self.ConditionsDefaultCFF = "Configuration/StandardSequences/FrontierConditions_GlobalTag_cff"
633  self.CFWRITERDefaultCFF = "Configuration/StandardSequences/CrossingFrameWriter_cff"
634  self.REPACKDefaultCFF="Configuration/StandardSequences/DigiToRaw_Repack_cff"
635 
636  # synchronize the geometry configuration and the FullSimulation sequence to be used
637  if self._options.geometry not in defaultOptions.geometryExtendedOptions:
638  self.SIMDefaultCFF="Configuration/StandardSequences/SimIdeal_cff"
639 
640  if "DATAMIX" in self.stepMap.keys():
641  self.DATAMIXDefaultCFF="Configuration/StandardSequences/DataMixer"+self._options.datamix+"_cff"
642  self.DIGIDefaultCFF="Configuration/StandardSequences/DigiDM_cff"
643  self.DIGI2RAWDefaultCFF="Configuration/StandardSequences/DigiToRawDM_cff"
644  self.L1EMDefaultCFF='Configuration/StandardSequences/SimL1EmulatorDM_cff'
646  self.ALCADefaultSeq=None
647  self.SIMDefaultSeq=None
648  self.GENDefaultSeq='pgen'
649  self.DIGIDefaultSeq='pdigi'
651  self.DIGI2RAWDefaultSeq='DigiToRaw'
652  self.HLTDefaultSeq='GRun'
653  self.L1DefaultSeq=None
657  self.RAW2DIGIDefaultSeq='RawToDigi'
658  self.L1RecoDefaultSeq='L1Reco'
659  if 'RAW2DIGI' in self.stepMap and 'RECO' in self.stepMap:
660  self.RECODefaultSeq='reconstruction'
661  else:
662  self.RECODefaultSeq='reconstruction_fromRECO'
665  self.L1HwValDefaultSeq='L1HwVal'
666  self.DQMDefaultSeq='DQMOffline'
667  self.FASTSIMDefaultSeq='all'
670  self.ENDJOBDefaultSeq='endOfProcess'
671  self.REPACKDefaultSeq='DigiToRawRepack'
673  self.EVTCONTDefaultCFF="Configuration/EventContent/EventContent_cff"
674 
675  # if fastsim switch event content
676  if "FASTSIM" in self.stepMap.keys():
677  self.GENDefaultSeq='pgen_genonly'
678  self.EVTCONTDefaultCFF = "FastSimulation/Configuration/EventContent_cff"
679  self.VALIDATIONDefaultCFF = "FastSimulation.Configuration.Validation_cff"
680 
681  # if its MC then change the raw2digi
682  if self._options.isMC==True:
683  self.RAW2DIGIDefaultCFF="Configuration/StandardSequences/RawToDigi_cff"
684  self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOfflineMC_cff"
685  self.ALCADefaultCFF="Configuration/StandardSequences/AlCaRecoStreamsMC_cff"
686 
687  if hasattr(self._options,"isRepacked") and self._options.isRepacked:
688  self.RAW2DIGIDefaultCFF="Configuration/StandardSequences/RawToDigi_Repacked_cff"
689 
690  # now for #%#$#! different scenarios
691 
692  if self._options.scenario=='nocoll' or self._options.scenario=='cosmics':
693  self.SIMDefaultCFF="Configuration/StandardSequences/SimNOBEAM_cff"
694  self._options.beamspot='NoSmear'
695 
696  if self._options.scenario=='cosmics':
697  self.DIGIDefaultCFF="Configuration/StandardSequences/DigiCosmics_cff"
698  self.RECODefaultCFF="Configuration/StandardSequences/ReconstructionCosmics_cff"
699  self.SKIMDefaultCFF="Configuration/StandardSequences/SkimsCosmics_cff"
700  self.EVTCONTDefaultCFF="Configuration/EventContent/EventContentCosmics_cff"
701  self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOfflineCosmics_cff"
702  if self._options.isMC==True:
703  self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOfflineCosmicsMC_cff"
704  self.HARVESTINGDefaultCFF="Configuration/StandardSequences/HarvestingCosmics_cff"
705  self.RECODefaultSeq='reconstructionCosmics'
706  self.DQMDefaultSeq='DQMOfflineCosmics'
707  self.eventcontent='FEVT'
708 
709  if self._options.himix:
710  print "From the presence of the himix option, we have determined that this is heavy ions and will use '--scenario HeavyIons'."
711  self._options.scenario='HeavyIons'
712 
713  if self._options.scenario=='HeavyIons':
714  self.HLTDefaultSeq = 'HIon'
715  if not self._options.himix:
716  self.GENDefaultSeq='pgen_hi'
717  else:
718  self.GENDefaultSeq='pgen_himix'
719  self.VALIDATIONDefaultCFF="Configuration/StandardSequences/ValidationHeavyIons_cff"
720  self.VALIDATIONDefaultSeq=''
721  self.EVTCONTDefaultCFF="Configuration/EventContent/EventContentHeavyIons_cff"
722  self.RECODefaultCFF="Configuration/StandardSequences/ReconstructionHeavyIons_cff"
723  self.RECODefaultSeq='reconstructionHeavyIons'
724  self.ALCADefaultCFF = "Configuration/StandardSequences/AlCaRecoStreamsHeavyIons_cff"
725  self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOfflineHeavyIons_cff"
726  self.DQMDefaultSeq='DQMOfflineHeavyIons'
727  self.SKIMDefaultCFF="Configuration/StandardSequences/SkimsHeavyIons_cff"
728  self.HARVESTINGDefaultCFF="Configuration/StandardSequences/HarvestingHeavyIons_cff"
729  if self._options.isMC==True:
730  self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOfflineHeavyIonsMC_cff"
731 
734 
735 
736  # the magnetic field
737  self.magFieldCFF = 'Configuration/StandardSequences/MagneticField_'+self._options.magField.replace('.','')+'_cff'
738  self.magFieldCFF = self.magFieldCFF.replace("__",'_')
739 
740  # the geometry
741  if 'FASTSIM' in self.stepMap:
742  if 'start' in self._options.conditions.lower():
743  self.GeometryCFF='FastSimulation/Configuration/Geometries_START_cff'
744  else:
745  self.GeometryCFF='FastSimulation/Configuration/Geometries_MC_cff'
746  else:
747  if self._options.gflash==True:
748  self.GeometryCFF='Configuration/StandardSequences/Geometry'+self._options.geometry+'GFlash_cff'
749  else:
750  self.GeometryCFF='Configuration/StandardSequences/Geometry'+self._options.geometry+'_cff'
751 
# Mixing
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def ConfigBuilder.ConfigBuilder.doNotInlineEventContent (   instance,
  label = "cms.untracked.vstring(process."+theStreamType+"EventContent.outputCommands)" 
)

Definition at line 352 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.executeAndRemember(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, and split.

Referenced by ConfigBuilder.ConfigBuilder.addExtraStream(), and ConfigBuilder.ConfigBuilder.doNotInlineEventContent().

353  def doNotInlineEventContent(instance,label = "cms.untracked.vstring(process."+theStreamType+"EventContent.outputCommands)"):
return label
def ConfigBuilder.ConfigBuilder.doNotInlineEventContent (   instance,
  label = "process."+streamType+"EventContent.outputCommands" 
)

Definition at line 403 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.doNotInlineEventContent().

404  def doNotInlineEventContent(instance,label = "process."+streamType+"EventContent.outputCommands"):
return label
def ConfigBuilder.ConfigBuilder.executeAndRemember (   self,
  command 
)
helper routine to remember replace statements

Definition at line 161 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.addConditions(), ConfigBuilder.ConfigBuilder.doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.prepare_ALCAHARVEST(), ConfigBuilder.ConfigBuilder.prepare_FASTSIM(), ConfigBuilder.ConfigBuilder.prepare_HLT(), ConfigBuilder.ConfigBuilder.prepare_SIM(), and ConfigBuilder.ConfigBuilder.prepare_VALIDATION().

162  def executeAndRemember(self, command):
163  """helper routine to remember replace statements"""
164  self.additionalCommands.append(command)
165  if not command.strip().startswith("#"):
166  # substitute: process.foo = process.bar -> self.process.foo = self.process.bar
167  exec(command.replace("process.","self.process."))
def ConfigBuilder.ConfigBuilder.filesFromOption (   self)

Definition at line 197 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder._options, and ConfigBuilder.filesFromDASQuery().

198  def filesFromOption(self):
199  for entry in self._options.filein.split(','):
200  print "entry",entry
201  if entry.startswith("filelist:"):
202  filesFromList(entry[9:],self.process.source)
203  elif entry.startswith("dbs:") or entry.startswith("das:"):
204  filesFromDASQuery('file dataset = %s'%(entry[4:]),self.process.source)
205  else:
206  self.process.source.fileNames.append(self._options.dirin+entry)
207  if self._options.secondfilein:
208  if not hasattr(self.process.source,"secondaryFileNames"):
209  raise Exception("--secondfilein not compatible with "+self._options.filetype+"input type")
210  for entry in self._options.secondfilein.split(','):
211  print "entry",entry
212  if entry.startswith("filelist:"):
213  self.process.source.secondaryFileNames.extend((filesFromList(entry[9:]))[0])
214  elif entry.startswith("dbs:") or entry.startswith("das:"):
215  self.process.source.secondaryFileNames.extend((filesFromDASQuery('file dataset = %s'%(entry[4:])))[0])
216  else:
217  self.process.source.secondaryFileNames.append(self._options.dirin+entry)
218 
219  if self._options.filein or self._options.dasquery:
220  if self._options.filetype == "EDM":
221  self.process.source=cms.Source("PoolSource",
222  fileNames = cms.untracked.vstring(),
223  secondaryFileNames= cms.untracked.vstring())
224 
225  filesFromOption(self)
226  elif self._options.filetype == "LHE":
227  self.process.source=cms.Source("LHESource", fileNames = cms.untracked.vstring())
228 
229  #provided by article number
230  if self._options.filein.startswith("lhe:"):
231  print 'LHE input from article',self._options.filein
232  #list the article directory automatically
233  args=self._options.filein.split(':')
234  article=args[1]
235  location='/store/lhe/'
236  import os
237  textOfFiles=os.popen('cmsLHEtoEOSManager.py -l '+article)
238  for line in textOfFiles:
239  for fileName in [x for x in line.split() if '.lhe' in x]:
240  self.process.source.fileNames.append(location+article+'/'+fileName)
241  if len(args)>2:
242  self.process.source.skipEvents = cms.untracked.uint32(int(args[2]))
243  else:
244  self.process.source.fileNames=cms.untracked.vstring(self._options.filein)
245 
246 
247  if 'HARVESTING' in self.stepMap.keys() or 'ALCAHARVEST' in self.stepMap.keys():
248  self.process.source.processingMode = cms.untracked.string("RunsAndLumis")
def ConfigBuilder.ConfigBuilder.finalizeFastSimHLT (   self)

Definition at line 1358 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_FASTSIM(), and ConfigBuilder.ConfigBuilder.prepare_HLT().

1359  def finalizeFastSimHLT(self):
1360  self.process.reconstruction = cms.Path(self.process.reconstructionWithFamos)
1361  self.schedule.append(self.process.reconstruction)
def ConfigBuilder.ConfigBuilder.loadAndRemember (   self,
  includeFile 
)
helper routine to load am memorize imports

Definition at line 152 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.addConditions(), ConfigBuilder.ConfigBuilder.define_Configs(), ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), ConfigBuilder.ConfigBuilder.prepare(), ConfigBuilder.ConfigBuilder.prepare_ALCAHARVEST(), ConfigBuilder.ConfigBuilder.prepare_CFWRITER(), ConfigBuilder.ConfigBuilder.prepare_DATAMIX(), ConfigBuilder.ConfigBuilder.prepare_DIGI(), ConfigBuilder.ConfigBuilder.prepare_FASTSIM(), ConfigBuilder.ConfigBuilder.prepare_HLT(), ConfigBuilder.ConfigBuilder.prepare_L1(), ConfigBuilder.ConfigBuilder.prepare_POSTRECO(), ConfigBuilder.ConfigBuilder.prepare_SIM(), and ConfigBuilder.ConfigBuilder.prepare_VALIDATION().

153  def loadAndRemember(self, includeFile):
154  """helper routine to load am memorize imports"""
155  # we could make the imports a on-the-fly data method of the process instance itself
156  # not sure if the latter is a good idea
157  includeFile = includeFile.replace('/','.')
158  self.imports.append(includeFile)
159  self.process.load(includeFile)
160  return sys.modules[includeFile]
def ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF (   self,
  sequence,
  defaultCFF 
)

Definition at line 828 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadAndRemember().

Referenced by ConfigBuilder.ConfigBuilder.prepare_ALCA(), ConfigBuilder.ConfigBuilder.prepare_DIGI(), ConfigBuilder.ConfigBuilder.prepare_DIGI2RAW(), ConfigBuilder.ConfigBuilder.prepare_DQM(), ConfigBuilder.ConfigBuilder.prepare_ENDJOB(), ConfigBuilder.ConfigBuilder.prepare_L1HwVal(), ConfigBuilder.ConfigBuilder.prepare_L1Reco(), ConfigBuilder.ConfigBuilder.prepare_RAW2DIGI(), ConfigBuilder.ConfigBuilder.prepare_RAW2RECO(), ConfigBuilder.ConfigBuilder.prepare_RECO(), ConfigBuilder.ConfigBuilder.prepare_REPACK(), ConfigBuilder.ConfigBuilder.prepare_SKIM(), and ConfigBuilder.ConfigBuilder.prepare_VALIDATION().

829  def loadDefaultOrSpecifiedCFF(self, sequence,defaultCFF):
830  if ( len(sequence.split('.'))==1 ):
831  l=self.loadAndRemember(defaultCFF)
832  elif ( len(sequence.split('.'))==2 ):
833  l=self.loadAndRemember(sequence.split('.')[0])
834  sequence=sequence.split('.')[1]
835  else:
836  print "sub sequence configuration must be of the form dir/subdir/cff.a+b+c or cff.a"
837  print sequence,"not recognized"
838  raise
839  return l
def ConfigBuilder.ConfigBuilder.prepare (   self,
  doChecking = False 
)
Prepare the configuration string and add missing pieces.

Definition at line 1417 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.addCommon(), ConfigBuilder.ConfigBuilder.addConditions(), ConfigBuilder.ConfigBuilder.addMaxEvents(), ConfigBuilder.ConfigBuilder.addOutput(), ConfigBuilder.ConfigBuilder.addSource(), ConfigBuilder.ConfigBuilder.addStandardSequences(), ConfigBuilder.ConfigBuilder.EVTCONTDefaultCFF, ConfigBuilder.ConfigBuilder.loadAndRemember(), ConfigBuilder.ConfigBuilder.with_input, and ConfigBuilder.ConfigBuilder.with_output.

Referenced by addOnTests.StandardTester.runTests().

1418  def prepare(self, doChecking = False):
1419  """ Prepare the configuration string and add missing pieces."""
1420 
1421  self.addMaxEvents()
1422  if self.with_input:
1423  self.addSource()
1424  self.addStandardSequences()
1425  self.addConditions()
1426  self.loadAndRemember(self.EVTCONTDefaultCFF) #load the event contents regardless
1427 
1428  outputModuleCfgCode=""
1429  if not 'HARVESTING' in self.stepMap.keys() and not 'SKIM' in self.stepMap.keys() and not 'ALCAHARVEST' in self.stepMap.keys() and not 'ALCAOUTPUT' in self.stepMap.keys() and self.with_output:
1430  outputModuleCfgCode=self.addOutput()
1431 
1432  self.addCommon()
1434  self.pythonCfgCode = "# Auto generated configuration file\n"
1435  self.pythonCfgCode += "# using: \n# "+__version__[1:-1]+"\n# "+__source__[1:-1]+'\n'
1436  self.pythonCfgCode += "# with command line options: "+self._options.arguments+'\n'
1437  self.pythonCfgCode += "import FWCore.ParameterSet.Config as cms\n\n"
1438  self.pythonCfgCode += "process = cms.Process('"+self._options.name+"')\n\n"
1439 
1440  self.pythonCfgCode += "# import of standard configurations\n"
1441  for module in self.imports:
1442  self.pythonCfgCode += ("process.load('"+module+"')\n")
1443 
1444  # production info
1445  if not hasattr(self.process,"configurationMetadata"):
1446  self.build_production_info(self._options.evt_type, self._options.number)
1447  else:
1448  #the PSet was added via a load
1449  self.addedObjects.append(("Production Info","configurationMetadata"))
1450 
1451  self.pythonCfgCode +="\n"
1452  for comment,object in self.addedObjects:
1453  if comment!="":
1454  self.pythonCfgCode += "\n# "+comment+"\n"
1455  self.pythonCfgCode += dumpPython(self.process,object)
1456 
1457  # dump the output definition
1458  self.pythonCfgCode += "\n# Output definition\n"
1459  self.pythonCfgCode += outputModuleCfgCode
1460 
1461  # dump all additional outputs (e.g. alca or skim streams)
1462  self.pythonCfgCode += "\n# Additional output definition\n"
1463  #I do not understand why the keys are not normally ordered.
1464  nl=self.additionalOutputs.keys()
1465  nl.sort()
1466  for name in nl:
1467  output = self.additionalOutputs[name]
1468  self.pythonCfgCode += "process.%s = %s" %(name, output.dumpPython())
1469  tmpOut = cms.EndPath(output)
1470  setattr(self.process,name+'OutPath',tmpOut)
1471  self.schedule.append(tmpOut)
1472 
1473  # dump all additional commands
1474  self.pythonCfgCode += "\n# Other statements\n"
1475  for command in self.additionalCommands:
1476  self.pythonCfgCode += command + "\n"
1477 
1478  #comma separated list of objects that deserve to be inlined in the configuration (typically from a modified config deep down)
1479  for object in self._options.inlineObjets.split(','):
1480  if not object:
1481  continue
1482  if not hasattr(self.process,object):
1483  print 'cannot inline -'+object+'- : not known'
1484  else:
1485  self.pythonCfgCode +='\n'
1486  self.pythonCfgCode +=dumpPython(self.process,object)
1487 
1488  # dump all paths
1489  self.pythonCfgCode += "\n# Path and EndPath definitions\n"
1490  for path in self.process.paths:
1491  if getattr(self.process,path) not in self.blacklist_paths:
1492  self.pythonCfgCode += dumpPython(self.process,path)
1493  for endpath in self.process.endpaths:
1494  if getattr(self.process,endpath) not in self.blacklist_paths:
1495  self.pythonCfgCode += dumpPython(self.process,endpath)
1496 
1497  # dump the schedule
1498  self.pythonCfgCode += "\n# Schedule definition\n"
1499  result = "process.schedule = cms.Schedule("
1500 
1501  # handling of the schedule
1502  self.process.schedule = cms.Schedule()
1503  for item in self.schedule:
1504  if not isinstance(item, cms.Schedule):
1505  self.process.schedule.append(item)
1506  else:
1507  self.process.schedule.extend(item)
1508 
1509  if hasattr(self.process,"HLTSchedule"):
1510  beforeHLT = self.schedule[:self.schedule.index(self.process.HLTSchedule)]
1511  afterHLT = self.schedule[self.schedule.index(self.process.HLTSchedule)+1:]
1512  pathNames = ['process.'+p.label_() for p in beforeHLT]
1513  result += ','.join(pathNames)+')\n'
1514  result += 'process.schedule.extend(process.HLTSchedule)\n'
1515  pathNames = ['process.'+p.label_() for p in afterHLT]
1516  result += 'process.schedule.extend(['+','.join(pathNames)+'])\n'
1517  else:
1518  pathNames = ['process.'+p.label_() for p in self.schedule]
1519  result ='process.schedule = cms.Schedule('+','.join(pathNames)+')\n'
1520 
1521  self.pythonCfgCode += result
1522 
1523  # special treatment in case of production filter sequence 2/2
1524  if self.productionFilterSequence:
1525  self.pythonCfgCode +='# filter all path with the production filter sequence\n'
1526  self.pythonCfgCode +='for path in process.paths:\n'
1527  self.pythonCfgCode +='\tgetattr(process,path)._seq = process.%s * getattr(process,path)._seq \n'%(self.productionFilterSequence,)
1528 
1529  # dump customise fragment
1530  if self._options.customisation_file:
1531  self.pythonCfgCode += self.addCustomise()
1532  return
1533 
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def ConfigBuilder.ConfigBuilder.prepare_ALCA (   self,
  sequence = None,
  workflow = 'full' 
)
Enrich the process with alca streams 

Definition at line 840 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.addExtraStream(), ConfigBuilder.ConfigBuilder.ALCADefaultCFF, ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), and ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence().

Referenced by ConfigBuilder.ConfigBuilder.prepare_ALCAOUTPUT(), and ConfigBuilder.ConfigBuilder.prepare_ALCAPRODUCER().

841  def prepare_ALCA(self, sequence = None, workflow = 'full'):
842  """ Enrich the process with alca streams """
843  alcaConfig=self.loadDefaultOrSpecifiedCFF(sequence,self.ALCADefaultCFF)
844  sequence = sequence.split('.')[-1]
845 
846  # decide which ALCA paths to use
847  alcaList = []
848  for specifiedCommand in sequence.split("+"):
849  if specifiedCommand[0]=="@":
850  from Configuration.PyReleaseValidation.autoAlca import autoAlca
851  location=specifiedCommand[1:]
852  alcaSequence = autoAlca[location]
853  alcaList.extend(alcaSequence.split('+'))
854  else:
855  alcaList.append(specifiedCommand)
856 
857  for name in alcaConfig.__dict__:
858  alcastream = getattr(alcaConfig,name)
859  shortName = name.replace('ALCARECOStream','')
860  if shortName in alcaList and isinstance(alcastream,cms.FilteredStream):
861  self.addExtraStream(name,alcastream, workflow = workflow)
862  #rename the HLT process name in the alca modules
863  if self._options.hltProcess:
864  if isinstance(alcastream.paths,tuple):
865  for path in alcastream.paths:
866  self.renameHLTprocessInSequence(path.label(),self._options.hltProcess)
867  else:
868  self.renameHLTprocessInSequence(alcastream.paths.label(),self._options.hltProcess)
869  for i in range(alcaList.count(shortName)):
870  alcaList.remove(shortName)
871 
872  # DQM needs a special handling
873  elif name == 'pathALCARECODQM' and 'DQM' in alcaList:
874  path = getattr(alcaConfig,name)
875  self.schedule.append(path)
876  alcaList.remove('DQM')
877 
878  if isinstance(alcastream,cms.Path):
879  #black list the alca path so that they do not appear in the cfg
880  self.blacklist_paths.append(alcastream)
881 
882 
883  if len(alcaList) != 0:
884  available=[]
885  for name in alcaConfig.__dict__:
886  alcastream = getattr(alcaConfig,name)
887  if isinstance(alcastream,cms.FilteredStream):
888  available.append(name.replace('ALCARECOStream',''))
889  print "The following alcas could not be found "+str(alcaList)
890  print "available ",available
891  #print "verify your configuration, ignoring for now"
892  raise Exception("The following alcas could not be found "+str(alcaList))
def ConfigBuilder.ConfigBuilder.prepare_ALCAHARVEST (   self,
  sequence = None 
)
Enrich the process with AlCaHarvesting step 

Definition at line 1332 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.ALCAHARVESTDefaultCFF, ConfigBuilder.ConfigBuilder.executeAndRemember(), and ConfigBuilder.ConfigBuilder.loadAndRemember().

1333  def prepare_ALCAHARVEST(self, sequence = None):
1334  """ Enrich the process with AlCaHarvesting step """
1335  harvestingConfig = self.loadAndRemember(self.ALCAHARVESTDefaultCFF)
1336  sequence=sequence.split(".")[-1]
1337 
1338  # decide which AlcaHARVESTING paths to use
1339  harvestingList = sequence.split("+")
1340  for name in harvestingConfig.__dict__:
1341  harvestingstream = getattr(harvestingConfig,name)
1342  if name in harvestingList and isinstance(harvestingstream,cms.Path):
1343  self.schedule.append(harvestingstream)
1344  self.executeAndRemember("process.PoolDBOutputService.toPut.append(process.ALCAHARVEST" + name + "_dbOutput)")
1345  harvestingList.remove(name)
1346 
1347  if len(harvestingList) != 0 and 'dummyHarvesting' not in harvestingList :
1348  print "The following harvesting could not be found : ", harvestingList
1349  raise
1350 
1351 
def ConfigBuilder.ConfigBuilder.prepare_ALCAOUTPUT (   self,
  sequence = None 
)

Definition at line 825 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.prepare_ALCA().

826  def prepare_ALCAOUTPUT(self, sequence = None):
827  self.prepare_ALCA(sequence, workflow = "output")
def ConfigBuilder.ConfigBuilder.prepare_ALCAPRODUCER (   self,
  sequence = None 
)

Definition at line 822 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.prepare_ALCA().

823  def prepare_ALCAPRODUCER(self, sequence = None):
824  self.prepare_ALCA(sequence, workflow = "producers")
def ConfigBuilder.ConfigBuilder.prepare_CFWRITER (   self,
  sequence = None 
)
Enrich the schedule with the crossing frame writer step

Definition at line 992 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.CFWRITERDefaultCFF, and ConfigBuilder.ConfigBuilder.loadAndRemember().

993  def prepare_CFWRITER(self, sequence = None):
994  """ Enrich the schedule with the crossing frame writer step"""
996 
997  self.process.cfwriter_step = cms.Path(self.process.pcfw)
998  self.schedule.append(self.process.cfwriter_step)
999  return
def ConfigBuilder.ConfigBuilder.prepare_DATAMIX (   self,
  sequence = None 
)
Enrich the schedule with the digitisation step

Definition at line 1000 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.DATAMIXDefaultCFF, and ConfigBuilder.ConfigBuilder.loadAndRemember().

1001  def prepare_DATAMIX(self, sequence = None):
1002  """ Enrich the schedule with the digitisation step"""
1004  self.process.datamixing_step = cms.Path(self.process.pdatamix)
1005  self.schedule.append(self.process.datamixing_step)
1006  return
def ConfigBuilder.ConfigBuilder.prepare_DIGI (   self,
  sequence = None 
)
Enrich the schedule with the digitisation step

Definition at line 978 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.DIGIDefaultCFF, ConfigBuilder.ConfigBuilder.loadAndRemember(), ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, and ConfigBuilder.ConfigBuilder.process.

979  def prepare_DIGI(self, sequence = None):
980  """ Enrich the schedule with the digitisation step"""
981  self.loadDefaultOrSpecifiedCFF(sequence,self.DIGIDefaultCFF)
982 
983  if self._options.gflash==True:
984  self.loadAndRemember("Configuration/StandardSequences/GFlashDIGI_cff")
985 
986  if self._options.himix==True:
987  self.loadAndRemember("SimGeneral/MixingModule/himixDIGI_cff")
988 
989  self.process.digitisation_step = cms.Path(getattr(self.process,sequence.split('.')[-1]))
990  self.schedule.append(self.process.digitisation_step)
991  return
def ConfigBuilder.ConfigBuilder.prepare_DIGI2RAW (   self,
  sequence = None 
)

Definition at line 1007 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.DIGI2RAWDefaultCFF, ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, and ConfigBuilder.ConfigBuilder.process.

1008  def prepare_DIGI2RAW(self, sequence = None):
1009  self.loadDefaultOrSpecifiedCFF(sequence,self.DIGI2RAWDefaultCFF)
1010  self.process.digi2raw_step = cms.Path( getattr(self.process, sequence.split('.')[-1]) )
1011  self.schedule.append(self.process.digi2raw_step)
1012  return
def ConfigBuilder.ConfigBuilder.prepare_DQM (   self,
  sequence = 'DQMOffline' 
)

Definition at line 1273 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.DQMOFFLINEDefaultCFF, ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, ConfigBuilder.ConfigBuilder.process, and ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence().

1274  def prepare_DQM(self, sequence = 'DQMOffline'):
1275  # this one needs replacement
1276 
1278  sequence=sequence.split('.')[-1]
1279 
1280  if self._options.hltProcess:
1281  # if specified, change the process name used to acess the HLT results in the [HLT]DQM sequence
1282  self.renameHLTprocessInSequence(sequence, self._options.hltProcess)
1283  elif 'HLT' in self.stepMap.keys():
1284  # otherwise, if both HLT and DQM are run in the same process, change the DQM process name to the current process name
1285  self.renameHLTprocessInSequence(sequence, self.process.name_())
1286 
1287  # if both HLT and DQM are run in the same process, schedule [HLT]DQM in an EndPath
1288  if 'HLT' in self.stepMap.keys():
1289  # need to put [HLT]DQM in an EndPath, to access the HLT trigger results
1290  self.process.dqmoffline_step = cms.EndPath( getattr(self.process, sequence ) )
1291  else:
1292  # schedule DQM as a standard Path
1293  self.process.dqmoffline_step = cms.Path( getattr(self.process, sequence) )
1294  self.schedule.append(self.process.dqmoffline_step)
def ConfigBuilder.ConfigBuilder.prepare_ENDJOB (   self,
  sequence = 'endOfProcess' 
)

Definition at line 1352 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.ENDJOBDefaultCFF, ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, and ConfigBuilder.ConfigBuilder.process.

1353  def prepare_ENDJOB(self, sequence = 'endOfProcess'):
1354  self.loadDefaultOrSpecifiedCFF(sequence,self.ENDJOBDefaultCFF)
1355  sequence=sequence.split('.')[-1]
1356  self.process.endjob_step = cms.EndPath( getattr(self.process, sequence) )
1357  self.schedule.append(self.process.endjob_step)
def ConfigBuilder.ConfigBuilder.prepare_FASTSIM (   self,
  sequence = "all" 
)
Enrich the schedule with fastsim

Definition at line 1362 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.executeAndRemember(), ConfigBuilder.ConfigBuilder.finalizeFastSimHLT(), ConfigBuilder.ConfigBuilder.loadAndRemember(), ConfigBuilder.ConfigBuilder.prepare_HLT(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, and ConfigBuilder.ConfigBuilder.process.

1363  def prepare_FASTSIM(self, sequence = "all"):
1364  """Enrich the schedule with fastsim"""
1365  self.loadAndRemember("FastSimulation/Configuration/FamosSequences_cff")
1366 
1367  if sequence in ('all','allWithHLTFiltering',''):
1368  if not 'HLT' in self.stepMap.keys():
1369  self.prepare_HLT(sequence=None)
1370 
1371  self.executeAndRemember("process.famosSimHits.SimulateCalorimetry = True")
1372  self.executeAndRemember("process.famosSimHits.SimulateTracking = True")
1373 
1374  self.executeAndRemember("process.simulation = cms.Sequence(process.simulationWithFamos)")
1375  self.executeAndRemember("process.HLTEndSequence = cms.Sequence(process.reconstructionWithFamos)")
1376 
1377  # since we have HLT here, the process should be called HLT
1378  self._options.name = "HLT"
1379 
1380  # if we don't want to filter after HLT but simulate everything regardless of what HLT tells, we have to add reconstruction explicitly
1381  if sequence == 'all' and not 'HLT' in self.stepMap.keys(): #(a)
1382  self.finalizeFastSimHLT()
1383  elif sequence == 'famosWithEverything':
1384  self.process.fastsim_step = cms.Path( getattr(self.process, "famosWithEverything") )
1385  self.schedule.append(self.process.fastsim_step)
1386 
1387  # now the additional commands we need to make the config work
1388  self.executeAndRemember("process.VolumeBasedMagneticFieldESProducer.useParametrizedTrackerField = True")
1389  else:
1390  print "FastSim setting", sequence, "unknown."
1391  raise ValueError
1392 
1393  if 'Flat' in self._options.beamspot:
1394  beamspotType = 'Flat'
1395  elif 'Gauss' in self._options.beamspot:
1396  beamspotType = 'Gaussian'
1397  else:
1398  beamspotType = 'BetaFunc'
1399  self.loadAndRemember('IOMC.EventVertexGenerators.VtxSmearedParameters_cfi')
1400  beamspotName = 'process.%sVtxSmearingParameters' %(self._options.beamspot)
1401  self.executeAndRemember(beamspotName+'.type = cms.string("%s")'%(beamspotType))
1402  self.executeAndRemember('process.famosSimHits.VertexGenerator = '+beamspotName)
1403  self.executeAndRemember('process.famosPileUp.VertexGenerator = '+beamspotName)
1404 
1405 
def ConfigBuilder.ConfigBuilder.prepare_GEN (   self,
  sequence = None 
)
load the fragment of generator configuration 

Definition at line 893 of file ConfigBuilder.py.

894  def prepare_GEN(self, sequence = None):
""" load the fragment of generator configuration """
def ConfigBuilder.ConfigBuilder.prepare_HARVESTING (   self,
  sequence = None 
)
Enrich the process with harvesting step 

Definition at line 1295 of file ConfigBuilder.py.

1296  def prepare_HARVESTING(self, sequence = None):
1297  """ Enrich the process with harvesting step """
1298  self.EDMtoMECFF='Configuration/StandardSequences/EDMtoME'+self._options.harvesting+'_cff'
1299  self.loadAndRemember(self.EDMtoMECFF)
1300  self.process.edmtome_step = cms.Path(self.process.EDMtoME)
1301  self.schedule.append(self.process.edmtome_step)
1302 
1303  harvestingConfig = self.loadDefaultOrSpecifiedCFF(sequence,self.HARVESTINGDefaultCFF)
1304  sequence = sequence.split('.')[-1]
1305 
1306  # decide which HARVESTING paths to use
1307  harvestingList = sequence.split("+")
1308  for name in harvestingConfig.__dict__:
1309  harvestingstream = getattr(harvestingConfig,name)
1310  if name in harvestingList and isinstance(harvestingstream,cms.Path):
1311  self.schedule.append(harvestingstream)
1312  harvestingList.remove(name)
1313  if name in harvestingList and isinstance(harvestingstream,cms.Sequence):
1314  setattr(self.process,name+"_step",cms.Path(harvestingstream))
1315  self.schedule.append(getattr(self.process,name+"_step"))
1316  harvestingList.remove(name)
1317  if isinstance(harvestingstream,cms.Path):
1318  self.blacklist_paths.append(harvestingstream)
1319 
1320 
1321  # This if statment must disappears once some config happens in the alca harvesting step
1322  if 'alcaHarvesting' in harvestingList:
1323  harvestingList.remove('alcaHarvesting')
1324 
1325  if len(harvestingList) != 0 and 'dummyHarvesting' not in harvestingList :
1326  print "The following harvesting could not be found : ", harvestingList
1327  raise
1328 
1329  self.process.dqmsave_step = cms.Path(self.process.DQMSaver)
1330  self.schedule.append(self.process.dqmsave_step)
1331 
def ConfigBuilder.ConfigBuilder.prepare_HLT (   self,
  sequence = None 
)
Enrich the schedule with the HLT simulation step

Definition at line 1032 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.executeAndRemember(), ConfigBuilder.ConfigBuilder.finalizeFastSimHLT(), join(), and ConfigBuilder.ConfigBuilder.loadAndRemember().

Referenced by ConfigBuilder.ConfigBuilder.prepare_FASTSIM().

1033  def prepare_HLT(self, sequence = None):
1034  """ Enrich the schedule with the HLT simulation step"""
1035  loadDir='HLTrigger'
1036  fastSim=False
1037  if 'FASTSIM' in self.stepMap.keys():
1038  fastSim=True
1039  loadDir='FastSimulation'
1040  if not sequence:
1041  print "no specification of the hlt menu has been given, should never happen"
1042  raise Exception('no HLT sequence provided')
1043  else:
1044  if ',' in sequence:
1045  #case where HLT:something:something was provided
1046  self.executeAndRemember('import HLTrigger.Configuration.Utilities')
1047  optionsForHLT = {}
1048  optionsForHLT['data'] = self._options.isData
1049  optionsForHLT['type'] = 'GRun'
1050  if self._options.scenario == 'HeavyIons': optionsForHLT['type'] = 'HIon'
1051  optionsForHLTConfig = ', '.join('%s=%s' % (key, repr(val)) for (key, val) in optionsForHLT.iteritems())
1052  self.executeAndRemember('process.loadHltConfiguration("%s",%s)'%(sequence.replace(',',':'),optionsForHLTConfig))
1053  else:
1054  dataSpec=''
1055  if self._options.isData:
1056  dataSpec='_data'
1057  self.loadAndRemember('%s/Configuration/HLT_%s%s_cff'%(loadDir,sequence,dataSpec))
1058 
1059  self.schedule.append(self.process.HLTSchedule)
1060  [self.blacklist_paths.append(path) for path in self.process.HLTSchedule if isinstance(path,(cms.Path,cms.EndPath))]
1061  if (fastSim and 'HLT' in self.stepMap.keys()):
1062  self.finalizeFastSimHLT()
1063 
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def ConfigBuilder.ConfigBuilder.prepare_L1 (   self,
  sequence = None 
)
Enrich the schedule with the L1 simulation step

Definition at line 1019 of file ConfigBuilder.py.

References ConfigBuilder.getConfigsForScenario(), ConfigBuilder.ConfigBuilder.L1EMDefaultCFF, and ConfigBuilder.ConfigBuilder.loadAndRemember().

1020  def prepare_L1(self, sequence = None):
1021  """ Enrich the schedule with the L1 simulation step"""
1022  if not sequence:
1023  self.loadAndRemember(self.L1EMDefaultCFF)
1024  else:
1025  # let the L1 package decide for the scenarios available
1026  from L1Trigger.Configuration.ConfigBuilder import getConfigsForScenario
1027  listOfImports = getConfigsForScenario(sequence)
1028  for file in listOfImports:
1029  self.loadAndRemember(file)
1030  self.process.L1simulation_step = cms.Path(self.process.SimL1Emulator)
1031  self.schedule.append(self.process.L1simulation_step)
def getConfigsForScenario
def ConfigBuilder.ConfigBuilder.prepare_L1HwVal (   self,
  sequence = 'L1HwVal' 
)
Enrich the schedule with L1 HW validation 

Definition at line 1086 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.L1HwValDefaultCFF, ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, and ConfigBuilder.ConfigBuilder.process.

1087  def prepare_L1HwVal(self, sequence = 'L1HwVal'):
1088  ''' Enrich the schedule with L1 HW validation '''
1089  self.loadDefaultOrSpecifiedCFF(sequence,self.L1HwValDefaultCFF)
1090  self.process.l1hwval_step = cms.Path( getattr(self.process, sequence.split('.')[-1]) )
1091  self.schedule.append( self.process.l1hwval_step )
1092  return
def ConfigBuilder.ConfigBuilder.prepare_L1Reco (   self,
  sequence = "L1Reco" 
)
Enrich the schedule with L1 reconstruction 

Definition at line 1093 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.L1RecoDefaultCFF, ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, DTTTrigValid.DTTTrigValid.process, and ConfigBuilder.ConfigBuilder.process.

1094  def prepare_L1Reco(self, sequence = "L1Reco"):
1095  ''' Enrich the schedule with L1 reconstruction '''
1096  self.loadDefaultOrSpecifiedCFF(sequence,self.L1RecoDefaultCFF)
1097  self.process.L1Reco_step = cms.Path( getattr(self.process, sequence.split('.')[-1]) )
1098  self.schedule.append(self.process.L1Reco_step)
1099  return
def ConfigBuilder.ConfigBuilder.prepare_POSTRECO (   self,
  sequence = None 
)
Enrich the schedule with the postreco step 

Definition at line 1157 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadAndRemember(), and ConfigBuilder.ConfigBuilder.POSTRECODefaultCFF.

1158  def prepare_POSTRECO(self, sequence = None):
1159  """ Enrich the schedule with the postreco step """
1161  self.process.postreco_step = cms.Path( self.process.postreco_generator )
1162  self.schedule.append(self.process.postreco_step)
1163  return
1164 
def ConfigBuilder.ConfigBuilder.prepare_RAW2DIGI (   self,
  sequence = "RawToDigi" 
)

Definition at line 1080 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, and ConfigBuilder.ConfigBuilder.RAW2DIGIDefaultCFF.

1081  def prepare_RAW2DIGI(self, sequence = "RawToDigi"):
1082  self.loadDefaultOrSpecifiedCFF(sequence,self.RAW2DIGIDefaultCFF)
1083  self.process.raw2digi_step = cms.Path( getattr(self.process, sequence.split('.')[-1]) )
1084  self.schedule.append(self.process.raw2digi_step)
1085  return
def ConfigBuilder.ConfigBuilder.prepare_RAW2RECO (   self,
  sequence = None 
)

Definition at line 1064 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, ConfigBuilder.ConfigBuilder.RAW2DIGIDefaultCFF, and ConfigBuilder.ConfigBuilder.RECODefaultCFF.

1065  def prepare_RAW2RECO(self, sequence = None):
1066  if ','in sequence:
1067  seqReco=sequence.split(',')[1]
1068  seqDigi=sequence.split(',')[0]
1069  else:
1070  print "RAW2RECO requires two specifications",sequence,"insufficient"
1071 
1073  self.process.raw2digi_step = cms.Path( getattr(self.process, seqDigi.split('.')[-1]) )
1074  self.schedule.append(self.process.raw2digi_step)
1075 
1076  self.loadDefaultOrSpecifiedCFF(seqReco,self.RECODefaultCFF)
1077  self.process.reconstruction_step = cms.Path( getattr(self.process, seqReco.split('.')[-1]) )
1078  self.schedule.append(self.process.reconstruction_step)
1079  return
def ConfigBuilder.ConfigBuilder.prepare_RECO (   self,
  sequence = "reconstruction" 
)
Enrich the schedule with reconstruction 

Definition at line 1100 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, and ConfigBuilder.ConfigBuilder.RECODefaultCFF.

1101  def prepare_RECO(self, sequence = "reconstruction"):
1102  ''' Enrich the schedule with reconstruction '''
1103  self.loadDefaultOrSpecifiedCFF(sequence,self.RECODefaultCFF)
1104  self.process.reconstruction_step = cms.Path( getattr(self.process, sequence.split('.')[-1]) )
1105  self.schedule.append(self.process.reconstruction_step)
1106  return
def ConfigBuilder.ConfigBuilder.prepare_REPACK (   self,
  sequence = None 
)

Definition at line 1013 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, and ConfigBuilder.ConfigBuilder.REPACKDefaultCFF.

1014  def prepare_REPACK(self, sequence = None):
1015  self.loadDefaultOrSpecifiedCFF(sequence,self.REPACKDefaultCFF)
1016  self.process.digi2repack_step = cms.Path( getattr(self.process, sequence.split('.')[-1]) )
1017  self.schedule.append( self.process.digi2repack_step )
1018  return
def ConfigBuilder.ConfigBuilder.prepare_SIM (   self,
  sequence = None 
)
Enrich the schedule with the summary of the filter step 
Enrich the schedule with the simulation step

Definition at line 959 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.executeAndRemember(), ConfigBuilder.ConfigBuilder.loadAndRemember(), and ConfigBuilder.ConfigBuilder.SIMDefaultCFF.

960  def prepare_SIM(self, sequence = None):
961  """ Enrich the schedule with the simulation step"""
962  self.loadAndRemember(self.SIMDefaultCFF)
963  if self._options.gflash==True:
964  self.loadAndRemember("Configuration/StandardSequences/GFlashSIM_cff")
965 
966  if self._options.magField=='0T':
967  self.executeAndRemember("process.g4SimHits.UseMagneticField = cms.bool(False)")
968 
969  if self._options.himix==True:
970  if self._options.geometry in defaultOptions.geometryExtendedOptions:
971  self.loadAndRemember("SimGeneral/MixingModule/himixSIMExtended_cff")
972  else:
973  self.loadAndRemember("SimGeneral/MixingModule/himixSIMIdeal_cff")
974 
975  self.process.simulation_step = cms.Path( self.process.psim )
976  self.schedule.append(self.process.simulation_step)
977  return
def ConfigBuilder.ConfigBuilder.prepare_SKIM (   self,
  sequence = "all" 
)
Enrich the schedule with skimming fragments

Definition at line 1107 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.addExtraStream(), ConfigBuilder.ConfigBuilder.EVTCONTDefaultCFF, join(), ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), and ConfigBuilder.ConfigBuilder.SKIMDefaultCFF.

1108  def prepare_SKIM(self, sequence = "all"):
1109  ''' Enrich the schedule with skimming fragments'''
1110  skimConfig = self.loadDefaultOrSpecifiedCFF(sequence,self.SKIMDefaultCFF)
1111  sequence = sequence.split('.')[-1]
1112 
1113  skimlist=[]
1114  ## support @Mu+DiJet+@Electron configuration via autoSkim.py
1115  for specifiedCommand in sequence.split('+'):
1116  if specifiedCommand[0]=="@":
1117  from Configuration.Skimming.autoSkim import autoSkim
1118  location=specifiedCommand[1:]
1119  skimSequence = autoSkim[location]
1120  skimlist.extend(skimSequence.split('+'))
1121  else:
1122  skimlist.append(specifiedCommand)
1123 
1124  #print "dictionnary for skims:",skimConfig.__dict__
1125  for skim in skimConfig.__dict__:
1126  skimstream = getattr(skimConfig,skim)
1127  if isinstance(skimstream,cms.Path):
1128  #black list the alca path so that they do not appear in the cfg
1129  self.blacklist_paths.append(skimstream)
1130  if (not isinstance(skimstream,cms.FilteredStream)):
1131  continue
1132  shortname = skim.replace('SKIMStream','')
1133  if (sequence=="all"):
1134  self.addExtraStream(skim,skimstream)
1135  elif (shortname in skimlist):
1136  self.addExtraStream(skim,skimstream)
1137  #add a DQM eventcontent for this guy
1138  if self._options.datatier!="":
1139  self.process.load(self.EVTCONTDefaultCFF)
1140  skimstreamDQM = cms.FilteredStream(
1141  responsible = skimstream.responsible,
1142  name = skimstream.name+'DQM',
1143  paths = skimstream.paths,
1144  selectEvents = skimstream.selectEvents,
1145  content = self._options.datatier+'EventContent',
1146  dataTier = cms.untracked.string(self._options.datatier)
1147  )
1148  self.addExtraStream(skim+'DQM',skimstreamDQM)
1149  for i in range(skimlist.count(shortname)):
1150  skimlist.remove(shortname)
1151 
1152 
1153 
1154  if (skimlist.__len__()!=0 and sequence!="all"):
1155  print 'WARNING, possible typo with SKIM:'+'+'.join(skimlist)
1156  raise Exception('WARNING, possible typo with SKIM:'+'+'.join(skimlist))
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def ConfigBuilder.ConfigBuilder.prepare_VALIDATION (   self,
  sequence = 'validation' 
)

Definition at line 1165 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.executeAndRemember(), ConfigBuilder.ConfigBuilder.loadAndRemember(), ConfigBuilder.ConfigBuilder.loadDefaultOrSpecifiedCFF(), DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder.stepMap, and ConfigBuilder.ConfigBuilder.VALIDATIONDefaultCFF.

1166  def prepare_VALIDATION(self, sequence = 'validation'):
1168  #in case VALIDATION:something:somethingelse -> something,somethingelse
1169  sequence=sequence.split('.')[-1]
1170  if sequence.find(',')!=-1:
1171  prevalSeqName=sequence.split(',')[0]
1172  valSeqName=sequence.split(',')[1]
1173  else:
1174  postfix=''
1175  if sequence:
1176  postfix='_'+sequence
1177  prevalSeqName='prevalidation'+postfix
1178  valSeqName='validation'+postfix
1179  if not hasattr(self.process,valSeqName):
1180  prevalSeqName=''
1181  valSeqName=sequence
1182 
1183  if not 'DIGI' in self.stepMap and not 'FASTSIM' in self.stepMap:
1184  self.loadAndRemember('Configuration.StandardSequences.ReMixingSeeds_cff')
1185  #rename the HLT process in validation steps
1186  if 'HLT' in self.stepMap and not 'FASTSIM' in self.stepMap:
1187  toProcess=self.process.name_()
1188  if self._options.hltProcess:
1189  toProcess=self._options.hltProcess
1190  self.renameHLTprocessInSequence(valSeqName, toProcess)
1191  if prevalSeqName:
1192  self.renameHLTprocessInSequence(prevalSeqName, toProcess)
1193 
1194  if prevalSeqName:
1195  self.process.prevalidation_step = cms.Path( getattr(self.process, prevalSeqName ) )
1196  self.schedule.append(self.process.prevalidation_step)
1197  if valSeqName.startswith('genvalid'):
1198  self.loadAndRemember("IOMC.RandomEngine.IOMC_cff")
1199  self.process.validation_step = cms.Path( getattr(self.process,valSeqName ) )
1200  else:
1201  self.process.validation_step = cms.EndPath( getattr(self.process,valSeqName ) )
1202  self.schedule.append(self.process.validation_step)
1203 
1204 
1205  if not 'DIGI' in self.stepMap:
1206  self.executeAndRemember("process.mix.playback = True")
1207  return
1208 
def ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence (   self,
  sequence,
  proc,
  HLTprocess = 'HLT' 
)

Definition at line 1264 of file ConfigBuilder.py.

References ConfigBuilder.ConfigBuilder.additionalCommands, DTValidSummary.DTValidSummary.process, DTDqm.DTDqm.process, DTTTrigCorrFirst.DTTTrigCorrFirst.process, DTTTrigProd.DTTTrigProd.process, DTTTrigValid.DTTTrigValid.process, DTTTrigResidualCorr.DTTTrigResidualCorr.process, ConfigBuilder.ConfigBuilder.process, and cmsPerfHarvest.visit().

Referenced by ConfigBuilder.ConfigBuilder.prepare_ALCA(), ConfigBuilder.ConfigBuilder.prepare_DQM(), and ConfigBuilder.ConfigBuilder.prepare_VALIDATION().

1265  def renameHLTprocessInSequence(self,sequence,proc,HLTprocess='HLT'):
1266  # look up all module in dqm sequence
1267  print "replacing %s process name - sequence %s will use '%s'" % (HLTprocess,sequence, proc)
1268  getattr(self.process,sequence).visit(ConfigBuilder.MassSearchReplaceProcessNameVisitor(HLTprocess,proc,whitelist = ("subSystemFolder",)))
1269  if 'from Configuration.PyReleaseValidation.ConfigBuilder import ConfigBuilder' not in self.additionalCommands:
1270  self.additionalCommands.append('from Configuration.PyReleaseValidation.ConfigBuilder import ConfigBuilder')
1271  self.additionalCommands.append('process.%s.visit(ConfigBuilder.MassSearchReplaceProcessNameVisitor("%s", "%s", whitelist = ("subSystemFolder",)))'% (sequence,HLTprocess, proc))
1272 
def visit
Retrieve data from a perf suite output (sub) directory, only examines TimeSize at the moment...

Member Data Documentation

ConfigBuilder.ConfigBuilder._options
private

Definition at line 100 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.filesFromOption().

ConfigBuilder.ConfigBuilder.addedObjects

Definition at line 145 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.additionalCommands

Definition at line 142 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence().

ConfigBuilder.ConfigBuilder.additionalOutputs

Definition at line 146 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.addExtraStream().

ConfigBuilder.ConfigBuilder.ALCADefaultCFF

Definition at line 612 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_ALCA().

ConfigBuilder.ConfigBuilder.ALCADefaultSeq

Definition at line 645 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.ALCAHARVESTDefaultCFF

Definition at line 629 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_ALCAHARVEST().

ConfigBuilder.ConfigBuilder.ALCAHARVESTDefaultSeq

Definition at line 654 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.blacklist_paths

Definition at line 144 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.CFWRITERDefaultCFF

Definition at line 632 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_CFWRITER().

ConfigBuilder.ConfigBuilder.CFWRITERDefaultSeq

Definition at line 655 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.ConditionsDefaultCFF

Definition at line 631 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.addConditions().

ConfigBuilder.ConfigBuilder.DATAMIXDefaultCFF

Definition at line 640 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_DATAMIX().

ConfigBuilder.ConfigBuilder.DATAMIXDefaultSeq

Definition at line 649 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.DIGI2RAWDefaultCFF

Definition at line 616 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_DIGI2RAW().

ConfigBuilder.ConfigBuilder.DIGI2RAWDefaultSeq

Definition at line 650 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.DIGIDefaultCFF

Definition at line 615 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_DIGI().

ConfigBuilder.ConfigBuilder.DIGIDefaultSeq

Definition at line 648 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.DQMDefaultSeq

Definition at line 665 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.DQMOFFLINEDefaultCFF

Definition at line 627 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_DQM().

ConfigBuilder.ConfigBuilder.EDMtoMECFF

Definition at line 1297 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.ENDJOBDefaultCFF

Definition at line 630 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_ENDJOB().

ConfigBuilder.ConfigBuilder.ENDJOBDefaultSeq

Definition at line 669 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.eventcontent

Definition at line 706 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.EVTCONTDefaultCFF

Definition at line 672 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare(), and ConfigBuilder.ConfigBuilder.prepare_SKIM().

ConfigBuilder.ConfigBuilder.FASTSIMDefaultSeq

Definition at line 666 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.GENDefaultCFF

Definition at line 613 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.GENDefaultSeq

Definition at line 647 of file ConfigBuilder.py.

list ConfigBuilder.ConfigBuilder.generatorModule = sys.modules[loadFragment]
static

Definition at line 913 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.genModules = generatorModule.__dict__
static

Definition at line 914 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.genSeqName = sequence.split('.')
static
Enrich the schedule with the rest of the generation step 

Definition at line 936 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.GeometryCFF

Definition at line 742 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.HARVESTINGDefaultCFF

Definition at line 628 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.HARVESTINGDefaultSeq

Definition at line 653 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.HLTDefaultCFF

Definition at line 619 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.HLTDefaultSeq

Definition at line 651 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.imports

Definition at line 134 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.L1DefaultSeq

Definition at line 652 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.L1EMDefaultCFF

Definition at line 617 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_L1().

ConfigBuilder.ConfigBuilder.L1HwValDefaultCFF

Definition at line 626 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_L1HwVal().

ConfigBuilder.ConfigBuilder.L1HwValDefaultSeq

Definition at line 664 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.L1MENUDefaultCFF

Definition at line 618 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.L1RecoDefaultCFF

Definition at line 621 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_L1Reco().

ConfigBuilder.ConfigBuilder.L1RecoDefaultSeq

Definition at line 657 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.loadFailure = True
static

Definition at line 908 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.loadFragment = self._options.evt_type.replace('.py','',)
static

Definition at line 899 of file ConfigBuilder.py.

string ConfigBuilder.ConfigBuilder.loadFragment = 'Configuration.Generator.'
static

Definition at line 902 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.magFieldCFF

Definition at line 736 of file ConfigBuilder.py.

dictionary ConfigBuilder.ConfigBuilder.mixingDict = {'file':pileupSpec}
static

Definition at line 422 of file ConfigBuilder.py.

list ConfigBuilder.ConfigBuilder.mixingDict = Mixing[pileupSpec]
static

Definition at line 424 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.outDefDictStr = outDefDict.__str__()
static

Definition at line 293 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.outList = eval(self._options.outputDefinition)
static

Definition at line 291 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.output
static
Initial value:
1 = cms.OutputModule("PoolOutputModule",
2  theEventContent.clone(),
3  fileName = cms.untracked.string(theFileName),
4  dataset = cms.untracked.PSet(
5  dataTier = cms.untracked.string(theTier),
6  filterName = cms.untracked.string(theFilterName))
7  )

Definition at line 330 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.outputModule = getattr(self.process,theModuleLabel)
static

Definition at line 346 of file ConfigBuilder.py.

string ConfigBuilder.ConfigBuilder.outputModuleName = streamType+'output'
static

Definition at line 395 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.path = getattr(self.process,theModuleLabel+'_step')
static

Definition at line 348 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.PATLayer0DefaultSeq

Definition at line 668 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.pileupSpec = self._options.pileup.split(',')
static

Definition at line 417 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.POSTRECODefaultCFF

Definition at line 624 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_POSTRECO().

ConfigBuilder.ConfigBuilder.POSTRECODefaultSeq

Definition at line 663 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.process

Definition at line 131 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.addExtraStream(), ConfigBuilder.ConfigBuilder.doNotInlineEventContent(), python.Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.dumpPython(), python.Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.open(), python.Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.outputEventContent(), ConfigBuilder.ConfigBuilder.prepare_DIGI(), ConfigBuilder.ConfigBuilder.prepare_DIGI2RAW(), ConfigBuilder.ConfigBuilder.prepare_DQM(), ConfigBuilder.ConfigBuilder.prepare_ENDJOB(), ConfigBuilder.ConfigBuilder.prepare_FASTSIM(), ConfigBuilder.ConfigBuilder.prepare_L1HwVal(), ConfigBuilder.ConfigBuilder.prepare_L1Reco(), ConfigBuilder.ConfigBuilder.prepare_RAW2DIGI(), ConfigBuilder.ConfigBuilder.prepare_RAW2RECO(), ConfigBuilder.ConfigBuilder.prepare_RECO(), ConfigBuilder.ConfigBuilder.prepare_REPACK(), ConfigBuilder.ConfigBuilder.prepare_VALIDATION(), ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence(), python.Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.setProcess(), and python.Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.setProperty().

ConfigBuilder.ConfigBuilder.productionFilterSequence

Definition at line 148 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.pythonCfgCode

Definition at line 1433 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.RAW2DIGIDefaultCFF

Definition at line 620 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_RAW2DIGI(), and ConfigBuilder.ConfigBuilder.prepare_RAW2RECO().

ConfigBuilder.ConfigBuilder.RAW2DIGIDefaultSeq

Definition at line 656 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.RAW2RECODefaultSeq

Definition at line 732 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.RECODefaultCFF

Definition at line 622 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_RAW2RECO(), and ConfigBuilder.ConfigBuilder.prepare_RECO().

ConfigBuilder.ConfigBuilder.RECODefaultSeq

Definition at line 659 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.REPACKDefaultCFF

Definition at line 633 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_REPACK().

ConfigBuilder.ConfigBuilder.REPACKDefaultSeq

Definition at line 670 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.schedule

Definition at line 136 of file ConfigBuilder.py.

Referenced by Config.Process.dumpConfig(), and Config.Process.dumpPython().

ConfigBuilder.ConfigBuilder.SIMDefaultCFF

Definition at line 614 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_SIM().

ConfigBuilder.ConfigBuilder.SIMDefaultSeq

Definition at line 646 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.SKIMDefaultCFF

Definition at line 623 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_SKIM().

tuple ConfigBuilder.ConfigBuilder.specialization = defineMixing(mixingDict,'FASTSIM' in self.stepMap)
static

Definition at line 435 of file ConfigBuilder.py.

list ConfigBuilder.ConfigBuilder.stepList = [re.sub(r'^prepare_', '', methodName) for methodName in ConfigBuilder.__dict__ if methodName.startswith('prepare_')]
static

Definition at line 454 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.stepMap

Definition at line 109 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_VALIDATION().

list ConfigBuilder.ConfigBuilder.stepName = stepParts[0]
static

Definition at line 465 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.stepParts = step.split(":")
static

Benedikt can we add here a check that assure that we are going to generate a correct config file? i.e.

the harvesting do not have to include other step......

Definition at line 464 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.streamTypes = self.eventcontent.split(',')
static

Definition at line 271 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theEventContent = cms.PSet(outputCommands = cms.untracked.vstring('keep *'))
static

ends the –output options model

Definition at line 324 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theExtraOutputCommands = anyOf(['o','oC','outputCommands'],outDefDict,'')
static

Definition at line 304 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theFileName = self._options.dirout+anyOf(['fn','fileName'],outDefDict,theModuleLabel+'.root')
static

Definition at line 318 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.theFileName = self._options.outfile_name
static

Definition at line 376 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theFilterName = anyOf(['f','ftN','filterName'],outDefDict,'')
static

Definition at line 301 of file ConfigBuilder.py.

string ConfigBuilder.ConfigBuilder.theFilterName = 'StreamALCACombined'
static

Definition at line 329 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.theFilterName = self._options.filtername
static

Definition at line 377 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theModuleLabel = anyOf(['l','mL','moduleLabel'],outDefDict,'')
static

Definition at line 303 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.theModuleLabel = name
static

Definition at line 313 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theObject = getattr(generatorModule,name)
static

Definition at line 922 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theSelectEvent = anyOf(['s','sE','selectEvents'],outDefDict,'')
static

Definition at line 302 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theStreamType = anyOf(['e','ec','eventContent','streamType'],outDefDict,theTier)
static

event content

Definition at line 300 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.theTier = anyOf(['t','tier','dataTier'],outDefDict)
static

Definition at line 297 of file ConfigBuilder.py.

tuple ConfigBuilder.ConfigBuilder.tiers = self._options.datatier.split(',')
static

Definition at line 272 of file ConfigBuilder.py.

list ConfigBuilder.ConfigBuilder.tryNames
static
Initial value:
1 = [theStreamType.replace(theTier.replace('-',''),'')+theTier.replace('-','')+'output',
2  theStreamType.replace(theTier.replace('-',''),'')+theTier.replace('-','')+theFilterName+'output',
3  theStreamType.replace(theTier.replace('-',''),'')+theTier.replace('-','')+theFilterName+theSelectEvent.split(',')[0].replace(':','for').replace(' ','')+'output'
4  ]

Definition at line 307 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.VALIDATIONDefaultCFF

Definition at line 625 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare_VALIDATION().

ConfigBuilder.ConfigBuilder.VALIDATIONDefaultSeq

Definition at line 667 of file ConfigBuilder.py.

ConfigBuilder.ConfigBuilder.with_input

Definition at line 129 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().

ConfigBuilder.ConfigBuilder.with_output

Definition at line 126 of file ConfigBuilder.py.

Referenced by ConfigBuilder.ConfigBuilder.prepare().