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 487 of file confdb.py.

00488                                   :
00489     """arguments:
00490         name:     parameter name (optional)
00491         type:     parameter type (look for tracked and untracked variants)
00492         value:    original value
00493         replace:  replacement value
00494     """
00495     if 'name' in args:
00496       self.data = re.sub(
00497           r'%(name)s = cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
00498           r'%(name)s = cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
00499           self.data)
00500     else:
00501       self.data = re.sub(
00502           r'cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
00503           r'cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
00504           self.data)
00505 

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 469 of file confdb.py.

00470                             :
00471     # add global options
00472     self.data += """
00473 # limit the number of events to be processed
00474 %%(process)smaxEvents = cms.untracked.PSet(
00475     input = cms.untracked.int32( %d )
00476 )
00477 """ % self.config.events
00478 
00479     if not self.config.profiling:
00480       self.data += """
00481 # enable the TrigReport and TimeReport
00482 %(process)soptions = cms.untracked.PSet(
00483     wantSummary = cms.untracked.bool( True )
00484 )
00485 """
00486 

def confdb::build_source (   self)

Definition at line 1273 of file confdb.py.

01274                         :
01275     if self.config.input:
01276       # if a dataset or a list of input files was given, use it
01277       if self.config.input[0:8] == 'dataset:':
01278         from dbsFileQuery import dbsFileQuery
01279         # extract the dataset name, and use DBS to fine the list of LFNs
01280         dataset = self.config.input[8:]
01281         query   = 'find file where dataset=' + dataset
01282         files   = dbsFileQuery(query)
01283         self.source = files
01284       else:
01285         # assume a list of input files
01286         self.source = self.config.input.split(',')
01287     elif self.config.online:
01288       # online we always run on data
01289       self.source = [ "file:/tmp/InputCollection.root" ]
01290     elif self.config.data:
01291       # offline we can run on data...
01292       self.source = [ "file:RelVal_Raw_%s_DATA.root" % self.config.type ]
01293     else:
01294       # ...or on mc
01295       self.source = [ "file:RelVal_Raw_%s_STARTUP.root" % self.config.type ]
01296 
01297     self.data += """
01298 %(process)ssource = cms.Source( "PoolSource",
01299     fileNames = cms.untracked.vstring(
01300 """
01301     if self.source: 
01302       for line in self.source:
01303         self.data += "        '%s',\n" % line
01304     self.data += """    ),
01305     secondaryFileNames = cms.untracked.vstring(
01306 """
01307     if self.parent: 
01308       for line in self.parent:
01309         self.data += "        '%s',\n" % line
01310     self.data += """    ),
01311     inputCommands = cms.untracked.vstring(
01312         'keep *'
01313     )
01314 )
01315 """
def confdb::buildOptions (   self)

Definition at line 1029 of file confdb.py.

