CMS 3D CMS Logo

Classes | Functions | Variables

ConfigBuilder Namespace Reference

Classes

class  ConfigBuilder
class  Options

Functions

def addALCAPaths
def addOutputModule
def dumpPython
def filesFromDBSQuery
def filesFromList
def getConfigsForScenario
def getDefaultTrigger
def getHelp
def installFilteredStream
def installPromptReco
def MassReplaceInputTag

Variables

string __default = 'GRun'
string __source__ = "$Source: /local/reps/CMSSW/CMSSW/Configuration/PyReleaseValidation/python/ConfigBuilder.py,v $"
dictionary __triggerTable
string __version__ = "$Revision: 1.381.2.11 $"
tuple defaultOptions = Options()
 promptReco = installPromptReco

Function Documentation

def ConfigBuilder::addALCAPaths (   process,
  listOfALCANames,
  definitionFile = "Configuration/StandardSequences/AlCaRecoStreams_cff" 
)
_addALCAPaths_

Function to add alignment&calibration sequences to an existing process

Definition at line 1989 of file ConfigBuilder.py.

01990                                                                                                                   :
01991     """
01992     _addALCAPaths_
01993 
01994     Function to add alignment&calibration sequences to an existing process
01995     """
01996     __import__(definitionFile)
01997     definitionModule = sys.modules[definitionFile]
01998     process.extend(definitionModule)
01999 
02000     for alca in listOfALCANames:
02001        streamName = "ALCARECOStream%s" % alca
02002        stream = getattr(definitionModule, streamName)
02003        for path in stream.paths:
02004             schedule.append(path)
02005 
02006     return
def ConfigBuilder::addOutputModule (   process,
  tier,
  content 
)
_addOutputModule_

Function to add an output module to a given process with given data tier and event content

Definition at line 1960 of file ConfigBuilder.py.

01961                                            :
01962     """
01963     _addOutputModule_
01964 
01965     Function to add an output module to a given process with given data tier and event content
01966     """
01967     print "WARNING. this method will not be supported any more SOON, please use --eventcontent --datatier field to drive the output module definitions"
01968 
01969     moduleName = "output%s%s" % (tier, content)
01970     pathName = "%sPath" % moduleName
01971     contentName = "%sEventContent" % content
01972     contentAttr = getattr(process, contentName)
01973     setattr(process, moduleName,
01974             cms.OutputModule("PoolOutputModule",
01975                              contentAttr,
01976                              fileName = cms.untracked.string('%s.root' % moduleName),
01977                              dataset = cms.untracked.PSet(
01978                                dataTier = cms.untracked.string(tier),
01979                                ),
01980                            )
01981             )
01982     print getattr(process,moduleName)
01983     # put it in an EndPath and put the EndPath into the schedule
01984     setattr(process, pathName, cms.EndPath(getattr(process,moduleName)) )
01985     process.schedule.append(getattr(process, pathName))
01986 
01987     return
01988 

def ConfigBuilder::dumpPython (   process,
  name 
)

Definition at line 72 of file ConfigBuilder.py.

00073                             :
00074         theObject = getattr(process,name)
00075         if isinstance(theObject,cms.Path) or isinstance(theObject,cms.EndPath) or isinstance(theObject,cms.Sequence):
00076                 return "process."+name+" = " + theObject.dumpPython("process")
00077         elif isinstance(theObject,_Module) or isinstance(theObject,cms.ESProducer):
00078                 return "process."+name+" = " + theObject.dumpPython()+"\n"
00079         else:
                return "process."+name+" = " + theObject.dumpPython()+"\n"
def ConfigBuilder::filesFromDBSQuery (   query,
  s = None 
)

Definition at line 112 of file ConfigBuilder.py.

