CMS 3D CMS Logo

Classes | Functions | Variables

confdb Namespace Reference

Classes

class  HLTProcess

Functions

def _fix_parameter
def addGlobalOptions
 untracked parameters with NO default in the code if 'hltHcalDataIntegrityMonitor' in %(dict)s: %(process)shltHcalDataIntegrityMonitor.RawDataLabel = cms.untracked.InputTag("rawDataCollector") if 'hltDt4DSegments' in %(dict)s: %(process)shltDt4DSegments.debug = cms.untracked.bool( False ) """
def build_source
def buildOptions
def buildPathList
def dumppaths
def fixForFastSim
def fixForMC
def fixPrescales
def instrumentErrorEventType
def instrumentOpenMode
def instrumentTiming
def loadAdditionalConditions
def loadCff
def overrideGlobalTag
def overrideL1MenuXml
def overrideOutput
def overrideParameters
def overrideProcessName
def runL1Emulator
def runL1EmulatorGT
def splitter
def updateMessageLogger

Variables

 all_paths
 data
 source

Function Documentation

def confdb::_fix_parameter (   self,
  args 
) [private]
arguments:
    name:     parameter name (optional)
    type:     parameter type (look for tracked and untracked variants)
    value:    original value
    replace:  replacement value

Definition at line 327 of file confdb.py.

00328                                   :
00329     """arguments:
00330         name:     parameter name (optional)
00331         type:     parameter type (look for tracked and untracked variants)
00332         value:    original value
00333         replace:  replacement value
00334     """
00335     if 'name' in args:
00336       self.data = re.sub(
00337           r'%(name)s = cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
00338           r'%(name)s = cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
00339           self.data)
00340     else:
00341       self.data = re.sub(
00342           r'cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
00343           r'cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
00344           self.data)
00345 

def confdb::addGlobalOptions (   self)

untracked parameters with NO default in the code if 'hltHcalDataIntegrityMonitor' in %(dict)s: %(process)shltHcalDataIntegrityMonitor.RawDataLabel = cms.untracked.InputTag("rawDataCollector") if 'hltDt4DSegments' in %(dict)s: %(process)shltDt4DSegments.debug = cms.untracked.bool( False ) """

dummyfy hltGetConditions in cff's if 'hltGetConditions' in %(dict)s and 'HLTriggerFirstPath' in %(dict)s : %(process)shltDummyConditions = cms.EDFilter( "HLTBool", result = cms.bool( True ) ) %(process)sHLTriggerFirstPath.replace(%(process)shltGetConditions,%(process)shltDummyConditions) """

Definition at line 309 of file confdb.py.

00310                             :
00311     # add global options
00312     self.data += """
00313 # limit the number of events to be processed
00314 %%(process)smaxEvents = cms.untracked.PSet(
00315     input = cms.untracked.int32( %d )
00316 )
00317 """ % self.config.events
00318 
00319     if not self.config.profiling:
00320       self.data += """
00321 # enable the TrigReport and TimeReport
00322 %(process)soptions = cms.untracked.PSet(
00323     wantSummary = cms.untracked.bool( True )
00324 )
00325 """
00326 

def confdb::build_source (   self)

Definition at line 1117 of file confdb.py.

01118                         :
01119     if self.config.input:
01120       # if a dataset or a list of input files was given, use it
01121       if self.config.input[0:8] == 'dataset:':
01122         from dbsFileQuery import dbsFileQuery
01123         # extract the dataset name, and use DBS to fine the list of LFNs
01124         dataset = self.config.input[8:]
01125         query   = 'find file where dataset=' + dataset
01126         files   = dbsFileQuery(query)
01127         self.source = files
01128       else:
01129         # assume a list of input files
01130         self.source = self.config.input.split(',')
01131     elif self.config.online:
01132       # online we always run on data
01133       self.source = [ "file:/tmp/InputCollection.root" ]
01134     elif self.config.data:
01135       # offline we can run on data...
01136       self.source = [ "file:RelVal_Raw_%s_DATA.root" % self.config.type ]
01137     else:
01138       # ...or on mc
01139       self.source = [ "file:RelVal_Raw_%s_STARTUP.root" % self.config.type ]
01140 
01141     self.data += """
01142 %(process)ssource = cms.Source( "PoolSource",
01143     fileNames = cms.untracked.vstring(
01144 """
01145     if self.source: 
01146       for line in self.source:
01147         self.data += "        '%s',\n" % line
01148     self.data += """    ),
01149     secondaryFileNames = cms.untracked.vstring(
01150 """
01151     if self.parent: 
01152       for line in self.parent:
01153         self.data += "        '%s',\n" % line
01154     self.data += """    ),
01155     inputCommands = cms.untracked.vstring(
01156         'keep *'
01157     )
01158 )
01159 """
def confdb::buildOptions (   self)

Definition at line 873 of file confdb.py.