01030                         :
01031     # common configuration for all scenarios
01032     self.options['services'].append( "-FUShmDQMOutputService" )
01033 
01034     if self.config.fragment:
01035       # extract a configuration file fragment
01036       self.options['essources'].append( "-GlobalTag" )
01037       self.options['essources'].append( "-HepPDTESSource" )
01038       self.options['essources'].append( "-XMLIdealGeometryESSource" )
01039       self.options['essources'].append( "-eegeom" )
01040       self.options['essources'].append( "-es_hardcode" )
01041       self.options['essources'].append( "-magfield" )
01042 
01043       self.options['esmodules'].append( "-AutoMagneticFieldESProducer" )
01044       self.options['esmodules'].append( "-SlaveField0" )
01045       self.options['esmodules'].append( "-SlaveField20" )
01046       self.options['esmodules'].append( "-SlaveField30" )
01047       self.options['esmodules'].append( "-SlaveField35" )
01048       self.options['esmodules'].append( "-SlaveField38" )
01049       self.options['esmodules'].append( "-SlaveField40" )
01050       self.options['esmodules'].append( "-VBF0" )
01051       self.options['esmodules'].append( "-VBF20" )
01052       self.options['esmodules'].append( "-VBF30" )
01053       self.options['esmodules'].append( "-VBF35" )
01054       self.options['esmodules'].append( "-VBF38" )
01055       self.options['esmodules'].append( "-VBF40" )
01056       self.options['esmodules'].append( "-CSCGeometryESModule" )
01057       self.options['esmodules'].append( "-CaloGeometryBuilder" )
01058       self.options['esmodules'].append( "-CaloTowerHardcodeGeometryEP" )
01059       self.options['esmodules'].append( "-CastorHardcodeGeometryEP" )
01060       self.options['esmodules'].append( "-DTGeometryESModule" )
01061       self.options['esmodules'].append( "-EcalBarrelGeometryEP" )
01062       self.options['esmodules'].append( "-EcalElectronicsMappingBuilder" )
01063       self.options['esmodules'].append( "-EcalEndcapGeometryEP" )
01064       self.options['esmodules'].append( "-EcalLaserCorrectionService" )
01065       self.options['esmodules'].append( "-EcalPreshowerGeometryEP" )
01066       self.options['esmodules'].append( "-HcalHardcodeGeometryEP" )
01067       self.options['esmodules'].append( "-HcalTopologyIdealEP" )
01068       self.options['esmodules'].append( "-MuonNumberingInitialization" )
01069       self.options['esmodules'].append( "-ParametrizedMagneticFieldProducer" )
01070       self.options['esmodules'].append( "-RPCGeometryESModule" )
01071       self.options['esmodules'].append( "-SiStripGainESProducer" )
01072       self.options['esmodules'].append( "-SiStripRecHitMatcherESProducer" )
01073       self.options['esmodules'].append( "-SiStripQualityESProducer" )
01074       self.options['esmodules'].append( "-StripCPEfromTrackAngleESProducer" )
01075       self.options['esmodules'].append( "-TrackerDigiGeometryESModule" )
01076       self.options['esmodules'].append( "-TrackerGeometricDetESModule" )
01077       self.options['esmodules'].append( "-VolumeBasedMagneticFieldESProducer" )
01078       self.options['esmodules'].append( "-ZdcHardcodeGeometryEP" )
01079       self.options['esmodules'].append( "-hcal_db_producer" )
01080       self.options['esmodules'].append( "-L1GtTriggerMaskAlgoTrigTrivialProducer" )
01081       self.options['esmodules'].append( "-L1GtTriggerMaskTechTrigTrivialProducer" )
01082       self.options['esmodules'].append( "-hltESPEcalTrigTowerConstituentsMapBuilder" )
01083       self.options['esmodules'].append( "-hltESPGlobalTrackingGeometryESProducer" )
01084       self.options['esmodules'].append( "-hltESPMuonDetLayerGeometryESProducer" )
01085       self.options['esmodules'].append( "-hltESPTrackerRecoGeometryESProducer" )
01086       if not self.config.fastsim:
01087         self.options['esmodules'].append( "-CaloTowerGeometryFromDBEP" )
01088         self.options['esmodules'].append( "-CastorGeometryFromDBEP" )
01089         self.options['esmodules'].append( "-EcalBarrelGeometryFromDBEP" )
01090         self.options['esmodules'].append( "-EcalEndcapGeometryFromDBEP" )
01091         self.options['esmodules'].append( "-EcalPreshowerGeometryFromDBEP" )
01092         self.options['esmodules'].append( "-HcalGeometryFromDBEP" )
01093         self.options['esmodules'].append( "-ZdcGeometryFromDBEP" )
01094         self.options['esmodules'].append( "-XMLFromDBSource" )
01095         self.options['esmodules'].append( "-sistripconn" )
01096 
01097       self.options['services'].append( "-PrescaleService" )
01098       self.options['services'].append( "-MessageLogger" )
01099       self.options['services'].append( "-DQM" )
01100       self.options['services'].append( "-DQMStore" )
01101       self.options['services'].append( "-MicroStateService" )
01102       self.options['services'].append( "-ModuleWebRegistry" )
01103       self.options['services'].append( "-TimeProfilerService" )
01104       self.options['services'].append( "-FastTimerService" )
01105 
01106       self.options['psets'].append( "-maxEvents" )
01107       self.options['psets'].append( "-options" )
01108 
01109     if self.config.fastsim:
01110       # remove components not supported or needed by fastsim
01111       self.options['esmodules'].append( "-navigationSchoolESProducer" )
01112       self.options['esmodules'].append( "-TransientTrackBuilderESProducer" )
01113       self.options['esmodules'].append( "-SteppingHelixPropagatorAny" )
01114       self.options['esmodules'].append( "-OppositeMaterialPropagator" )
01115       self.options['esmodules'].append( "-MaterialPropagator" )
01116       self.options['esmodules'].append( "-CaloTowerConstituentsMapBuilder" )
01117       self.options['esmodules'].append( "-CaloTopologyBuilder" )
01118 
01119       self.options['services'].append( "-UpdaterService" )
01120 
01121       self.options['modules'].append( "hltL3MuonIsolations" )
01122       self.options['modules'].append( "hltPixelVertices" )
01123       self.options['modules'].append( "-hltCkfL1SeededTrackCandidates" )
01124       self.options['modules'].append( "-hltCtfL1SeededithMaterialTracks" )
01125       self.options['modules'].append( "-hltCkf3HitL1SeededTrackCandidates" )
01126       self.options['modules'].append( "-hltCtf3HitL1SeededWithMaterialTracks" )
01127       self.options['modules'].append( "-hltCkf3HitActivityTrackCandidates" )
01128       self.options['modules'].append( "-hltCtf3HitActivityWithMaterialTracks" )
01129       self.options['modules'].append( "-hltActivityCkfTrackCandidatesForGSF" )
01130       self.options['modules'].append( "-hltL1SeededCkfTrackCandidatesForGSF" )
01131       self.options['modules'].append( "-hltMuCkfTrackCandidates" )
01132       self.options['modules'].append( "-hltMuCtfTracks" )
01133       self.options['modules'].append( "-hltTau3MuCkfTrackCandidates" )
01134       self.options['modules'].append( "-hltTau3MuCtfWithMaterialTracks" )
01135       self.options['modules'].append( "-hltMuTrackJpsiCkfTrackCandidates" )
01136       self.options['modules'].append( "-hltMuTrackJpsiCtfTracks" )
01137       self.options['modules'].append( "-hltMuTrackJpsiEffCkfTrackCandidates" )
01138       self.options['modules'].append( "-hltMuTrackJpsiEffCtfTracks" )
01139       self.options['modules'].append( "-hltJpsiTkPixelSeedFromL3Candidate" )
01140       self.options['modules'].append( "-hltCkfTrackCandidatesJpsiTk" )
01141       self.options['modules'].append( "-hltCtfWithMaterialTracksJpsiTk" )
01142       self.options['modules'].append( "-hltMuTrackCkfTrackCandidatesOnia" )
01143       self.options['modules'].append( "-hltMuTrackCtfTracksOnia" )
01144       
01145       self.options['modules'].append( "-hltESRegionalEgammaRecHit" )
01146       self.options['modules'].append( "-hltEcalRegionalJetsFEDs" )
01147       self.options['modules'].append( "-hltEcalRegionalMuonsFEDs" )
01148       self.options['modules'].append( "-hltEcalRegionalEgammaFEDs" )
01149       self.options['modules'].append( "-hltFEDSelector" )
01150       self.options['modules'].append( "-hltL3TrajSeedOIHit" )
01151       self.options['modules'].append( "-hltL3TrajSeedIOHit" )
01152       self.options['modules'].append( "-hltL3TrackCandidateFromL2OIState" )
01153       self.options['modules'].append( "-hltL3TrackCandidateFromL2OIHit" )
01154       self.options['modules'].append( "-hltL3TrackCandidateFromL2IOHit" )
01155       self.options['modules'].append( "-hltL3TrackCandidateFromL2NoVtx" )
01156       self.options['modules'].append( "-hltHcalDigis" )
01157       self.options['modules'].append( "-hltHoreco" )
01158       self.options['modules'].append( "-hltHfreco" )
01159       self.options['modules'].append( "-hltHbhereco" )
01160       self.options['modules'].append( "-hltEcalRegionalRestFEDs" )
01161       self.options['modules'].append( "-hltEcalRegionalESRestFEDs" )
01162       self.options['modules'].append( "-hltEcalRawToRecHitFacility" )
01163       self.options['modules'].append( "-hltESRawToRecHitFacility" )
01164       self.options['modules'].append( "-hltEcalRegionalJetsRecHit" )
01165       self.options['modules'].append( "-hltEcalRegionalMuonsRecHit" )
01166       self.options['modules'].append( "-hltEcalRegionalEgammaRecHit" )
01167       self.options['modules'].append( "-hltEcalRecHitAll" )
01168       self.options['modules'].append( "-hltESRecHitAll" )
01169       # === hltPF
01170       self.options['modules'].append( "-hltPFJetCkfTrackCandidates" )
01171       self.options['modules'].append( "-hltPFJetCtfWithMaterialTracks" )
01172       self.options['modules'].append( "-hltPFlowTrackSelectionHighPurity" )
01173       # === hltFastJet
01174       self.options['modules'].append( "-hltDisplacedHT250L1FastJetRegionalPixelSeedGenerator" )
01175       self.options['modules'].append( "-hltDisplacedHT250L1FastJetRegionalCkfTrackCandidates" )
01176       self.options['modules'].append( "-hltDisplacedHT250L1FastJetRegionalCtfWithMaterialTracks" )     
01177       self.options['modules'].append( "-hltDisplacedHT300L1FastJetRegionalPixelSeedGenerator" )
01178       self.options['modules'].append( "-hltDisplacedHT300L1FastJetRegionalCkfTrackCandidates" )
01179       self.options['modules'].append( "-hltDisplacedHT300L1FastJetRegionalCtfWithMaterialTracks" )     
01180       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJet" )
01181       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJet" )
01182       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJet" )     
01183       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorHbbVBF" )
01184       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesHbbVBF" )
01185       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksHbbVBF" )
01186       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet" )
01187       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet" )
01188       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet" )
01189       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet" )
01190       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet" )
01191       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet" )
01192       # === hltBLifetimeRegional
01193       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorHbb" )
01194       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesHbb" )
01195       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksHbb" )
01196       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorbbPhi" )
01197       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesbbPhi" )
01198       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksbbPhi" )
01199       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb" )
01200       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb" )
01201       self.options['modules'].append( "-hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb" )
01202       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb" )
01203       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb" )
01204       self.options['modules'].append( "-hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb" )
01205       self.options['modules'].append( "-hltBLifetimeFastRegionalPixelSeedGeneratorHbbVBF" )
01206       self.options['modules'].append( "-hltBLifetimeFastRegionalCkfTrackCandidatesHbbVBF" )
01207       self.options['modules'].append( "-hltBLifetimeFastRegionalCtfWithMaterialTracksHbbVBF" )
01208       self.options['modules'].append( "-hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJetFastPV" )
01209       self.options['modules'].append( "-hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJetFastPV" )
01210       self.options['modules'].append( "-hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJetFastPV" )
01211       self.options['modules'].append( "-hltFastPixelBLifetimeRegionalPixelSeedGeneratorHbb" )
01212       self.options['modules'].append( "-hltFastPixelBLifetimeRegionalCkfTrackCandidatesHbb" )
01213       self.options['modules'].append( "-hltFastPixelBLifetimeRegionalCtfWithMaterialTracksHbb" )
01214      
01215       self.options['modules'].append( "-hltPixelTracksForMinBias" )
01216       self.options['modules'].append( "-hltPixelTracksForHighMult" )
01217       self.options['modules'].append( "-hltRegionalPixelTracks" )
01218       self.options['modules'].append( "-hltPixelTracksReg" )
01219       self.options['modules'].append( "-hltIter4Merged" )
01220       self.options['modules'].append( "-hltFastPixelHitsVertex" )
01221       self.options['modules'].append( "-hltFastPixelTracks")
01222       self.options['modules'].append( "-hltFastPixelTracksRecover")
01223       
01224       self.options['modules'].append( "-hltFastPrimaryVertexbbPhi")
01225       self.options['modules'].append( "-hltPixelTracksFastPVbbPhi")
01226       self.options['modules'].append( "-hltPixelTracksRecoverbbPhi" )
01227       self.options['modules'].append( "-hltFastPixelHitsVertexVHbb" )
01228       self.options['modules'].append( "-hltFastPixelTracksVHbb" )
01229       self.options['modules'].append( "-hltFastPixelTracksRecoverVHbb" )
01230 
01231       self.options['modules'].append( "-hltFastPrimaryVertex")
01232       self.options['modules'].append( "-hltFastPVPixelTracks")
01233       self.options['modules'].append( "-hltFastPVPixelTracksRecover" )
01234 
01235       self.options['modules'].append( "-hltIter4Tau3MuMerged" )
01236       self.options['modules'].append( "hltPixelMatchElectronsActivity" )
01237 
01238       self.options['modules'].append( "-hltMuonCSCDigis" )
01239       self.options['modules'].append( "-hltMuonDTDigis" )
01240       self.options['modules'].append( "-hltMuonRPCDigis" )
01241       self.options['modules'].append( "-hltGtDigis" )
01242       self.options['modules'].append( "-hltL1GtTrigReport" )
01243       self.options['modules'].append( "hltCsc2DRecHits" )
01244       self.options['modules'].append( "hltDt1DRecHits" )
01245       self.options['modules'].append( "hltRpcRecHits" )
01246       self.options['modules'].append( "-hltScalersRawToDigi" )
01247 
01248       self.options['sequences'].append( "-HLTL1SeededEgammaRegionalRecoTrackerSequence" )
01249       self.options['sequences'].append( "-HLTEcalActivityEgammaRegionalRecoTrackerSequence" )
01250       self.options['sequences'].append( "-HLTPixelMatchElectronActivityTrackingSequence" )
01251       self.options['sequences'].append( "-HLTDoLocalStripSequence" )
01252       self.options['sequences'].append( "-HLTDoLocalPixelSequence" )
01253       self.options['sequences'].append( "-HLTDoLocalPixelSequenceRegL2Tau" )
01254       self.options['sequences'].append( "-hltSiPixelDigis" )
01255       self.options['sequences'].append( "-hltSiPixelClusters" )
01256       self.options['sequences'].append( "-hltSiPixelRecHits" )
01257       self.options['sequences'].append( "-HLTRecopixelvertexingSequence" )
01258       self.options['sequences'].append( "-HLTEndSequence" )
01259       self.options['sequences'].append( "-HLTBeginSequence" )
01260       self.options['sequences'].append( "-HLTBeginSequenceNZS" )
01261       self.options['sequences'].append( "-HLTBeginSequenceBPTX" )
01262       self.options['sequences'].append( "-HLTBeginSequenceAntiBPTX" )
01263       self.options['sequences'].append( "-HLTHBHENoiseSequence" )
01264       self.options['sequences'].append( "-HLTIterativeTracking" )
01265       self.options['sequences'].append( "-HLTIterativeTrackingTau3Mu" )
01266       self.options['sequences'].append( "-HLTRegionalCKFTracksForL3Isolation" )
01267       self.options['sequences'].append( "-HLTHBHENoiseCleanerSequence" )
01268 
01269       # remove HLTAnalyzerEndpath from fastsim cff's
01270       if self.config.fragment:
01271         self.options['paths'].append( "-HLTAnalyzerEndpath" )
01272 