00113                                    :
00114         import os
00115         import FWCore.ParameterSet.Config as cms
00116         prim=[]
00117         sec=[]
00118         print "the query is",query
00119         for line in os.popen('dbs search --query "%s"'%(query)):
00120                 if line.count(".root")>=2:
00121                         #two files solution...
00122                         entries=line.replace("\n","").split()
00123                         if not entries[0] in prim:
00124                                 prim.append(entries[0])
00125                         if not entries[1] in sec:
00126                                 sec.append(entries[1])
00127                 elif (line.find(".root")!=-1):
00128                         entry=line.replace("\n","")
00129                         if not entry in prim:
00130                                 prim.append(entry)
00131         if s:
00132                 if not hasattr(s,"fileNames"):
00133                         s.fileNames=cms.untracked.vstring(prim)
00134                 else:
00135                         s.fileNames.extend(prim)
00136                 if len(sec)!=0:
00137                         if not hasattr(s,"secondaryFileNames"):
00138                                 s.secondaryFileNames=cms.untracked.vstring(sec)
00139                         else:
00140                                 s.secondaryFileNames.extend(sec)
00141         print "found files: ",prim
00142         if len(sec)!=0:
00143                 print "found parent files:",sec
00144         return (prim,sec)

def ConfigBuilder::filesFromList (   fileName,
  s = None 
)

Definition at line 80 of file ConfigBuilder.py.

00081                                   :
00082         import os
00083         import FWCore.ParameterSet.Config as cms
00084         prim=[]
00085         sec=[]
00086         for line in open(fileName,'r'):
00087                 if line.count(".root")>=2:
00088                         #two files solution...
00089                         entries=line.replace("\n","").split()
00090                         if not entries[0] in prim:
00091                                 prim.append(entries[0])
00092                         if not entries[1] in sec:
00093                                 sec.append(entries[1])
00094                 elif (line.find(".root")!=-1):
00095                         entry=line.replace("\n","")
00096                         if not entry in prim:
00097                                 prim.append(entry)
00098         if s:
00099                 if not hasattr(s,"fileNames"):
00100                         s.fileNames=cms.untracked.vstring(prim)
00101                 else:
00102                         s.fileNames.extend(prim)
00103                 if len(sec)!=0:
00104                         if not hasattr(s,"secondaryFileNames"):
00105                                 s.secondaryFileNames=cms.untracked.vstring(sec)
00106                         else:
00107                                 s.secondaryFileNames.extend(sec)
00108         print "found files: ",prim
00109         if len(sec)!=0:
00110                 print "found parent files:",sec
00111         return (prim,sec)
        
def ConfigBuilder::getConfigsForScenario (   sequence = None)
Retrieves the list of files needed to run a given trigger menu.
If no trigger or an invalid trigger is given, use the default one. 

Definition at line 38 of file ConfigBuilder.py.

00039                                           :
00040     """
00041     Retrieves the list of files needed to run a given trigger menu.
00042     If no trigger or an invalid trigger is given, use the default one. 
00043     """
00044 
00045     if not sequence:
00046         # no trigger was specified, use the default one
00047         trigger = __default
00048     else:
00049         # check if the specified trigger is valid
00050         trigger = sequence
00051         if trigger not in __triggerTable:
00052             print 'An unsupported trigger has been requested: %s' % sequence
00053             print 'The default one will be used instead: %s' % __default
00054             print 'The supported triggers are:'
00055             for key in __triggerTable.iterkeys():
00056                 print '\t%s' % key
00057             print
00058             trigger = __default
00059 
00060     return __triggerTable[trigger]
00061 
def ConfigBuilder::getDefaultTrigger ( )
Retrieves the default trigger name

Definition at line 24 of file ConfigBuilder.py.

00025                        :
00026     """
00027     Retrieves the default trigger name
00028     """
00029     return __default
00030     

def ConfigBuilder::getHelp ( )
Retrieves the list of available triggers

Definition at line 31 of file ConfigBuilder.py.

00032              :
00033     """
00034     Retrieves the list of available triggers
00035     """
00036     return __triggerTable.iterkeys()
00037   