00874                         :
00875     # common configuration for all scenarios
00876     self.options['services'].append( "-FUShmDQMOutputService" )
00877 
00878     if self.config.fragment:
00879       # extract a configuration file fragment
00880       self.options['essources'].append( "-GlobalTag" )
00881       self.options['essources'].append( "-HepPDTESSource" )
00882       self.options['essources'].append( "-XMLIdealGeometryESSource" )
00883       self.options['essources'].append( "-eegeom" )
00884       self.options['essources'].append( "-es_hardcode" )
00885       self.options['essources'].append( "-magfield" )
00886 
00887       self.options['esmodules'].append( "-AutoMagneticFieldESProducer" )
00888       self.options['esmodules'].append( "-SlaveField0" )
00889       self.options['esmodules'].append( "-SlaveField20" )
00890       self.options['esmodules'].append( "-SlaveField30" )
00891       self.options['esmodules'].append( "-SlaveField35" )
00892       self.options['esmodules'].append( "-SlaveField38" )
00893       self.options['esmodules'].append( "-SlaveField40" )
00894       self.options['esmodules'].append( "-VBF0" )
00895       self.options['esmodules'].append( "-VBF20" )
00896       self.options['esmodules'].append( "-VBF30" )
00897       self.options['esmodules'].append( "-VBF35" )
00898       self.options['esmodules'].append( "-VBF38" )
00899       self.options['esmodules'].append( "-VBF40" )
00900       self.options['esmodules'].append( "-CSCGeometryESModule" )
00901       self.options['esmodules'].append( "-CaloGeometryBuilder" )
00902       self.options['esmodules'].append( "-CaloTowerHardcodeGeometryEP" )
00903       self.options['esmodules'].append( "-CastorHardcodeGeometryEP" )
00904       self.options['esmodules'].append( "-DTGeometryESModule" )
00905       self.options['esmodules'].append( "-EcalBarrelGeometryEP" )
00906       self.options['esmodules'].append( "-EcalElectronicsMappingBuilder" )
00907       self.options['esmodules'].append( "-EcalEndcapGeometryEP" )
00908       self.options['esmodules'].append( "-EcalLaserCorrectionService" )
00909       self.options['esmodules'].append( "-EcalPreshowerGeometryEP" )
00910       self.options['esmodules'].append( "-HcalHardcodeGeometryEP" )
00911       self.options['esmodules'].append( "-HcalTopologyIdealEP" )
00912       self.options['esmodules'].append( "-MuonNumberingInitialization" )
00913       self.options['esmodules'].append( "-ParametrizedMagneticFieldProducer" )
00914       self.options['esmodules'].append( "-RPCGeometryESModule" )
00915       self.options['esmodules'].append( "-SiStripGainESProducer" )
00916       self.options['esmodules'].append( "-SiStripRecHitMatcherESProducer" )
00917       self.options['esmodules'].append( "-SiStripQualityESProducer" )
00918       self.options['esmodules'].append( "-StripCPEfromTrackAngleESProducer" )
00919       self.options['esmodules'].append( "-TrackerDigiGeometryESModule" )
00920       self.options['esmodules'].append( "-TrackerGeometricDetESModule" )
00921       self.options['esmodules'].append( "-VolumeBasedMagneticFieldESProducer" )
00922       self.options['esmodules'].append( "-ZdcHardcodeGeometryEP" )
00923       self.options['esmodules'].append( "-hcal_db_producer" )
00924       self.options['esmodules'].append( "-L1GtTriggerMaskAlgoTrigTrivialProducer" )
00925       self.options['esmodules'].append( "-L1GtTriggerMaskTechTrigTrivialProducer" )
00926       self.options['esmodules'].append( "-hltESPEcalTrigTowerConstituentsMapBuilder" )
00927       self.options['esmodules'].append( "-hltESPGlobalTrackingGeometryESProducer" )
00928       self.options['esmodules'].append( "-hltESPMuonDetLayerGeometryESProducer" )
00929       self.options['esmodules'].append( "-hltESPTrackerRecoGeometryESProducer" )
00930       if not self.config.fastsim:
00931         self.options['esmodules'].append( "-CaloTowerGeometryFromDBEP" )
00932         self.options['esmodules'].append( "-CastorGeometryFromDBEP" )
00933         self.options['esmodules'].append( "-EcalBarrelGeometryFromDBEP" )
00934         self.options['esmodules'].append( "-EcalEndcapGeometryFromDBEP" )
00935         self.options['esmodules'].append( "-EcalPreshowerGeometryFromDBEP" )
00936         self.options['esmodules'].append( "-HcalGeometryFromDBEP" )
00937         self.options['esmodules'].append( "-ZdcGeometryFromDBEP" )
00938         self.options['esmodules'].append( "-XMLFromDBSource" )
00939         self.options['esmodules'].append( "-sistripconn" )
00940 
00941       self.options['services'].append( "-PrescaleService" )
00942       self.options['services'].append( "-MessageLogger" )
00943       self.options['services'].append( "-DQM" )
00944       self.options['services'].append( "-DQMStore" )
00945       self.options['services'].append( "-MicroStateService" )
00946       self.options['services'].append( "-ModuleWebRegistry" )
00947       self.options['services'].append( "-TimeProfilerService" )
00948       self.options['services'].append( "-FastTimerService" )
00949 
00950       self.options['psets'].append( "-maxEvents" )
00951       self.options['psets'].append( "-options" )
00952 
00953     if self.config.fastsim:
00954       # remove components not supported or needed by fastsim
00955       self.options['esmodules'].append( "-navigationSchoolESProducer" )
00956       self.options['esmodules'].append( "-TransientTrackBuilderESProducer" )
00957       self.options['esmodules'].append( "-SteppingHelixPropagatorAny" )
00958       self.options['esmodules'].append( "-OppositeMaterialPropagator" )
00959       self.options['esmodules'].append( "-MaterialPropagator" )
00960       self.options['esmodules'].append( "-CaloTowerConstituentsMapBuilder" )
00961       self.options['esmodules'].append( "-CaloTopologyBuilder" )
00962 
00963       self.options['services'].append( "-UpdaterService" )
00964 
00965       self.options['modules'].append( "hltL3MuonIsolations" )
00966       self.options['modules'].append( "hltPixelVertices" )
00967       self.options['modules'].append( "-hltCkfL1SeededTrackCandidates" )
00968       self.options['modules'].append( "-hltCtfL1SeededithMaterialTracks" )
00969       self.options['modules'].append( "-hltCkf3HitL1SeededTrackCandidates" )
00970       self.options['modules'].append( "-hltCtf3HitL1SeededWithMaterialTracks" )
00971       self.options['modules'].append( "-hltCkf3HitActivityTrackCandidates" )
00972       self.options['modules'].append( "-hltCtf3HitActivityWithMaterialTracks" )
00973       self.options['modules'].append( "-hltActivityCkfTrackCandidatesForGSF" )
00974       self.options['modules'].append( "-hltL1SeededCkfTrackCandidatesForGSF" )
00975       self.options['modules'].append( "-hltMuCkfTrackCandidates" )
00976       self.options['modules'].append( "-hltMuCtfTracks" )
00977       self.options['modules'].append( "-hltTau3MuCkfTrackCandidates" )
00978       self.options['modules'].append( "-hltTau3MuCtfWithMaterialTracks" )
00979       self.options['modules'].append( "-hltMuTrackJpsiCkfTrackCandidates" )
00980       self.options['modules'].append( "-hltMuTrackJpsiCtfTracks" )
00981       self.options['modules'].append( "-hltMuTrackJpsiEffCkfTrackCandidates" )
00982       self.options['modules'].append( "-hltMuTrackJpsiEffCtfTracks" )
00983       self.options['modules'].append( "-hltJpsiTkPixelSeedFromL3Candidate" )
00984       self.options['modules'].append( "-hltCkfTrackCandidatesJpsiTk" )
00985       self.options['modules'].append( "-hltCtfWithMaterialTracksJpsiTk" )
00986       self.options['modules'].append( "-hltMuTrackCkfTrackCandidatesOnia" )
00987       self.options['modules'].append( "-hltMuTrackCtfTracksOnia" )
00988       
00989       self.options['modules'].append( "-hltESRegionalEgammaRecHit" )
00990       self.options['modules'].append( "-hltEcalRegionalJetsFEDs" )
00991       self.options['modules'].append( "-hltEcalRegionalMuonsFEDs" )
00992       self.options['modules'].append( "-hltEcalRegionalEgammaFEDs" )
00993       self.options['modules'].append( "-hltFEDSelector" )
00994       self.options['modules'].append( "-hltL3TrajSeedOIHit" )
00995       self.options['modules'].append( "-hltL3TrajSeedIOHit" )
00996       self.options['modules'].append( "-hltL3TrackCandidateFromL2OIState" )
00997       self.options['modules'].append( "-hltL3TrackCandidateFromL2OIHit" )
00998       self.options['modules'].append( "-hltL3TrackCandidateFromL2IOHit" )
00999       self.options['modules'].append( "-hltL3TrackCandidateFromL2NoVtx" )
01000       self.options['modules'].append( "-hltHcalDigis" )
01001       self.options['modules'].append( "-hltHoreco" )
01002       self.options['modules'].append( "-hltHfreco" )
01003       self.options['modules'].append( "-hltHbhereco" )
01004       self.options['modules'].append( "-hltEcalRegionalRestFEDs" )
01005       self.options['modules'].append( "-hltEcalRegionalESRestFEDs" )
01006       self.options['modules'].append( "-hltEcalRawToRecHitFacility" )
01007       self.options['modules'].append( "-hltESRawToRecHitFacility" )
01008       self.options['modules'].append( "-hltEcalRegionalJetsRecHit" )
01009       self.options['modules'].append( "-hltEcalRegionalMuonsRecHit" )
01010       self.options['modules'].append( "-hltEcalRegionalEgammaRecHit" )
01011       self.options['modules'].append( "-hltEcalRecHitAll" )
01012       self.options['modules'].append( "-hltESRecHitAll" )
01013       # === hltPF
01014       self.options['modules'].append( "-hltPFJetCkfTrackCandidates" )
01015       self.options['modules'].append( "-hltPFJetCtfWithMaterialTracks" )
01016       self.options['modules'].append( "-hltPFlowTrackSelectionHighPurity" )
01017       # === hltFastJet
01018       self.options['modules'].append( "-hltDisplacedHT250L1FastJetRegionalPixelSeedGenerator" )
01019       self.options['modules'].append( "-hltDisplacedHT250L1FastJetRegionalCkfTrackCandidates" )
01020       self.options['modules'].append( "-hltDisplacedHT250L1FastJetRegionalCtfWithMaterialTracks" )     
01021       self.options['modules'].append( "-hltDisplacedHT300L1FastJetRegionalPixelSeedGenerator" )
01022       self.options['modules'].append( "-hltDisplacedHT300L1FastJetRegionalCkfTrackCandidates" )
01023       self.options['modules'].append( "-hltDisplacedHT300L1FastJetRegionalCtfWithMaterialTracks" )     
01024       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJet" )
01025       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJet" )
01026       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJet" )     
01027       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorHbbVBF" )
01028       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesHbbVBF" )
01029       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksHbbVBF" )
01030       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet" )
01031       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet" )
01032       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet" )
01033       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet" )
01034       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet" )
01035       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet" )
01036       # === hltBLifetimeRegional
01037       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorHbb" )
01038       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesHbb" )
01039       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksHbb" )
01040       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorbbPhi" )
01041       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesbbPhi" )
01042       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksbbPhi" )
01043       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb" )
01044       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb" )
01045       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb" )
01046       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb" )
01047       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb" )
01048       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb" )
01049       self.options['modules'].append( "-hltBLifetimeFastRegionalPixelSeedGeneratorHbbVBF" )
01050       self.options['modules'].append( "-hltBLifetimeFastRegionalCkfTrackCandidatesHbbVBF" )
01051       self.options['modules'].append( "-hltBLifetimeFastRegionalCtfWithMaterialTracksHbbVBF" )
01052       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJetFastPV" )
01053       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJetFastPV" )
01054       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJetFastPV" )
01055       self.options['modules'].append( "-hltFastPixelBLifetimeRegionalPixelSeedGeneratorHbb" )
01056       self.options['modules'].append( "-hltFastPixelBLifetimeRegionalCkfTrackCandidatesHbb" )
01057       self.options['modules'].append( "-hltFastPixelBLifetimeRegionalCtfWithMaterialTracksHbb" )
01058      
01059       self.options['modules'].append( "-hltPixelTracksForMinBias" )
01060       self.options['modules'].append( "-hltPixelTracksForHighMult" )
01061       self.options['modules'].append( "-hltRegionalPixelTracks" )
01062       self.options['modules'].append( "-hltPixelTracksReg" )
01063       self.options['modules'].append( "-hltIter4Merged" )
01064       self.options['modules'].append( "-hltFastPixelHitsVertex" )
01065       self.options['modules'].append( "-hltFastPixelTracks")
01066       self.options['modules'].append( "-hltFastPixelTracksRecover")
01067       
01068       self.options['modules'].append( "-hltFastPrimaryVertexbbPhi")
01069       self.options['modules'].append( "-hltPixelTracksFastPVbbPhi")
01070       self.options['modules'].append( "-hltPixelTracksRecoverbbPhi" )
01071       self.options['modules'].append( "-hltFastPixelHitsVertexVHbb" )
01072       self.options['modules'].append( "-hltFastPixelTracksVHbb" )
01073       self.options['modules'].append( "-hltFastPixelTracksRecoverVHbb" )
01074 
01075       self.options['modules'].append( "-hltFastPrimaryVertex")
01076       self.options['modules'].append( "-hltFastPVPixelTracks")
01077       self.options['modules'].append( "-hltFastPVPixelTracksRecover" )
01078 
01079       self.options['modules'].append( "-hltIter4Tau3MuMerged" )
01080       self.options['modules'].append( "hltPixelMatchElectronsActivity" )
01081 
01082       self.options['modules'].append( "-hltMuonCSCDigis" )
01083       self.options['modules'].append( "-hltMuonDTDigis" )
01084       self.options['modules'].append( "-hltMuonRPCDigis" )
01085       self.options['modules'].append( "-hltGtDigis" )
01086       self.options['modules'].append( "-hltL1GtTrigReport" )
01087       self.options['modules'].append( "hltCsc2DRecHits" )
01088       self.options['modules'].append( "hltDt1DRecHits" )
01089       self.options['modules'].append( "hltRpcRecHits" )
01090       self.options['modules'].append( "-hltScalersRawToDigi" )
01091 
01092       self.options['sequences'].append( "-HLTL1SeededEgammaRegionalRecoTrackerSequence" )
01093       self.options['sequences'].append( "-HLTEcalActivityEgammaRegionalRecoTrackerSequence" )
01094       self.options['sequences'].append( "-HLTPixelMatchElectronActivityTrackingSequence" )
01095       self.options['sequences'].append( "-HLTDoLocalStripSequence" )
01096       self.options['sequences'].append( "-HLTDoLocalPixelSequence" )
01097       self.options['sequences'].append( "-HLTDoLocalPixelSequenceRegL2Tau" )
01098       self.options['sequences'].append( "-hltSiPixelDigis" )
01099       self.options['sequences'].append( "-hltSiPixelClusters" )
01100       self.options['sequences'].append( "-hltSiPixelRecHits" )
01101       self.options['sequences'].append( "-HLTRecopixelvertexingSequence" )
01102       self.options['sequences'].append( "-HLTEndSequence" )
01103       self.options['sequences'].append( "-HLTBeginSequence" )
01104       self.options['sequences'].append( "-HLTBeginSequenceNZS" )
01105       self.options['sequences'].append( "-HLTBeginSequenceBPTX" )
01106       self.options['sequences'].append( "-HLTBeginSequenceAntiBPTX" )
01107       self.options['sequences'].append( "-HLTHBHENoiseSequence" )
01108       self.options['sequences'].append( "-HLTIterativeTracking" )
01109       self.options['sequences'].append( "-HLTIterativeTrackingTau3Mu" )
01110       self.options['sequences'].append( "-HLTRegionalCKFTracksForL3Isolation" )
01111       self.options['sequences'].append( "-HLTHBHENoiseCleanerSequence" )
01112 
01113       # remove HLTAnalyzerEndpath from fastsim cff's
01114       if self.config.fragment:
01115         self.options['paths'].append( "-HLTAnalyzerEndpath" )
01116 