def confdb::buildPathList (   self)

Definition at line 972 of file confdb.py.

00973                          :
00974     self.all_paths = self.getPathList()
00975 
00976     if self.config.paths:
00977       # no path list was requested, dump the full table, minus unsupported / unwanted paths
00978       paths = self.config.paths.split(',')
00979     else:
00980       # dump only the requested paths, plus the eventual output endpaths
00981       paths = []
00982 
00983     if self.config.fragment or self.config.output in ('none', 'full'):
00984       # 'full' removes all outputs (same as 'none') and then adds a single "keep *" output (see the overrideOutput method)
00985       if self.config.paths:
00986         # paths are removed by default
00987         pass    
00988       else:
00989         # drop all output endpaths
00990         paths.append( "-*Output" )
00991     elif self.config.output == 'minimal':
00992       # drop all output endpaths but HLTDQMResultsOutput
00993       if self.config.paths:
00994         paths.append( "HLTDQMResultsOutput" )
00995       else:
00996         paths.append( "-*Output" )
00997         paths.append( "HLTDQMResultsOutput" )
00998     else:
00999       # keep / add back all output endpaths
01000       if self.config.paths:
01001         paths.append( "*Output" )
01002       else:
01003         pass    # paths are kepy by default
01004 
01005     # drop paths unsupported by fastsim
01006     if self.config.fastsim:
01007       paths.extend( "-%s" % path for path in self.fastsimUnsupportedPaths )
01008 
01009     # drop unwanted paths for profiling (and timing studies)
01010     if self.config.profiling:
01011       paths.append( "-HLTriggerFirstPath" )
01012       paths.append( "-HLTAnalyzerEndpath" )
01013 
01014     # this should never be in any dump (nor online menu)
01015     paths.append( "-OfflineOutput" )
01016 
01017     # expand all wildcards
01018     paths = self.expandWildcards(paths, self.all_paths)
01019 
01020     if self.config.paths:
01021       # do an "additive" consolidation
01022       self.options['paths'] = self.consolidatePositiveList(paths)
01023       if not self.options['paths']:
01024         raise RuntimeError('Error: option "--paths %s" does not select any valid paths' % self.config.paths)
01025     else:
01026       # do a "subtractive" consolidation
01027       self.options['paths'] = self.consolidateNegativeList(paths)
01028 

