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 $"
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 1994 of file ConfigBuilder.py.

01995                                                                                                                   :
01996     """
01997     _addALCAPaths_
01998 
01999     Function to add alignment&calibration sequences to an existing process
02000     """
02001     __import__(definitionFile)
02002     definitionModule = sys.modules[definitionFile]
02003     process.extend(definitionModule)
02004 
02005     for alca in listOfALCANames:
02006        streamName = "ALCARECOStream%s" % alca
02007        stream = getattr(definitionModule, streamName)
02008        for path in stream.paths:
02009             schedule.append(path)
02010 
02011     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 1965 of file ConfigBuilder.py.

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

def ConfigBuilder::dumpPython (   process,
  name 
)

Definition at line 71 of file ConfigBuilder.py.

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

Definition at line 111 of file ConfigBuilder.py.

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

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

Definition at line 79 of file ConfigBuilder.py.

00080                                   :
00081         import os
00082         import FWCore.ParameterSet.Config as cms
00083         prim=[]
00084         sec=[]
00085         for line in open(fileName,'r'):
00086                 if line.count(".root")>=2:
00087                         #two files solution...
00088                         entries=line.replace("\n","").split()
00089                         if not entries[0] in prim:
00090                                 prim.append(entries[0])
00091                         if not entries[1] in sec:
00092                                 sec.append(entries[1])
00093                 elif (line.find(".root")!=-1):
00094                         entry=line.replace("\n","")
00095                         if not entry in prim:
00096                                 prim.append(entry)
00097         if s:
00098                 if not hasattr(s,"fileNames"):
00099                         s.fileNames=cms.untracked.vstring(prim)
00100                 else:
00101                         s.fileNames.extend(prim)
00102                 if len(sec)!=0:
00103                         if not hasattr(s,"secondaryFileNames"):
00104                                 s.secondaryFileNames=cms.untracked.vstring(sec)
00105                         else:
00106                                 s.secondaryFileNames.extend(sec)
00107         print "found files: ",prim
00108         if len(sec)!=0:
00109                 print "found parent files:",sec
00110         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 1920 of file ConfigBuilder.py.

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

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

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

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

Definition at line 144 of file ConfigBuilder.py.

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


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 $"

Definition at line 3 of file ConfigBuilder.py.

Definition at line 15 of file ConfigBuilder.py.

ConfigBuilder::promptReco = installPromptReco

Definition at line 1962 of file ConfigBuilder.py.