def confdb::buildPathList (   self)

Definition at line 816 of file confdb.py.

00817                          :
00818     self.all_paths = self.getPathList()
00819 
00820     if self.config.paths:
00821       # no path list was requested, dump the full table, minus unsupported / unwanted paths
00822       paths = self.config.paths.split(',')
00823     else:
00824       # dump only the requested paths, plus the eventual output endpaths
00825       paths = []
00826 
00827     if self.config.fragment or self.config.output in ('none', 'full'):
00828       # 'full' removes all outputs (same as 'none') and then adds a single "keep *" output (see the overrideOutput method)
00829       if self.config.paths:
00830         # paths are removed by default
00831         pass    
00832       else:
00833         # drop all output endpaths
00834         paths.append( "-*Output" )
00835     elif self.config.output == 'minimal':
00836       # drop all output endpaths but HLTDQMResultsOutput
00837       if self.config.paths:
00838         paths.append( "HLTDQMResultsOutput" )
00839       else:
00840         paths.append( "-*Output" )
00841         paths.append( "HLTDQMResultsOutput" )
00842     else:
00843       # keep / add back all output endpaths
00844       if self.config.paths:
00845         paths.append( "*Output" )
00846       else:
00847         pass    # paths are kepy by default
00848 
00849     # drop paths unsupported by fastsim
00850     if self.config.fastsim:
00851       paths.extend( "-%s" % path for path in self.fastsimUnsupportedPaths )
00852 
00853     # drop unwanted paths for profiling (and timing studies)
00854     if self.config.profiling:
00855       paths.append( "-HLTriggerFirstPath" )
00856       paths.append( "-HLTAnalyzerEndpath" )
00857 
00858     # this should never be in any dump (nor online menu)
00859     paths.append( "-OfflineOutput" )
00860 
00861     # expand all wildcards
00862     paths = self.expandWildcards(paths, self.all_paths)
00863 
00864     if self.config.paths:
00865       # do an "additive" consolidation
00866       self.options['paths'] = self.consolidatePositiveList(paths)
00867       if not self.options['paths']:
00868         raise RuntimeError('Error: option "--paths %s" does not select any valid paths' % self.config.paths)
00869     else:
00870       # do a "subtractive" consolidation
00871       self.options['paths'] = self.consolidateNegativeList(paths)
00872 