def confdb::dumppaths (   paths)

Definition at line 966 of file confdb.py.

00967                       :
00968     sys.stderr.write('Path selection:\n')
00969     for path in paths:
00970       sys.stderr.write('\t%s\n' % path)
00971     sys.stderr.write('\n\n')

def confdb::fixForFastSim (   self)

Definition at line 517 of file confdb.py.

00518                          :
00519     if self.config.fastsim:
00520       # adapt the hle configuration (fragment) to run under fastsim
00521       self.data = re.sub( r'import FWCore.ParameterSet.Config as cms', r'\g<0>\nfrom FastSimulation.HighLevelTrigger.HLTSetup_cff import *', self.data)
00522 
00523       # remove the definition of streams and datasets
00524       self.data = re.compile( r'^streams.*\n(.*\n)*?^\)\s*\n',  re.MULTILINE ).sub( '', self.data )
00525       self.data = re.compile( r'^datasets.*\n(.*\n)*?^\)\s*\n', re.MULTILINE ).sub( '', self.data )
00526 
00527       # fix the definition of module
00528       # FIXME: this should be updated to take into accout the --l1-emulator option
00529       self._fix_parameter(                               type = 'InputTag', value = 'hltL1extraParticles',  replace = 'l1extraParticles')
00530       self._fix_parameter(name = 'GMTReadoutCollection', type = 'InputTag', value = 'hltGtDigis',           replace = 'gmtDigis')
00531       self._fix_parameter(                               type = 'InputTag', value = 'hltGtDigis',           replace = 'gtDigis')
00532       self._fix_parameter(                               type = 'InputTag', value = 'hltL1GtObjectMap',     replace = 'gtDigis')
00533       self._fix_parameter(name = 'initialSeeds',         type = 'InputTag', value = 'noSeedsHere',          replace = 'globalPixelSeeds:GlobalPixel')
00534       self._fix_parameter(name = 'preFilteredSeeds',     type = 'bool',     value = 'True',                 replace = 'False')
00535       self._fix_parameter(                               type = 'InputTag', value = 'hltOfflineBeamSpot',   replace = 'offlineBeamSpot')
00536       self._fix_parameter(                               type = 'InputTag', value = 'hltOnlineBeamSpot',    replace = 'offlineBeamSpot')
00537       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonCSCDigis',      replace = 'simMuonCSCDigis')
00538       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonDTDigis',       replace = 'simMuonDTDigis')
00539       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonRPCDigis',      replace = 'simMuonRPCDigis')
00540       self._fix_parameter(                               type = 'InputTag', value = 'hltRegionalTracksForL3MuonIsolation', replace = 'hltPixelTracks')
00541       self._fix_parameter(name = 'src',                  type = 'InputTag', value = 'hltHcalTowerNoiseCleaner', replace = 'hltTowerMakerForAll')
00542       self._fix_parameter(name = 'src',                  type = 'InputTag', value = 'hltIter4Tau3MuMerged', replace = 'hltIter4Merged')
00543 
00544       # fix the definition of sequences and paths
00545       self.data = re.sub( r'hltMuonCSCDigis', r'cms.SequencePlaceholder( "simMuonCSCDigis" )',  self.data )
00546       self.data = re.sub( r'hltMuonDTDigis',  r'cms.SequencePlaceholder( "simMuonDTDigis" )',   self.data )
00547       self.data = re.sub( r'hltMuonRPCDigis', r'cms.SequencePlaceholder( "simMuonRPCDigis" )',  self.data )
00548       self.data = re.sub( r'HLTEndSequence',  r'cms.SequencePlaceholder( "HLTEndSequence" )',   self.data )
00549       self.data = re.sub( r'hltGtDigis',      r'HLTBeginSequence',                              self.data )
00550 

