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: /cvs_server/repositories/CMSSW/CMSSW/Configuration/PyReleaseValidation/python/ConfigBuilder.py,v $"
dictionary __triggerTable
string __version__ = "$Revision: 1.381.2.1 $"
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 2009 of file ConfigBuilder.py.

02010                                                                                                                   :
02011     """
02012     _addALCAPaths_
02013 
02014     Function to add alignment&calibration sequences to an existing process
02015     """
02016     __import__(definitionFile)
02017     definitionModule = sys.modules[definitionFile]
02018     process.extend(definitionModule)
02019 
02020     for alca in listOfALCANames:
02021        streamName = "ALCARECOStream%s" % alca
02022        stream = getattr(definitionModule, streamName)
02023        for path in stream.paths:
02024             schedule.append(path)
02025 
02026     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 1980 of file ConfigBuilder.py.

01981                                            :
01982     """
01983     _addOutputModule_
01984 
01985     Function to add an output module to a given process with given data tier and event content
01986     """
01987     print "WARNING. this method will not be supported any more SOON, please use --eventcontent --datatier field to drive the output module definitions"
01988 
01989     moduleName = "output%s%s" % (tier, content)
01990     pathName = "%sPath" % moduleName
01991     contentName = "%sEventContent" % content
01992     contentAttr = getattr(process, contentName)
01993     setattr(process, moduleName,
01994             cms.OutputModule("PoolOutputModule",
01995                              contentAttr,
01996                              fileName = cms.untracked.string('%s.root' % moduleName),
01997                              dataset = cms.untracked.PSet(
01998                                dataTier = cms.untracked.string(tier),
01999                                ),
02000                            )
02001             )
02002     print getattr(process,moduleName)
02003     # put it in an EndPath and put the EndPath into the schedule
02004     setattr(process, pathName, cms.EndPath(getattr(process,moduleName)) )
02005     process.schedule.append(getattr(process, pathName))
02006 
02007     return
02008 

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 1935 of file ConfigBuilder.py.

01936                                                                                                                                  :
01937 
01938     __import__(definitionFile)
01939     definitionModule = sys.modules[definitionFile]
01940     process.extend(definitionModule)
01941     stream = getattr(definitionModule,streamName)
01942     output = cms.OutputModule("PoolOutputModule")
01943     output.SelectEvents = stream.selectEvents
01944     output.outputCommands = stream.content
01945     output.dataset  = cms.untracked.PSet( dataTier = stream.dataTier)
01946     setattr(process,streamName,output)
01947     for path in stream.paths:
01948         schedule.append(path)
01949 

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 1950 of file ConfigBuilder.py.

01951                                                                         :
01952     """
01953     _promptReco_
01954 
01955     Method to install the standard PromptReco configuration into
01956     a basic process containing source and output modules.
01957 
01958     process is the CMS Process instance to be populated
01959 
01960     recoOutputModule is the output module used to write the
01961     RECO data tier
01962 
01963     aodOutputModule is the output module used to write
01964     the AOD data tier, if this is not none, any AOD sequences
01965     should be added.
01966     """
01967     cb = ConfigBuilder(defaultOptions, process = process)
01968     cb._options.step = 'RAW2DIGI,RECO'
01969     cb.addStandardSequences()
01970     cb.addConditions()
01971     process.load(cb.EVTCONTDefault)
01972     recoOutputModule.eventContent = process.RECOEventContent
01973     if aodOutputModule != None:
01974         aodOutputModule.eventContent = process.AODEventContent
01975     return process
01976 

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: /cvs_server/repositories/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.1 $"

Definition at line 3 of file ConfigBuilder.py.

Definition at line 15 of file ConfigBuilder.py.

ConfigBuilder::promptReco = installPromptReco

Definition at line 1977 of file ConfigBuilder.py.