def confdb::dumppaths (   paths)

Definition at line 810 of file confdb.py.

00811                       :
00812     sys.stderr.write('Path selection:\n')
00813     for path in paths:
00814       sys.stderr.write('\t%s\n' % path)
00815     sys.stderr.write('\n\n')

def confdb::fixForFastSim (   self)

Definition at line 357 of file confdb.py.

00358                          :
00359     if self.config.fastsim:
00360       # adapt the hle configuration (fragment) to run under fastsim
00361       self.data = re.sub( r'import FWCore.ParameterSet.Config as cms', r'\g<0>\nfrom FastSimulation.HighLevelTrigger.HLTSetup_cff import *', self.data)
00362 
00363       # remove the definition of streams and datasets
00364       self.data = re.compile( r'^streams.*\n(.*\n)*?^\)\s*\n',  re.MULTILINE ).sub( '', self.data )
00365       self.data = re.compile( r'^datasets.*\n(.*\n)*?^\)\s*\n', re.MULTILINE ).sub( '', self.data )
00366 
00367       # fix the definition of module
00368       # FIXME: this should be updated to take into accout the --l1-emulator option
00369       self._fix_parameter(                               type = 'InputTag', value = 'hltL1extraParticles',  replace = 'l1extraParticles')
00370       self._fix_parameter(name = 'GMTReadoutCollection', type = 'InputTag', value = 'hltGtDigis',           replace = 'gmtDigis')
00371       self._fix_parameter(                               type = 'InputTag', value = 'hltGtDigis',           replace = 'gtDigis')
00372       self._fix_parameter(                               type = 'InputTag', value = 'hltL1GtObjectMap',     replace = 'gtDigis')
00373       self._fix_parameter(name = 'initialSeeds',         type = 'InputTag', value = 'noSeedsHere',          replace = 'globalPixelSeeds:GlobalPixel')
00374       self._fix_parameter(name = 'preFilteredSeeds',     type = 'bool',     value = 'True',                 replace = 'False')
00375       self._fix_parameter(                               type = 'InputTag', value = 'hltOfflineBeamSpot',   replace = 'offlineBeamSpot')
00376       self._fix_parameter(                               type = 'InputTag', value = 'hltOnlineBeamSpot',    replace = 'offlineBeamSpot')
00377       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonCSCDigis',      replace = 'simMuonCSCDigis')
00378       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonDTDigis',       replace = 'simMuonDTDigis')
00379       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonRPCDigis',      replace = 'simMuonRPCDigis')
00380       self._fix_parameter(                               type = 'InputTag', value = 'hltRegionalTracksForL3MuonIsolation', replace = 'hltPixelTracks')
00381       self._fix_parameter(name = 'src',                  type = 'InputTag', value = 'hltHcalTowerNoiseCleaner', replace = 'hltTowerMakerForAll')
00382       self._fix_parameter(name = 'src',                  type = 'InputTag', value = 'hltIter4Tau3MuMerged', replace = 'hltIter4Merged')
00383 
00384       # fix the definition of sequences and paths
00385       self.data = re.sub( r'hltMuonCSCDigis', r'cms.SequencePlaceholder( "simMuonCSCDigis" )',  self.data )
00386       self.data = re.sub( r'hltMuonDTDigis',  r'cms.SequencePlaceholder( "simMuonDTDigis" )',   self.data )
00387       self.data = re.sub( r'hltMuonRPCDigis', r'cms.SequencePlaceholder( "simMuonRPCDigis" )',  self.data )
00388       self.data = re.sub( r'HLTEndSequence',  r'cms.SequencePlaceholder( "HLTEndSequence" )',   self.data )
00389       self.data = re.sub( r'hltGtDigis',      r'HLTBeginSequence',                              self.data )
00390 