def confdb::fixForMC (   self)

Definition at line 506 of file confdb.py.

00507                     :
00508     if not self.config.data:
00509       # customise the HLT menu for running on MC
00510       if not self.config.fragment:
00511         self.data += """
00512 # customise the HLT menu for running on MC
00513 from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC
00514 process = customizeHLTforMC(process)
00515 """
00516 

def confdb::fixPrescales (   self)

Definition at line 551 of file confdb.py.

00552                         :
00553     # update the PrescaleService to match the new list of paths
00554     if self.options['paths']:
00555       if self.options['paths'][0][0] == '-':
00556         # drop requested paths
00557         for minuspath in self.options['paths']:
00558           path = minuspath[1:]
00559           self.data = re.sub(r'      cms.PSet\(  pathName = cms.string\( "%s" \),\n        prescales = cms.vuint32\( .* \)\n      \),?\n' % path, '', self.data)
00560       else:
00561         # keep requested paths
00562         for path in self.all_paths:
00563           if path not in self.options['paths']:
00564             self.data = re.sub(r'      cms.PSet\(  pathName = cms.string\( "%s" \),\n        prescales = cms.vuint32\( .* \)\n      \),?\n' % path, '', self.data)
00565 
00566     if self.config.unprescale:
00567       self.data += """
00568 # remove the HLT prescales
00569 if 'PrescaleService' in %(dict)s:
00570     %(process)sPrescaleService.lvl1DefaultLabel = cms.string( '0' )
00571     %(process)sPrescaleService.lvl1Labels       = cms.vstring( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' )
00572     %(process)sPrescaleService.prescaleTable    = cms.VPSet( )
00573 """
00574 

def confdb::instrumentErrorEventType (   self)

Definition at line 589 of file confdb.py.

00590                                     :
00591     if self.config.errortype:
00592       # change all HLTTriggerTypeFilter EDFilters to accept only error events (SelectedTriggerType = 0)
00593       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '1', replace = '0')
00594       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '2', replace = '0')
00595       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '3', replace = '0')
00596 

def confdb::instrumentOpenMode (   self)

Definition at line 575 of file confdb.py.

00576                               :
00577     if self.config.open:
00578       # find all EDfilters
00579       filters = [ match[1] for match in re.findall(r'(process\.)?\b(\w+) = cms.EDFilter', self.data) ]
00580       re_sequence = re.compile( r'cms\.(Path|Sequence)\((.*)\)' )
00581       # remove existing 'cms.ingore' and '~' modifiers
00582       self.data = re_sequence.sub( lambda line: re.sub( r'cms\.ignore *\( *((process\.)?\b(\w+)) *\)', r'\1', line.group(0) ), self.data )
00583       self.data = re_sequence.sub( lambda line: re.sub( r'~', '', line.group(0) ), self.data )
00584       # wrap all EDfilters with "cms.ignore( ... )", 1000 at a time (python 2.6 complains for too-big regular expressions)
00585       for some in splitter(filters, 1000):
00586         re_filters  = re.compile( r'\b((process\.)?(' + r'|'.join(some) + r'))\b' )
00587         self.data = re_sequence.sub( lambda line: re_filters.sub( r'cms.ignore( \1 )', line.group(0) ), self.data )
00588 

def confdb::instrumentTiming (   self)

Definition at line 858 of file confdb.py.