def ConfigBuilder::installFilteredStream (   process,
  schedule,
  streamName,
  definitionFile = "Configuration/StandardSequences/AlCaRecoStreams_cff" 
)

Definition at line 1915 of file ConfigBuilder.py.

01916                                                                                                                                  :
01917 
01918     __import__(definitionFile)
01919     definitionModule = sys.modules[definitionFile]
01920     process.extend(definitionModule)
01921     stream = getattr(definitionModule,streamName)
01922     output = cms.OutputModule("PoolOutputModule")
01923     output.SelectEvents = stream.selectEvents
01924     output.outputCommands = stream.content
01925     output.dataset  = cms.untracked.PSet( dataTier = stream.dataTier)
01926     setattr(process,streamName,output)
01927     for path in stream.paths:
01928         schedule.append(path)
01929 

def ConfigBuilder::installPromptReco (   process,
  recoOutputModule,
  aodOutputModule = None 
)
_promptReco_

Method to install the standard PromptReco configuration into
a basic process containing source and output modules.

process is the CMS Process instance to be populated

recoOutputModule is the output module used to write the
RECO data tier

aodOutputModule is the output module used to write
the AOD data tier, if this is not none, any AOD sequences
should be added.

Definition at line 1930 of file ConfigBuilder.py.

01931                                                                         :
01932     """
01933     _promptReco_
01934 
01935     Method to install the standard PromptReco configuration into
01936     a basic process containing source and output modules.
01937 
01938     process is the CMS Process instance to be populated
01939 
01940     recoOutputModule is the output module used to write the
01941     RECO data tier
01942 
01943     aodOutputModule is the output module used to write
01944     the AOD data tier, if this is not none, any AOD sequences
01945     should be added.
01946     """
01947     cb = ConfigBuilder(defaultOptions, process = process)
01948     cb._options.step = 'RAW2DIGI,RECO'
01949     cb.addStandardSequences()
01950     cb.addConditions()
01951     process.load(cb.EVTCONTDefault)
01952     recoOutputModule.eventContent = process.RECOEventContent
01953     if aodOutputModule != None:
01954         aodOutputModule.eventContent = process.AODEventContent
01955     return process
01956 

def ConfigBuilder::MassReplaceInputTag (   aProcess,
  oldT = "rawDataCollector",
  newT = "rawDataRepacker" 
)

Definition at line 145 of file ConfigBuilder.py.

00146                                                                                 :
00147         from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
00148         for s in aProcess.paths_().keys():
00149                 massSearchReplaceAnyInputTag(getattr(aProcess,s),oldT,newT)
00150 


Variable Documentation

string ConfigBuilder::__default = 'GRun'

Definition at line 21 of file ConfigBuilder.py.

string ConfigBuilder::__source__ = "$Source: /local/reps/CMSSW/CMSSW/Configuration/PyReleaseValidation/python/ConfigBuilder.py,v $"

Definition at line 4 of file ConfigBuilder.py.

Initial value:
00001 {
00002 
00003     # HLT trigger table for the 2009 STARTUP 8E29 menu
00004     '8E29': ( 
00005         'FastSimulation/Configuration/HLT_8E29_cff', 
00006     ),
00007 
00008     # HLT trigger table for the 2009 Global Run menu
00009     'GRun': (
00010         'FastSimulation/Configuration/HLT_GRun_cff',
00011     ),
00012 
00013     # HLT trigger table for the 2009 STARTUP 1E31 menu
00014     '1E31': ( 
00015         'FastSimulation/Configuration/HLT_1E31_cff', 
00016     )
00017 }

Definition at line 2 of file ConfigBuilder.py.

string ConfigBuilder::__version__ = "$Revision: 1.381.2.11 $"

Definition at line 3 of file ConfigBuilder.py.

Definition at line 15 of file ConfigBuilder.py.

ConfigBuilder::promptReco = installPromptReco

Definition at line 1957 of file ConfigBuilder.py.