def confdb::fixForMC (   self)

Definition at line 346 of file confdb.py.

00347                     :
00348     if not self.config.data:
00349       # customise the HLT menu for running on MC
00350       if not self.config.fragment:
00351         self.data += """
00352 # customise the HLT menu for running on MC
00353 from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC
00354 process = customizeHLTforMC(process)
00355 """
00356 

def confdb::fixPrescales (   self)

Definition at line 391 of file confdb.py.

00392                         :
00393     # update the PrescaleService to match the new list of paths
00394     if self.options['paths']:
00395       if self.options['paths'][0][0] == '-':
00396         # drop requested paths
00397         for minuspath in self.options['paths']:
00398           path = minuspath[1:]
00399           self.data = re.sub(r'      cms.PSet\(  pathName = cms.string\( "%s" \),\n        prescales = cms.vuint32\( .* \)\n      \),?\n' % path, '', self.data)
00400       else:
00401         # keep requested paths
00402         for path in self.all_paths:
00403           if path not in self.options['paths']:
00404             self.data = re.sub(r'      cms.PSet\(  pathName = cms.string\( "%s" \),\n        prescales = cms.vuint32\( .* \)\n      \),?\n' % path, '', self.data)
00405 
00406     if self.config.unprescale:
00407       self.data += """
00408 # remove the HLT prescales
00409 if 'PrescaleService' in %(dict)s:
00410     %(process)sPrescaleService.lvl1DefaultLabel = cms.string( '0' )
00411     %(process)sPrescaleService.lvl1Labels       = cms.vstring( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' )
00412     %(process)sPrescaleService.prescaleTable    = cms.VPSet( )
00413 """
00414 

def confdb::instrumentErrorEventType (   self)

Definition at line 429 of file confdb.py.

00430                                     :
00431     if self.config.errortype:
00432       # change all HLTTriggerTypeFilter EDFilters to accept only error events (SelectedTriggerType = 0)
00433       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '1', replace = '0')
00434       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '2', replace = '0')
00435       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '3', replace = '0')
00436 

def confdb::instrumentOpenMode (   self)

Definition at line 415 of file confdb.py.

00416                               :
00417     if self.config.open:
00418       # find all EDfilters
00419       filters = [ match[1] for match in re.findall(r'(process\.)?\b(\w+) = cms.EDFilter', self.data) ]
00420       re_sequence = re.compile( r'cms\.(Path|Sequence)\((.*)\)' )
00421       # remove existing 'cms.ingore' and '~' modifiers
00422       self.data = re_sequence.sub( lambda line: re.sub( r'cms\.ignore *\( *((process\.)?\b(\w+)) *\)', r'\1', line.group(0) ), self.data )
00423       self.data = re_sequence.sub( lambda line: re.sub( r'~', '', line.group(0) ), self.data )
00424       # wrap all EDfilters with "cms.ignore( ... )", 1000 at a time (python 2.6 complains for too-big regular expressions)
00425       for some in splitter(filters, 1000):
00426         re_filters  = re.compile( r'\b((process\.)?(' + r'|'.join(some) + r'))\b' )
00427         self.data = re_sequence.sub( lambda line: re_filters.sub( r'cms.ignore( \1 )', line.group(0) ), self.data )
00428 

def confdb::instrumentTiming (   self)

Definition at line 701 of file confdb.py.