00859                             :
00860     if self.config.profiling:
00861       # instrument the menu for profiling: remove the HLTAnalyzerEndpath, add/override the HLTriggerFirstPath, with hltGetRaw and hltGetConditions
00862       text = ''
00863 
00864       if not 'hltGetRaw' in self.data:
00865         # add hltGetRaw
00866         text += """
00867 %(process)shltGetRaw = cms.EDAnalyzer( "HLTGetRaw",
00868     RawDataCollection = cms.InputTag( "rawDataCollector" )
00869 )
00870 """
00871 
00872       if not 'hltGetConditions' in self.data:
00873         # add hltGetConditions
00874         text += """
00875 %(process)shltGetConditions = cms.EDAnalyzer( 'EventSetupRecordDataGetter',
00876     verbose = cms.untracked.bool( False ),
00877     toGet = cms.VPSet( )
00878 )
00879 """
00880 
00881       if not 'hltBoolFalse' in self.data:
00882         # add hltBoolFalse
00883         text += """
00884 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
00885     result = cms.bool( False )
00886 )
00887 """
00888 
00889       # add the definition of HLTriggerFirstPath
00890       # FIXME in a cff, should also update the HLTSchedule
00891       text += """
00892 %(process)sHLTriggerFirstPath = cms.Path( %(process)shltGetRaw + %(process)shltGetConditions + %(process)shltBoolFalse )
00893 """
00894       self.data = re.sub(r'.*cms\.(End)?Path.*', text + r'\g<0>', self.data, 1)
00895 
00896 
00897     # instrument the menu with the Service, EDProducer and EndPath needed for timing studies
00898     # FIXME in a cff, should also update the HLTSchedule
00899     if self.config.timing:
00900       self.data += """
00901 # instrument the menu with the modules and EndPath needed for timing studies
00902 """
00903 
00904       hasFST = False
00905       if 'FastTimerService' in self.data:
00906         hasFST = True
00907 
00908       self.data += '\n# configure the FastTimerService\n'
00909       if not hasFST:
00910         self.loadCff('HLTrigger.Timer.FastTimerService_cfi')
00911       self.data += """%(process)sFastTimerService.useRealTimeClock          = False
00912 %(process)sFastTimerService.enableTimingPaths         = True
00913 %(process)sFastTimerService.enableTimingModules       = True
00914 %(process)sFastTimerService.enableTimingExclusive     = True
00915 %(process)sFastTimerService.enableTimingSummary       = True
00916 %(process)sFastTimerService.skipFirstPath             = True
00917 %(process)sFastTimerService.enableDQM                 = True
00918 %(process)sFastTimerService.enableDQMbyPathActive     = True
00919 %(process)sFastTimerService.enableDQMbyPathTotal      = True
00920 %(process)sFastTimerService.enableDQMbyPathOverhead   = True
00921 %(process)sFastTimerService.enableDQMbyPathDetails    = True
00922 %(process)sFastTimerService.enableDQMbyPathCounters   = True
00923 %(process)sFastTimerService.enableDQMbyPathExclusive  = True
00924 %(process)sFastTimerService.enableDQMbyModule         = True
00925 %(process)sFastTimerService.enableDQMSummary          = True
00926 %(process)sFastTimerService.enableDQMbyLuminosity     = True
00927 %(process)sFastTimerService.enableDQMbyLumiSection    = True
00928 %(process)sFastTimerService.enableDQMbyProcesses      = False
00929 %(process)sFastTimerService.dqmTimeRange              =  1000. 
00930 %(process)sFastTimerService.dqmTimeResolution         =     5. 
00931 %(process)sFastTimerService.dqmPathTimeRange          =   100. 
00932 %(process)sFastTimerService.dqmPathTimeResolution     =     0.5
00933 %(process)sFastTimerService.dqmModuleTimeRange        =    40. 
00934 %(process)sFastTimerService.dqmModuleTimeResolution   =     0.2
00935 %(process)sFastTimerService.dqmLuminosityRange        = 1e+34
00936 %(process)sFastTimerService.dqmLuminosityResolution   = 1e+31
00937 %(process)sFastTimerService.dqmLumiSectionsRange      =  2500
00938 %(process)sFastTimerService.dqmPath                   = 'HLT/TimerService'
00939 %(process)sFastTimerService.luminosityProduct         = cms.untracked.InputTag( 'hltScalersRawToDigi' )
00940 %(process)sFastTimerService.supportedProcesses        = cms.untracked.vuint32( )
00941 """
00942 
00943       self.data += """
00944 # FastTimerServiceClient
00945 %(process)sfastTimerServiceClient = cms.EDAnalyzer( "FastTimerServiceClient",
00946     dqmPath = cms.untracked.string( "HLT/TimerService" )
00947 )
00948 
00949 # DQM file saver
00950 %(process)sdqmFileSaver = cms.EDAnalyzer( "DQMFileSaver",
00951     convention        = cms.untracked.string( "Offline" ),
00952     workflow          = cms.untracked.string( "/HLT/FastTimerService/All" ),
00953     dirName           = cms.untracked.string( "." ),
00954     saveByRun         = cms.untracked.int32(1),
00955     saveByLumiSection = cms.untracked.int32(-1),
00956     saveByEvent       = cms.untracked.int32(-1),
00957     saveByTime        = cms.untracked.int32(-1),
00958     saveByMinute      = cms.untracked.int32(-1),
00959     saveAtJobEnd      = cms.untracked.bool(False),
00960     forceRunNumber    = cms.untracked.int32(-1),
00961 )
00962 
00963 %(process)sTimingOutput = cms.EndPath( %(process)sfastTimerServiceClient + %(process)sdqmFileSaver )
00964 """

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

Definition at line 824 of file confdb.py.

00825                                                           :
00826     # load additional conditions
00827     self.data += """
00828 # %s
00829 if 'GlobalTag' in %%(dict)s:
00830 """ % comment
00831     for condition in conditions:
00832       self.data += """    %%(process)sGlobalTag.toGet.append(
00833         cms.PSet(
00834             record  = cms.string( '%(record)s' ),
00835             tag     = cms.string( '%(tag)s' ),
00836             label   = cms.untracked.string( '%(label)s' ),
00837             connect = cms.untracked.string( '%(connect)s' )
00838         )
00839     )
00840 """ % condition
00841 

def confdb::loadCff (   self,
  module 
)

Definition at line 842 of file confdb.py.

00843                            :
00844     # load a cfi or cff module
00845     if self.config.fragment:
00846       self.data += 'from %s import *\n' % module
00847     else:
00848       self.data += 'process.load( "%s" )\n' % module
00849 

def confdb::overrideGlobalTag (   self)

Definition at line 597 of file confdb.py.