00702                             :
00703     if self.config.profiling:
00704       # instrument the menu for profiling: remove the HLTAnalyzerEndpath, add/override the HLTriggerFirstPath, with hltGetRaw and hltGetConditions
00705       text = ''
00706 
00707       if not 'hltGetRaw' in self.data:
00708         # add hltGetRaw
00709         text += """
00710 %(process)shltGetRaw = cms.EDAnalyzer( "HLTGetRaw",
00711     RawDataCollection = cms.InputTag( "rawDataCollector" )
00712 )
00713 """
00714 
00715       if not 'hltGetConditions' in self.data:
00716         # add hltGetConditions
00717         text += """
00718 %(process)shltGetConditions = cms.EDAnalyzer( 'EventSetupRecordDataGetter',
00719     verbose = cms.untracked.bool( False ),
00720     toGet = cms.VPSet( )
00721 )
00722 """
00723 
00724       if not 'hltBoolFalse' in self.data:
00725         # add hltBoolFalse
00726         text += """
00727 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
00728     result = cms.bool( False )
00729 )
00730 """
00731 
00732       # add the definition of HLTriggerFirstPath
00733       # FIXME in a cff, should also update the HLTSchedule
00734       text += """
00735 %(process)sHLTriggerFirstPath = cms.Path( %(process)shltGetRaw + %(process)shltGetConditions + %(process)shltBoolFalse )
00736 """
00737       self.data = re.sub(r'.*cms\.(End)?Path.*', text + r'\g<0>', self.data, 1)
00738 
00739 
00740     # instrument the menu with the Service, EDProducer and EndPath needed for timing studies
00741     # FIXME in a cff, should also update the HLTSchedule
00742     if self.config.timing:
00743       self.data += """
00744 # instrument the menu with the modules and EndPath needed for timing studies
00745 """
00746 
00747       hasFST = False
00748       if 'FastTimerService' in self.data:
00749         hasFST = True
00750 
00751       self.data += '\n# configure the FastTimerService\n'
00752       if not hasFST:
00753         self.loadCff('HLTrigger.Timer.FastTimerService_cfi')
00754       self.data += """%(process)sFastTimerService.useRealTimeClock          = False
00755 %(process)sFastTimerService.enableTimingPaths         = True
00756 %(process)sFastTimerService.enableTimingModules       = True
00757 %(process)sFastTimerService.enableTimingExclusive     = True
00758 %(process)sFastTimerService.enableTimingSummary       = True
00759 %(process)sFastTimerService.skipFirstPath             = True
00760 %(process)sFastTimerService.enableDQM                 = True
00761 %(process)sFastTimerService.enableDQMbyPathActive     = True
00762 %(process)sFastTimerService.enableDQMbyPathTotal      = True
00763 %(process)sFastTimerService.enableDQMbyPathOverhead   = True
00764 %(process)sFastTimerService.enableDQMbyPathDetails    = True
00765 %(process)sFastTimerService.enableDQMbyPathCounters   = True
00766 %(process)sFastTimerService.enableDQMbyPathExclusive  = True
00767 %(process)sFastTimerService.enableDQMbyModule         = True
00768 %(process)sFastTimerService.enableDQMbyModuleType     = True
00769 %(process)sFastTimerService.enableDQMSummary          = True
00770 %(process)sFastTimerService.enableDQMbyLuminosity     = True
00771 %(process)sFastTimerService.enableDQMbyLumiSection    = True
00772 %(process)sFastTimerService.enableDQMbyProcesses      = False
00773 %(process)sFastTimerService.dqmTimeRange              =  1000. 
00774 %(process)sFastTimerService.dqmTimeResolution         =     5. 
00775 %(process)sFastTimerService.dqmPathTimeRange          =   100. 
00776 %(process)sFastTimerService.dqmPathTimeResolution     =     0.5
00777 %(process)sFastTimerService.dqmModuleTimeRange        =    40. 
00778 %(process)sFastTimerService.dqmModuleTimeResolution   =     0.2
00779 %(process)sFastTimerService.dqmLuminosityRange        = 1e+34
00780 %(process)sFastTimerService.dqmLuminosityResolution   = 1e+31
00781 %(process)sFastTimerService.dqmLumiSectionsRange      =  2500
00782 %(process)sFastTimerService.dqmPath                   = 'HLT/TimerService'
00783 %(process)sFastTimerService.luminosityProduct         = cms.untracked.InputTag( 'hltScalersRawToDigi' )
00784 %(process)sFastTimerService.supportedProcesses        = cms.untracked.vuint32( )
00785 """
00786 
00787       self.data += """
00788 # FastTimerServiceClient
00789 %(process)sfastTimerServiceClient = cms.EDAnalyzer( "FastTimerServiceClient",
00790     dqmPath = cms.untracked.string( "HLT/TimerService" )
00791 )
00792 
00793 # DQM file saver
00794 %(process)sdqmFileSaver = cms.EDAnalyzer( "DQMFileSaver",
00795     convention        = cms.untracked.string( "Offline" ),
00796     workflow          = cms.untracked.string( "/HLT/FastTimerService/All" ),
00797     dirName           = cms.untracked.string( "." ),
00798     saveByRun         = cms.untracked.int32(1),
00799     saveByLumiSection = cms.untracked.int32(-1),
00800     saveByEvent       = cms.untracked.int32(-1),
00801     saveByTime        = cms.untracked.int32(-1),
00802     saveByMinute      = cms.untracked.int32(-1),
00803     saveAtJobEnd      = cms.untracked.bool(False),
00804     forceRunNumber    = cms.untracked.int32(-1),
00805 )
00806 
00807 %(process)sTimingOutput = cms.EndPath( %(process)sfastTimerServiceClient + %(process)sdqmFileSaver )
00808 """

def confdb::loadAdditionalConditions (   self,
  comment,
  conditions 
)

Definition at line 667 of file confdb.py.

00668                                                           :
00669     # load additional conditions
00670     self.data += """
00671 # %s
00672 if 'GlobalTag' in %%(dict)s:
00673 """ % comment
00674     for condition in conditions:
00675       self.data += """    %%(process)sGlobalTag.toGet.append(
00676         cms.PSet(
00677             record  = cms.string( '%(record)s' ),
00678             tag     = cms.string( '%(tag)s' ),
00679             label   = cms.untracked.string( '%(label)s' ),
00680             connect = cms.untracked.string( '%(connect)s' )
00681         )
00682     )
00683 """ % condition
00684 

def confdb::loadCff (   self,
  module 
)

Definition at line 685 of file confdb.py.

00686                            :
00687     # load a cfi or cff module
00688     if self.config.fragment:
00689       self.data += 'from %s import *\n' % module
00690     else:
00691       self.data += 'process.load( "%s" )\n' % module
00692 

def confdb::overrideGlobalTag (   self)

Definition at line 437 of file confdb.py.