00598                              :
00599     # overwrite GlobalTag
00600     # the logic is:
00601     #   - always set the correct connection string and pfnPrefix
00602     #   - if a GlobalTag is specified on the command line:
00603     #      - override the global tag
00604     #      - if the GT is "auto:...", insert the code to read it from Configuration.AlCa.autoCond
00605     #   - if a GlobalTag is NOT  specified on the command line:
00606     #      - when running on data, do nothing, and keep the global tag in the menu
00607     #      - when running on mc, take the GT from the configuration.type
00608 
00609     # override the GlobalTag connection string and pfnPrefix
00610     text = """
00611 # override the GlobalTag, connection string and pfnPrefix
00612 if 'GlobalTag' in %(dict)s:
00613     %(process)sGlobalTag.connect   = '%(connect)s/CMS_COND_31X_GLOBALTAG'
00614     %(process)sGlobalTag.pfnPrefix = cms.untracked.string('%(connect)s/')
00615 """
00616 
00617     # when running on MC, override the global tag even if not specified on the command line
00618     if not self.config.data and not self.config.globaltag:
00619       if self.config.type in globalTag:
00620         self.config.globaltag = globalTag[self.config.type]
00621       else:
00622         self.config.globaltag = globalTag['GRun']
00623 
00624     # if requested, override the L1 menu from the GlobalTag (using the same connect as the GlobalTag itself)
00625     if self.config.l1.override:
00626       self.config.l1.record = 'L1GtTriggerMenuRcd'
00627       self.config.l1.label  = ''
00628       self.config.l1.tag    = self.config.l1.override
00629       if not self.config.l1.connect:
00630         self.config.l1.connect = '%(connect)s/CMS_COND_31X_L1T'
00631       self.config.l1cond = '%(tag)s,%(record)s,%(connect)s' % self.config.l1.__dict__
00632     else:
00633       self.config.l1cond = None
00634 
00635     if self.config.globaltag or self.config.l1cond:
00636       text += "    from Configuration.AlCa.GlobalTag import GlobalTag as customiseGlobalTag\n"
00637       text += "    %(process)sGlobalTag = customiseGlobalTag(%(process)sGlobalTag"
00638       if self.config.globaltag:
00639         text += ", globaltag = %s"  % repr(self.config.globaltag)
00640       if self.config.l1cond:
00641         text += ", conditions = %s" % repr(self.config.l1cond)
00642       text += ")\n"
00643 
00644     self.data += text

def confdb::overrideL1MenuXml (   self)

Definition at line 645 of file confdb.py.

00646                              :
00647     # if requested, override the L1 menu from the GlobalTag (Xml file)
00648     if self.config.l1Xml.XmlFile:
00649       text = """
00650 # override the L1 menu from an Xml file
00651 %%(process)sl1GtTriggerMenuXml = cms.ESProducer("L1GtTriggerMenuXmlProducer",
00652   TriggerMenuLuminosity = cms.string('%(LumiDir)s'),
00653   DefXmlFile = cms.string('%(XmlFile)s'),
00654   VmeXmlFile = cms.string('')
00655 )
00656 %%(process)sL1GtTriggerMenuRcdSource = cms.ESSource("EmptyESSource",
00657   recordName = cms.string('L1GtTriggerMenuRcd'),
00658   iovIsRunNotTime = cms.bool(True),
00659   firstValid = cms.vuint32(1)
00660 )
00661 %%(process)ses_prefer_l1GtParameters = cms.ESPrefer('L1GtTriggerMenuXmlProducer','l1GtTriggerMenuXml') 
00662 """
00663       self.data += text % self.config.l1Xml.__dict__

def confdb::overrideOutput (   self)

Definition at line 743 of file confdb.py.

00744                           :
00745     # override the "online" ShmStreamConsumer output modules with "offline" PoolOutputModule's
00746     self.data = re.sub(
00747       r'\b(process\.)?hltOutput(\w+) *= *cms\.OutputModule\( *"ShmStreamConsumer" *,',
00748       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    ),',
00749       self.data
00750     )
00751 
00752     if not self.config.fragment and self.config.output == 'full':
00753       # add a single "keep *" output
00754       self.data += """
00755 # add a single "keep *" output
00756 %(process)shltOutputFULL = cms.OutputModule( "PoolOutputModule",
00757     fileName = cms.untracked.string( "outputFULL.root" ),
00758     fastCloning = cms.untracked.bool( False ),
00759     dataset = cms.untracked.PSet(
00760         dataTier = cms.untracked.string( 'RECO' ),
00761         filterName = cms.untracked.string( '' )
00762     ),
00763     outputCommands = cms.untracked.vstring( 'keep *' )
00764 )
00765 %(process)sFULLOutput = cms.EndPath( %(process)shltOutputFULL )
00766 """
00767 

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

Definition at line 850 of file confdb.py.

00851                                                   :
00852     # override a module's parameter if the module is present in the configuration
00853     self.data += "if '%s' in %%(dict)s:\n" % module
00854     for (parameter, value) in parameters:
00855       self.data += "    %%(process)s%s.%s = %s\n" % (module, parameter, value)
00856     self.data += "\n"
00857 

def confdb::overrideProcessName (   self)

Definition at line 769 of file confdb.py.

00770                                :
00771     if self.config.name is None:
00772       return
00773 
00774     # override the process name
00775     quote = '[\'\"]'
00776     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)
00777 
00778     # the following was stolen and adapted from HLTrigger.Configuration.customL1THLT_Options
00779     self.data += """
00780 # adapt HLT modules to the correct process name
00781 if 'hltTrigReport' in %%(dict)s:
00782     %%(process)shltTrigReport.HLTriggerResults                    = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00783 
00784 if 'hltPreExpressCosmicsOutputSmart' in %%(dict)s:
00785     %%(process)shltPreExpressCosmicsOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00786 
00787 if 'hltPreExpressOutputSmart' in %%(dict)s:
00788     %%(process)shltPreExpressOutputSmart.TriggerResultsTag        = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00789 
00790 if 'hltPreDQMForHIOutputSmart' in %%(dict)s:
00791     %%(process)shltPreDQMForHIOutputSmart.TriggerResultsTag       = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00792 
00793 if 'hltPreDQMForPPOutputSmart' in %%(dict)s:
00794     %%(process)shltPreDQMForPPOutputSmart.TriggerResultsTag       = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00795 
00796 if 'hltPreHLTDQMResultsOutputSmart' in %%(dict)s:
00797     %%(process)shltPreHLTDQMResultsOutputSmart.TriggerResultsTag  = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00798 
00799 if 'hltPreHLTDQMOutputSmart' in %%(dict)s:
00800     %%(process)shltPreHLTDQMOutputSmart.TriggerResultsTag         = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00801 
00802 if 'hltPreHLTMONOutputSmart' in %%(dict)s:
00803     %%(process)shltPreHLTMONOutputSmart.TriggerResultsTag         = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00804 
00805 if 'hltDQMHLTScalers' in %%(dict)s:
00806     %%(process)shltDQMHLTScalers.triggerResults                   = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00807     %%(process)shltDQMHLTScalers.processname                      = '%(name)s'
00808 
00809 if 'hltDQML1SeedLogicScalers' in %%(dict)s:
00810     %%(process)shltDQML1SeedLogicScalers.processname              = '%(name)s'
00811 """ % self.config.__dict__
00812 

def confdb::runL1Emulator (   self)

Definition at line 695 of file confdb.py.

00696                          :
00697     # if requested, run (part of) the L1 emulator
00698     if self.config.emulator:
00699       # FIXME this fragment used "process" explicitly
00700       emulator = {
00701         'RawToDigi': '',
00702         'CustomL1T': '',
00703         'CustomHLT': ''
00704       }
00705 
00706       if self.config.data:
00707         emulator['RawToDigi'] = 'RawToDigi_Data_cff'
00708       else:
00709         emulator['RawToDigi'] = 'RawToDigi_cff'
00710 
00711       if self.config.emulator == 'gt':
00712         emulator['CustomL1T'] = 'customiseL1GtEmulatorFromRaw'
00713         emulator['CustomHLT'] = 'switchToSimGtDigis'
00714       elif self.config.emulator == 'gct,gt':
00715         emulator['CustomL1T'] = 'customiseL1CaloAndGtEmulatorsFromRaw'
00716         emulator['CustomHLT'] = 'switchToSimGctGtDigis'
00717       elif self.config.emulator == 'gmt,gt':
00718         # XXX currently unsupported
00719         emulator['CustomL1T'] = 'customiseL1MuonAndGtEmulatorsFromRaw'
00720         emulator['CustomHLT'] = 'switchToSimGmtGtDigis'
00721       elif self.config.emulator in ('gmt,gct,gt', 'gct,gmt,gt', 'all'):
00722         emulator['CustomL1T'] = 'customiseL1EmulatorFromRaw'
00723         emulator['CustomHLT'] = 'switchToSimGmtGctGtDigis'
00724       else:
00725         # unsupported argument, default to running the whole emulator
00726         emulator['CustomL1T'] = 'customiseL1EmulatorFromRaw'
00727         emulator['CustomHLT'] = 'switchToSimGmtGctGtDigis'
00728 
00729       self.data += """
00730 # customize the L1 emulator to run %(CustomL1T)s with HLT to %(CustomHLT)s
00731 process.load( 'Configuration.StandardSequences.%(RawToDigi)s' )
00732 process.load( 'Configuration.StandardSequences.SimL1Emulator_cff' )
00733 import L1Trigger.Configuration.L1Trigger_custom
00734 process = L1Trigger.Configuration.L1Trigger_custom.%(CustomL1T)s( process )
00735 process = L1Trigger.Configuration.L1Trigger_custom.customiseResetPrescalesAndMasks( process )
00736 
00737 # customize the HLT to use the emulated results
00738 import HLTrigger.Configuration.customizeHLTforL1Emulator
00739 process = HLTrigger.Configuration.customizeHLTforL1Emulator.switchToL1Emulator( process )
00740 process = HLTrigger.Configuration.customizeHLTforL1Emulator.%(CustomHLT)s( process )
00741 """ % emulator
00742 

def confdb::runL1EmulatorGT (   self)

Definition at line 664 of file confdb.py.

00665                            :
00666     # if requested, run (part of) the L1 emulator, then repack the data into a new RAW collection, to be used by the HLT
00667     if not self.config.emulator:
00668       return
00669 
00670     if self.config.emulator != 'gt':
00671       # only the GT emulator is currently supported
00672       return
00673 
00674     # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
00675     text = """
00676 # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
00677 """
00678     if self.config.fragment:
00679       # FIXME in a cff, should also update the HLTSchedule
00680       text += "import Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff\n"
00681     else:
00682       text += "process.load( 'Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff' )\n"
00683 
00684     if not 'hltBoolFalse' in self.data:
00685       # add hltBoolFalse
00686       text += """
00687 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
00688     result = cms.bool( False )
00689 )
00690 """
00691     text += "process.L1Emulator = cms.Path( process.SimL1Emulator + process.hltBoolFalse )\n\n"
00692 
00693     self.data = re.sub(r'.*cms\.(End)?Path.*', text + r'\g<0>', self.data, 1)
00694 

def confdb::splitter (   iterator,
  n 
)

Definition at line 10 of file confdb.py.

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

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

def confdb::updateMessageLogger (   self)

Definition at line 813 of file confdb.py.

00814                                :
00815     # request summary informations from the MessageLogger
00816     self.data += """
00817 if 'MessageLogger' in %(dict)s:
00818     %(process)sMessageLogger.categories.append('TriggerSummaryProducerAOD')
00819     %(process)sMessageLogger.categories.append('L1GtTrigReport')
00820     %(process)sMessageLogger.categories.append('HLTrigReport')
00821     %(process)sMessageLogger.categories.append('FastReport')
00822 """
00823 


Variable Documentation

Definition at line 972 of file confdb.py.

Definition at line 492 of file confdb.py.

Definition at line 1273 of file confdb.py.