00438                              :
00439     # overwrite GlobalTag
00440     # the logic is:
00441     #   - always set the correct connection string and pfnPrefix
00442     #   - if a GlobalTag is specified on the command line:
00443     #      - override the global tag
00444     #      - if the GT is "auto:...", insert the code to read it from Configuration.AlCa.autoCond
00445     #   - if a GlobalTag is NOT  specified on the command line:
00446     #      - when running on data, do nothing, and keep the global tag in the menu
00447     #      - when running on mc, take the GT from the configuration.type
00448 
00449     # override the GlobalTag connection string and pfnPrefix
00450     text = """
00451 # override the GlobalTag, connection string and pfnPrefix
00452 if 'GlobalTag' in %(dict)s:
00453 """
00454 
00455     # when running on MC, override the global tag even if not specified on the command line
00456     if not self.config.data and not self.config.globaltag:
00457       if self.config.type in globalTag:
00458         self.config.globaltag = globalTag[self.config.type]
00459       else:
00460         self.config.globaltag = globalTag['GRun']
00461 
00462     # if requested, override the L1 menu from the GlobalTag (using the same connect as the GlobalTag itself)
00463     if self.config.l1.override:
00464       self.config.l1.record = 'L1GtTriggerMenuRcd'
00465       self.config.l1.label  = ''
00466       self.config.l1.tag    = self.config.l1.override
00467       if not self.config.l1.connect:
00468         self.config.l1.connect = '%(connect)s/CMS_COND_31X_L1T'
00469       self.config.l1cond = '%(tag)s,%(record)s,%(connect)s' % self.config.l1.__dict__
00470     else:
00471       self.config.l1cond = None
00472 
00473     if self.config.globaltag or self.config.l1cond:
00474       text += "    from Configuration.AlCa.GlobalTag import GlobalTag as customiseGlobalTag\n"
00475       text += "    %(process)sGlobalTag = customiseGlobalTag(%(process)sGlobalTag"
00476       if self.config.globaltag:
00477         text += ", globaltag = %s"  % repr(self.config.globaltag)
00478       if self.config.l1cond:
00479         text += ", conditions = %s" % repr(self.config.l1cond)
00480       text += ")\n"
00481 
00482     text += """    %(process)sGlobalTag.connect   = '%(connect)s/CMS_COND_31X_GLOBALTAG'
00483     %(process)sGlobalTag.pfnPrefix = cms.untracked.string('%(connect)s/')
00484     for pset in process.GlobalTag.toGet.value():
00485         pset.connect = pset.connect.value().replace('frontier://FrontierProd/', '%(connect)s/')
00486 """
00487     self.data += text

def confdb::overrideL1MenuXml (   self)

Definition at line 488 of file confdb.py.

00489                              :
00490     # if requested, override the L1 menu from the GlobalTag (Xml file)
00491     if self.config.l1Xml.XmlFile:
00492       text = """
00493 # override the L1 menu from an Xml file
00494 %%(process)sl1GtTriggerMenuXml = cms.ESProducer("L1GtTriggerMenuXmlProducer",
00495   TriggerMenuLuminosity = cms.string('%(LumiDir)s'),
00496   DefXmlFile = cms.string('%(XmlFile)s'),
00497   VmeXmlFile = cms.string('')
00498 )
00499 %%(process)sL1GtTriggerMenuRcdSource = cms.ESSource("EmptyESSource",
00500   recordName = cms.string('L1GtTriggerMenuRcd'),
00501   iovIsRunNotTime = cms.bool(True),
00502   firstValid = cms.vuint32(1)
00503 )
00504 %%(process)ses_prefer_l1GtParameters = cms.ESPrefer('L1GtTriggerMenuXmlProducer','l1GtTriggerMenuXml') 
00505 """
00506       self.data += text % self.config.l1Xml.__dict__

def confdb::overrideOutput (   self)

Definition at line 586 of file confdb.py.

00587                           :
00588     # override the "online" ShmStreamConsumer output modules with "offline" PoolOutputModule's
00589     self.data = re.sub(
00590       r'\b(process\.)?hltOutput(\w+) *= *cms\.OutputModule\( *"ShmStreamConsumer" *,',
00591       r'%(process)shltOutput\2 = cms.OutputModule( "PoolOutputModule",\n    fileName = cms.untracked.string( "output\2.root" ),\n    fastCloning = cms.untracked.bool( False ),\n    dataset = cms.untracked.PSet(\n        filterName = cms.untracked.string( "" ),\n        dataTier = cms.untracked.string( "RAW" )\n    ),',
00592       self.data
00593     )
00594 
00595     if not self.config.fragment and self.config.output == 'full':
00596       # add a single "keep *" output
00597       self.data += """
00598 # add a single "keep *" output
00599 %(process)shltOutputFULL = cms.OutputModule( "PoolOutputModule",
00600     fileName = cms.untracked.string( "outputFULL.root" ),
00601     fastCloning = cms.untracked.bool( False ),
00602     dataset = cms.untracked.PSet(
00603         dataTier = cms.untracked.string( 'RECO' ),
00604         filterName = cms.untracked.string( '' )
00605     ),
00606     outputCommands = cms.untracked.vstring( 'keep *' )
00607 )
00608 %(process)sFULLOutput = cms.EndPath( %(process)shltOutputFULL )
00609 """
00610 

def confdb::overrideParameters (   self,
  module,
  parameters 
)

Definition at line 693 of file confdb.py.

00694                                                   :
00695     # override a module's parameter if the module is present in the configuration
00696     self.data += "if '%s' in %%(dict)s:\n" % module
00697     for (parameter, value) in parameters:
00698       self.data += "    %%(process)s%s.%s = %s\n" % (module, parameter, value)
00699     self.data += "\n"
00700 

def confdb::overrideProcessName (   self)

Definition at line 612 of file confdb.py.

00613                                :
00614     if self.config.name is None:
00615       return
00616 
00617     # override the process name
00618     quote = '[\'\"]'
00619     self.data = re.compile(r'^(process\s*=\s*cms\.Process\(\s*' + quote + r')\w+(' + quote + r'\s*\).*)$', re.MULTILINE).sub(r'\1%s\2' % self.config.name, self.data, 1)
00620 
00621     # the following was stolen and adapted from HLTrigger.Configuration.customL1THLT_Options
00622     self.data += """
00623 # adapt HLT modules to the correct process name
00624 if 'hltTrigReport' in %%(dict)s:
00625     %%(process)shltTrigReport.HLTriggerResults                    = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00626 
00627 if 'hltPreExpressCosmicsOutputSmart' in %%(dict)s:
00628     %%(process)shltPreExpressCosmicsOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00629 
00630 if 'hltPreExpressOutputSmart' in %%(dict)s:
00631     %%(process)shltPreExpressOutputSmart.TriggerResultsTag        = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00632 
00633 if 'hltPreDQMForHIOutputSmart' in %%(dict)s:
00634     %%(process)shltPreDQMForHIOutputSmart.TriggerResultsTag       = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00635 
00636 if 'hltPreDQMForPPOutputSmart' in %%(dict)s:
00637     %%(process)shltPreDQMForPPOutputSmart.TriggerResultsTag       = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00638 
00639 if 'hltPreHLTDQMResultsOutputSmart' in %%(dict)s:
00640     %%(process)shltPreHLTDQMResultsOutputSmart.TriggerResultsTag  = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00641 
00642 if 'hltPreHLTDQMOutputSmart' in %%(dict)s:
00643     %%(process)shltPreHLTDQMOutputSmart.TriggerResultsTag         = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00644 
00645 if 'hltPreHLTMONOutputSmart' in %%(dict)s:
00646     %%(process)shltPreHLTMONOutputSmart.TriggerResultsTag         = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00647 
00648 if 'hltDQMHLTScalers' in %%(dict)s:
00649     %%(process)shltDQMHLTScalers.triggerResults                   = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00650     %%(process)shltDQMHLTScalers.processname                      = '%(name)s'
00651 
00652 if 'hltDQML1SeedLogicScalers' in %%(dict)s:
00653     %%(process)shltDQML1SeedLogicScalers.processname              = '%(name)s'
00654 """ % self.config.__dict__
00655 

def confdb::runL1Emulator (   self)

Definition at line 538 of file confdb.py.

00539                          :
00540     # if requested, run (part of) the L1 emulator
00541     if self.config.emulator:
00542       # FIXME this fragment used "process" explicitly
00543       emulator = {
00544         'RawToDigi': '',
00545         'CustomL1T': '',
00546         'CustomHLT': ''
00547       }
00548 
00549       if self.config.data:
00550         emulator['RawToDigi'] = 'RawToDigi_Data_cff'
00551       else:
00552         emulator['RawToDigi'] = 'RawToDigi_cff'
00553 
00554       if self.config.emulator == 'gt':
00555         emulator['CustomL1T'] = 'customiseL1GtEmulatorFromRaw'
00556         emulator['CustomHLT'] = 'switchToSimGtDigis'
00557       elif self.config.emulator == 'gct,gt':
00558         emulator['CustomL1T'] = 'customiseL1CaloAndGtEmulatorsFromRaw'
00559         emulator['CustomHLT'] = 'switchToSimGctGtDigis'
00560       elif self.config.emulator == 'gmt,gt':
00561         # XXX currently unsupported
00562         emulator['CustomL1T'] = 'customiseL1MuonAndGtEmulatorsFromRaw'
00563         emulator['CustomHLT'] = 'switchToSimGmtGtDigis'
00564       elif self.config.emulator in ('gmt,gct,gt', 'gct,gmt,gt', 'all'):
00565         emulator['CustomL1T'] = 'customiseL1EmulatorFromRaw'
00566         emulator['CustomHLT'] = 'switchToSimGmtGctGtDigis'
00567       else:
00568         # unsupported argument, default to running the whole emulator
00569         emulator['CustomL1T'] = 'customiseL1EmulatorFromRaw'
00570         emulator['CustomHLT'] = 'switchToSimGmtGctGtDigis'
00571 
00572       self.data += """
00573 # customize the L1 emulator to run %(CustomL1T)s with HLT to %(CustomHLT)s
00574 process.load( 'Configuration.StandardSequences.%(RawToDigi)s' )
00575 process.load( 'Configuration.StandardSequences.SimL1Emulator_cff' )
00576 import L1Trigger.Configuration.L1Trigger_custom
00577 process = L1Trigger.Configuration.L1Trigger_custom.%(CustomL1T)s( process )
00578 process = L1Trigger.Configuration.L1Trigger_custom.customiseResetPrescalesAndMasks( process )
00579 
00580 # customize the HLT to use the emulated results
00581 import HLTrigger.Configuration.customizeHLTforL1Emulator
00582 process = HLTrigger.Configuration.customizeHLTforL1Emulator.switchToL1Emulator( process )
00583 process = HLTrigger.Configuration.customizeHLTforL1Emulator.%(CustomHLT)s( process )
00584 """ % emulator
00585 

def confdb::runL1EmulatorGT (   self)

Definition at line 507 of file confdb.py.

00508                            :
00509     # if requested, run (part of) the L1 emulator, then repack the data into a new RAW collection, to be used by the HLT
00510     if not self.config.emulator:
00511       return
00512 
00513     if self.config.emulator != 'gt':
00514       # only the GT emulator is currently supported
00515       return
00516 
00517     # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
00518     text = """
00519 # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
00520 """
00521     if self.config.fragment:
00522       # FIXME in a cff, should also update the HLTSchedule
00523       text += "import Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff\n"
00524     else:
00525       text += "process.load( 'Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff' )\n"
00526 
00527     if not 'hltBoolFalse' in self.data:
00528       # add hltBoolFalse
00529       text += """
00530 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
00531     result = cms.bool( False )
00532 )
00533 """
00534     text += "process.L1Emulator = cms.Path( process.SimL1Emulator + process.hltBoolFalse )\n\n"
00535 
00536     self.data = re.sub(r'.*cms\.(End)?Path.*', text + r'\g<0>', self.data, 1)
00537 

def confdb::splitter (   iterator,
  n 
)

Definition at line 11 of file confdb.py.

Referenced by TotemT1Organization::_FromUnitIDToData(), SplittingConfigurableHisto::fill(), HLTLogMonitorFilter::filter(), FWTriggerTableView::saveImageTo(), FWTableView::saveImageTo(), and SplittingConfigurableHisto::SplittingConfigurableHisto().

00012                          :
00013   i = iterator.__iter__()
00014   while True:
00015     l = list(islice(i, n))
00016     if l:
00017       yield l
00018     else:
00019       break
00020 

def confdb::updateMessageLogger (   self)

Definition at line 656 of file confdb.py.

00657                                :
00658     # request summary informations from the MessageLogger
00659     self.data += """
00660 if 'MessageLogger' in %(dict)s:
00661     %(process)sMessageLogger.categories.append('TriggerSummaryProducerAOD')
00662     %(process)sMessageLogger.categories.append('L1GtTrigReport')
00663     %(process)sMessageLogger.categories.append('HLTrigReport')
00664     %(process)sMessageLogger.categories.append('FastReport')
00665 """
00666 


Variable Documentation

Definition at line 816 of file confdb.py.

Definition at line 332 of file confdb.py.

Definition at line 1117 of file confdb.py.