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

00469                                   :
00470     """arguments:
00471         name:     parameter name (optional)
00472         type:     parameter type (look for tracked and untracked variants)
00473         value:    original value
00474         replace:  replacement value
00475     """
00476     if 'name' in args:
00477       self.data = re.sub(
00478           r'%(name)s = cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
00479           r'%(name)s = cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
00480           self.data)
00481     else:
00482       self.data = re.sub(
00483           r'cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
00484           r'cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
00485           self.data)
00486 

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

00451                             :
00452     # add global options
00453     self.data += """
00454 # limit the number of events to be processed
00455 %%(process)smaxEvents = cms.untracked.PSet(
00456     input = cms.untracked.int32( %d )
00457 )
00458 """ % self.config.events
00459 
00460     if not self.config.profiling:
00461       self.data += """
00462 # enable the TrigReport and TimeReport
00463 %(process)soptions = cms.untracked.PSet(
00464     wantSummary = cms.untracked.bool( True )
00465 )
00466 """
00467 

def confdb::build_source (   self)

Definition at line 1254 of file confdb.py.

01255                         :
01256     if self.config.input:
01257       # if a dataset or a list of input files was given, use it
01258       if self.config.input[0:8] == 'dataset:':
01259         from dbsFileQuery import dbsFileQuery
01260         # extract the dataset name, and use DBS to fine the list of LFNs
01261         dataset = self.config.input[8:]
01262         query   = 'find file where dataset=' + dataset
01263         files   = dbsFileQuery(query)
01264         self.source = files
01265       else:
01266         # assume a list of input files
01267         self.source = self.config.input.split(',')
01268     elif self.config.online:
01269       # online we always run on data
01270       self.source = [ "file:/tmp/InputCollection.root" ]
01271     elif self.config.data:
01272       # offline we can run on data...
01273       self.source = [ "file:RelVal_Raw_%s_DATA.root" % self.config.type ]
01274     else:
01275       # ...or on mc
01276       self.source = [ "file:RelVal_Raw_%s_STARTUP.root" % self.config.type ]
01277 
01278     self.data += """
01279 %(process)ssource = cms.Source( "PoolSource",
01280     fileNames = cms.untracked.vstring(
01281 """
01282     if self.source: 
01283       for line in self.source:
01284         self.data += "        '%s',\n" % line
01285     self.data += """    ),
01286     secondaryFileNames = cms.untracked.vstring(
01287 """
01288     if self.parent: 
01289       for line in self.parent:
01290         self.data += "        '%s',\n" % line
01291     self.data += """    ),
01292     inputCommands = cms.untracked.vstring(
01293         'keep *'
01294     )
01295 )
01296 """
def confdb::buildOptions (   self)

Definition at line 1010 of file confdb.py.

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

def confdb::buildPathList (   self)

Definition at line 953 of file confdb.py.

00954                          :
00955     self.all_paths = self.getPathList()
00956 
00957     if self.config.paths:
00958       # no path list was requested, dump the full table, minus unsupported / unwanted paths
00959       paths = self.config.paths.split(',')
00960     else:
00961       # dump only the requested paths, plus the eventual output endpaths
00962       paths = []
00963 
00964     if self.config.fragment or self.config.output in ('none', 'full'):
00965       # 'full' removes all outputs (same as 'none') and then adds a single "keep *" output (see the overrideOutput method)
00966       if self.config.paths:
00967         # paths are removed by default
00968         pass    
00969       else:
00970         # drop all output endpaths
00971         paths.append( "-*Output" )
00972     elif self.config.output == 'minimal':
00973       # drop all output endpaths but HLTDQMResultsOutput
00974       if self.config.paths:
00975         paths.append( "HLTDQMResultsOutput" )
00976       else:
00977         paths.append( "-*Output" )
00978         paths.append( "HLTDQMResultsOutput" )
00979     else:
00980       # keep / add back all output endpaths
00981       if self.config.paths:
00982         paths.append( "*Output" )
00983       else:
00984         pass    # paths are kepy by default
00985 
00986     # drop paths unsupported by fastsim
00987     if self.config.fastsim:
00988       paths.extend( "-%s" % path for path in self.fastsimUnsupportedPaths )
00989 
00990     # drop unwanted paths for profiling (and timing studies)
00991     if self.config.profiling:
00992       paths.append( "-HLTriggerFirstPath" )
00993       paths.append( "-HLTAnalyzerEndpath" )
00994 
00995     # this should never be in any dump (nor online menu)
00996     paths.append( "-OfflineOutput" )
00997 
00998     # expand all wildcards
00999     paths = self.expandWildcards(paths, self.all_paths)
01000 
01001     if self.config.paths:
01002       # do an "additive" consolidation
01003       self.options['paths'] = self.consolidatePositiveList(paths)
01004       if not self.options['paths']:
01005         raise RuntimeError('Error: option "--paths %s" does not select any valid paths' % self.config.paths)
01006     else:
01007       # do a "subtractive" consolidation
01008       self.options['paths'] = self.consolidateNegativeList(paths)
01009 

def confdb::dumppaths (   paths)

Definition at line 947 of file confdb.py.

00948                       :
00949     sys.stderr.write('Path selection:\n')
00950     for path in paths:
00951       sys.stderr.write('\t%s\n' % path)
00952     sys.stderr.write('\n\n')

def confdb::fixForFastSim (   self)

Definition at line 498 of file confdb.py.

00499                          :
00500     if self.config.fastsim:
00501       # adapt the hle configuration (fragment) to run under fastsim
00502       self.data = re.sub( r'import FWCore.ParameterSet.Config as cms', r'\g<0>\nfrom FastSimulation.HighLevelTrigger.HLTSetup_cff import *', self.data)
00503 
00504       # remove the definition of streams and datasets
00505       self.data = re.compile( r'^streams.*\n(.*\n)*?^\)\s*\n',  re.MULTILINE ).sub( '', self.data )
00506       self.data = re.compile( r'^datasets.*\n(.*\n)*?^\)\s*\n', re.MULTILINE ).sub( '', self.data )
00507 
00508       # fix the definition of module
00509       # FIXME: this should be updated to take into accout the --l1-emulator option
00510       self._fix_parameter(                               type = 'InputTag', value = 'hltL1extraParticles',  replace = 'l1extraParticles')
00511       self._fix_parameter(name = 'GMTReadoutCollection', type = 'InputTag', value = 'hltGtDigis',           replace = 'gmtDigis')
00512       self._fix_parameter(                               type = 'InputTag', value = 'hltGtDigis',           replace = 'gtDigis')
00513       self._fix_parameter(                               type = 'InputTag', value = 'hltL1GtObjectMap',     replace = 'gtDigis')
00514       self._fix_parameter(name = 'initialSeeds',         type = 'InputTag', value = 'noSeedsHere',          replace = 'globalPixelSeeds:GlobalPixel')
00515       self._fix_parameter(name = 'preFilteredSeeds',     type = 'bool',     value = 'True',                 replace = 'False')
00516       self._fix_parameter(                               type = 'InputTag', value = 'hltOfflineBeamSpot',   replace = 'offlineBeamSpot')
00517       self._fix_parameter(                               type = 'InputTag', value = 'hltOnlineBeamSpot',    replace = 'offlineBeamSpot')
00518       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonCSCDigis',      replace = 'simMuonCSCDigis')
00519       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonDTDigis',       replace = 'simMuonDTDigis')
00520       self._fix_parameter(                               type = 'InputTag', value = 'hltMuonRPCDigis',      replace = 'simMuonRPCDigis')
00521       self._fix_parameter(                               type = 'InputTag', value = 'hltRegionalTracksForL3MuonIsolation', replace = 'hltPixelTracks')
00522       self._fix_parameter(name = 'src',                  type = 'InputTag', value = 'hltHcalTowerNoiseCleaner', replace = 'hltTowerMakerForAll')
00523       self._fix_parameter(name = 'src',                  type = 'InputTag', value = 'hltIter4Tau3MuMerged', replace = 'hltIter4Merged')
00524 
00525       # fix the definition of sequences and paths
00526       self.data = re.sub( r'hltMuonCSCDigis', r'cms.SequencePlaceholder( "simMuonCSCDigis" )',  self.data )
00527       self.data = re.sub( r'hltMuonDTDigis',  r'cms.SequencePlaceholder( "simMuonDTDigis" )',   self.data )
00528       self.data = re.sub( r'hltMuonRPCDigis', r'cms.SequencePlaceholder( "simMuonRPCDigis" )',  self.data )
00529       self.data = re.sub( r'HLTEndSequence',  r'cms.SequencePlaceholder( "HLTEndSequence" )',   self.data )
00530       self.data = re.sub( r'hltGtDigis',      r'HLTBeginSequence',                              self.data )
00531 

def confdb::fixForMC (   self)

Definition at line 487 of file confdb.py.

00488                     :
00489     if not self.config.data:
00490       # customise the HLT menu for running on MC
00491       if not self.config.fragment:
00492         self.data += """
00493 # customise the HLT menu for running on MC
00494 from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC
00495 process = customizeHLTforMC(process)
00496 """
00497 

def confdb::fixPrescales (   self)

Definition at line 532 of file confdb.py.

00533                         :
00534     # update the PrescaleService to match the new list of paths
00535     if self.options['paths']:
00536       if self.options['paths'][0][0] == '-':
00537         # drop requested paths
00538         for minuspath in self.options['paths']:
00539           path = minuspath[1:]
00540           self.data = re.sub(r'      cms.PSet\(  pathName = cms.string\( "%s" \),\n        prescales = cms.vuint32\( .* \)\n      \),?\n' % path, '', self.data)
00541       else:
00542         # keep requested paths
00543         for path in self.all_paths:
00544           if path not in self.options['paths']:
00545             self.data = re.sub(r'      cms.PSet\(  pathName = cms.string\( "%s" \),\n        prescales = cms.vuint32\( .* \)\n      \),?\n' % path, '', self.data)
00546 
00547     if self.config.unprescale:
00548       self.data += """
00549 # remove the HLT prescales
00550 if 'PrescaleService' in %(dict)s:
00551     %(process)sPrescaleService.lvl1DefaultLabel = cms.string( '0' )
00552     %(process)sPrescaleService.lvl1Labels       = cms.vstring( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' )
00553     %(process)sPrescaleService.prescaleTable    = cms.VPSet( )
00554 """
00555 

def confdb::instrumentErrorEventType (   self)

Definition at line 570 of file confdb.py.

00571                                     :
00572     if self.config.errortype:
00573       # change all HLTTriggerTypeFilter EDFilters to accept only error events (SelectedTriggerType = 0)
00574       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '1', replace = '0')
00575       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '2', replace = '0')
00576       self._fix_parameter(name = 'SelectedTriggerType', type ='int32', value = '3', replace = '0')
00577 

def confdb::instrumentOpenMode (   self)

Definition at line 556 of file confdb.py.

00557                               :
00558     if self.config.open:
00559       # find all EDfilters
00560       filters = [ match[1] for match in re.findall(r'(process\.)?\b(\w+) = cms.EDFilter', self.data) ]
00561       re_sequence = re.compile( r'cms\.(Path|Sequence)\((.*)\)' )
00562       # remove existing 'cms.ingore' and '~' modifiers
00563       self.data = re_sequence.sub( lambda line: re.sub( r'cms\.ignore *\( *((process\.)?\b(\w+)) *\)', r'\1', line.group(0) ), self.data )
00564       self.data = re_sequence.sub( lambda line: re.sub( r'~', '', line.group(0) ), self.data )
00565       # wrap all EDfilters with "cms.ignore( ... )", 1000 at a time (python 2.6 complains for too-big regular expressions)
00566       for some in splitter(filters, 1000):
00567         re_filters  = re.compile( r'\b((process\.)?(' + r'|'.join(some) + r'))\b' )
00568         self.data = re_sequence.sub( lambda line: re_filters.sub( r'cms.ignore( \1 )', line.group(0) ), self.data )
00569 

def confdb::instrumentTiming (   self)

Definition at line 839 of file confdb.py.

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

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

Definition at line 805 of file confdb.py.

00806                                                           :
00807     # load additional conditions
00808     self.data += """
00809 # %s
00810 if 'GlobalTag' in %%(dict)s:
00811 """ % comment
00812     for condition in conditions:
00813       self.data += """    %%(process)sGlobalTag.toGet.append(
00814         cms.PSet(
00815             record  = cms.string( '%(record)s' ),
00816             tag     = cms.string( '%(tag)s' ),
00817             label   = cms.untracked.string( '%(label)s' ),
00818             connect = cms.untracked.string( '%(connect)s' )
00819         )
00820     )
00821 """ % condition
00822 

def confdb::loadCff (   self,
  module 
)

Definition at line 823 of file confdb.py.

00824                            :
00825     # load a cfi or cff module
00826     if self.config.fragment:
00827       self.data += 'from %s import *\n' % module
00828     else:
00829       self.data += 'process.load( "%s" )\n' % module
00830 

def confdb::overrideGlobalTag (   self)

Definition at line 578 of file confdb.py.

00579                              :
00580     # overwrite GlobalTag
00581     # the logic is:
00582     #   - always set the correct connection string and pfnPrefix
00583     #   - if a GlobalTag is specified on the command line:
00584     #      - override the global tag
00585     #      - if the GT is "auto:...", insert the code to read it from Configuration.AlCa.autoCond
00586     #   - if a GlobalTag is NOT  specified on the command line:
00587     #      - when running on data, do nothing, and keep the global tag in the menu
00588     #      - when running on mc, take the GT from the configuration.type
00589 
00590     # override the GlobalTag connection string and pfnPrefix
00591     text = """
00592 # override the GlobalTag, connection string and pfnPrefix
00593 if 'GlobalTag' in %(dict)s:
00594     %(process)sGlobalTag.connect   = '%(connect)s/CMS_COND_31X_GLOBALTAG'
00595     %(process)sGlobalTag.pfnPrefix = cms.untracked.string('%(connect)s/')
00596 """
00597 
00598     # when running on MC, override the global tag even if not specified on the command line
00599     if not self.config.data and not self.config.globaltag:
00600       if self.config.type in globalTag:
00601         self.config.globaltag = globalTag[self.config.type]
00602       else:
00603         self.config.globaltag = globalTag['GRun']
00604 
00605     # if requested, override the L1 menu from the GlobalTag (using the same connect as the GlobalTag itself)
00606     if self.config.l1.override:
00607       self.config.l1.record = 'L1GtTriggerMenuRcd'
00608       self.config.l1.label  = ''
00609       self.config.l1.tag    = self.config.l1.override
00610       if not self.config.l1.connect:
00611         self.config.l1.connect = '%(connect)s/CMS_COND_31X_L1T'
00612       self.config.l1cond = '%(tag)s,%(record)s,%(connect)s' % self.config.l1.__dict__
00613     else:
00614       self.config.l1cond = None
00615 
00616     if self.config.globaltag or self.config.l1cond:
00617       text += "    from Configuration.AlCa.GlobalTag import GlobalTag as customiseGlobalTag\n"
00618       text += "    %(process)sGlobalTag = customiseGlobalTag(%(process)sGlobalTag"
00619       if self.config.globaltag:
00620         text += ", globaltag = %s"  % repr(self.config.globaltag)
00621       if self.config.l1cond:
00622         text += ", conditions = %s" % repr(self.config.l1cond)
00623       text += ")\n"
00624 
00625     self.data += text

def confdb::overrideL1MenuXml (   self)

Definition at line 626 of file confdb.py.

00627                              :
00628     # if requested, override the L1 menu from the GlobalTag (Xml file)
00629     if self.config.l1Xml.XmlFile:
00630       text = """
00631 # override the L1 menu from an Xml file
00632 %%(process)sl1GtTriggerMenuXml = cms.ESProducer("L1GtTriggerMenuXmlProducer",
00633   TriggerMenuLuminosity = cms.string('%(LumiDir)s'),
00634   DefXmlFile = cms.string('%(XmlFile)s'),
00635   VmeXmlFile = cms.string('')
00636 )
00637 %%(process)sL1GtTriggerMenuRcdSource = cms.ESSource("EmptyESSource",
00638   recordName = cms.string('L1GtTriggerMenuRcd'),
00639   iovIsRunNotTime = cms.bool(True),
00640   firstValid = cms.vuint32(1)
00641 )
00642 %%(process)ses_prefer_l1GtParameters = cms.ESPrefer('L1GtTriggerMenuXmlProducer','l1GtTriggerMenuXml') 
00643 """
00644       self.data += text % self.config.l1Xml.__dict__

def confdb::overrideOutput (   self)

Definition at line 724 of file confdb.py.

00725                           :
00726     # override the "online" ShmStreamConsumer output modules with "offline" PoolOutputModule's
00727     self.data = re.sub(
00728       r'\b(process\.)?hltOutput(\w+) *= *cms\.OutputModule\( *"ShmStreamConsumer" *,',
00729       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    ),',
00730       self.data
00731     )
00732 
00733     if not self.config.fragment and self.config.output == 'full':
00734       # add a single "keep *" output
00735       self.data += """
00736 # add a single "keep *" output
00737 %(process)shltOutputFULL = cms.OutputModule( "PoolOutputModule",
00738     fileName = cms.untracked.string( "outputFULL.root" ),
00739     fastCloning = cms.untracked.bool( False ),
00740     dataset = cms.untracked.PSet(
00741         dataTier = cms.untracked.string( 'RECO' ),
00742         filterName = cms.untracked.string( '' )
00743     ),
00744     outputCommands = cms.untracked.vstring( 'keep *' )
00745 )
00746 %(process)sFULLOutput = cms.EndPath( %(process)shltOutputFULL )
00747 """
00748 

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

Definition at line 831 of file confdb.py.

00832                                                   :
00833     # override a module's parameter if the module is present in the configuration
00834     self.data += "if '%s' in %%(dict)s:\n" % module
00835     for (parameter, value) in parameters:
00836       self.data += "    %%(process)s%s.%s = %s\n" % (module, parameter, value)
00837     self.data += "\n"
00838 

def confdb::overrideProcessName (   self)

Definition at line 750 of file confdb.py.

00751                                :
00752     if self.config.name is None:
00753       return
00754 
00755     # override the process name
00756     quote = '[\'\"]'
00757     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)
00758 
00759     # the following was stolen and adapted from HLTrigger.Configuration.customL1THLT_Options
00760     self.data += """
00761 # adapt HLT modules to the correct process name
00762 if 'hltTrigReport' in %%(dict)s:
00763     %%(process)shltTrigReport.HLTriggerResults                    = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00764 
00765 if 'hltPreExpressCosmicsOutputSmart' in %%(dict)s:
00766     %%(process)shltPreExpressCosmicsOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00767 
00768 if 'hltPreExpressOutputSmart' in %%(dict)s:
00769     %%(process)shltPreExpressOutputSmart.TriggerResultsTag        = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00770 
00771 if 'hltPreDQMForHIOutputSmart' in %%(dict)s:
00772     %%(process)shltPreDQMForHIOutputSmart.TriggerResultsTag       = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00773 
00774 if 'hltPreDQMForPPOutputSmart' in %%(dict)s:
00775     %%(process)shltPreDQMForPPOutputSmart.TriggerResultsTag       = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00776 
00777 if 'hltPreHLTDQMResultsOutputSmart' in %%(dict)s:
00778     %%(process)shltPreHLTDQMResultsOutputSmart.TriggerResultsTag  = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00779 
00780 if 'hltPreHLTDQMOutputSmart' in %%(dict)s:
00781     %%(process)shltPreHLTDQMOutputSmart.TriggerResultsTag         = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00782 
00783 if 'hltPreHLTMONOutputSmart' in %%(dict)s:
00784     %%(process)shltPreHLTMONOutputSmart.TriggerResultsTag         = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00785 
00786 if 'hltDQMHLTScalers' in %%(dict)s:
00787     %%(process)shltDQMHLTScalers.triggerResults                   = cms.InputTag( 'TriggerResults', '', '%(name)s' )
00788     %%(process)shltDQMHLTScalers.processname                      = '%(name)s'
00789 
00790 if 'hltDQML1SeedLogicScalers' in %%(dict)s:
00791     %%(process)shltDQML1SeedLogicScalers.processname              = '%(name)s'
00792 """ % self.config.__dict__
00793 

def confdb::runL1Emulator (   self)

Definition at line 676 of file confdb.py.

00677                          :
00678     # if requested, run (part of) the L1 emulator
00679     if self.config.emulator:
00680       # FIXME this fragment used "process" explicitly
00681       emulator = {
00682         'RawToDigi': '',
00683         'CustomL1T': '',
00684         'CustomHLT': ''
00685       }
00686 
00687       if self.config.data:
00688         emulator['RawToDigi'] = 'RawToDigi_Data_cff'
00689       else:
00690         emulator['RawToDigi'] = 'RawToDigi_cff'
00691 
00692       if self.config.emulator == 'gt':
00693         emulator['CustomL1T'] = 'customiseL1GtEmulatorFromRaw'
00694         emulator['CustomHLT'] = 'switchToSimGtDigis'
00695       elif self.config.emulator == 'gct,gt':
00696         emulator['CustomL1T'] = 'customiseL1CaloAndGtEmulatorsFromRaw'
00697         emulator['CustomHLT'] = 'switchToSimGctGtDigis'
00698       elif self.config.emulator == 'gmt,gt':
00699         # XXX currently unsupported
00700         emulator['CustomL1T'] = 'customiseL1MuonAndGtEmulatorsFromRaw'
00701         emulator['CustomHLT'] = 'switchToSimGmtGtDigis'
00702       elif self.config.emulator in ('gmt,gct,gt', 'gct,gmt,gt', 'all'):
00703         emulator['CustomL1T'] = 'customiseL1EmulatorFromRaw'
00704         emulator['CustomHLT'] = 'switchToSimGmtGctGtDigis'
00705       else:
00706         # unsupported argument, default to running the whole emulator
00707         emulator['CustomL1T'] = 'customiseL1EmulatorFromRaw'
00708         emulator['CustomHLT'] = 'switchToSimGmtGctGtDigis'
00709 
00710       self.data += """
00711 # customize the L1 emulator to run %(CustomL1T)s with HLT to %(CustomHLT)s
00712 process.load( 'Configuration.StandardSequences.%(RawToDigi)s' )
00713 process.load( 'Configuration.StandardSequences.SimL1Emulator_cff' )
00714 import L1Trigger.Configuration.L1Trigger_custom
00715 process = L1Trigger.Configuration.L1Trigger_custom.%(CustomL1T)s( process )
00716 process = L1Trigger.Configuration.L1Trigger_custom.customiseResetPrescalesAndMasks( process )
00717 
00718 # customize the HLT to use the emulated results
00719 import HLTrigger.Configuration.customizeHLTforL1Emulator
00720 process = HLTrigger.Configuration.customizeHLTforL1Emulator.switchToL1Emulator( process )
00721 process = HLTrigger.Configuration.customizeHLTforL1Emulator.%(CustomHLT)s( process )
00722 """ % emulator
00723 

def confdb::runL1EmulatorGT (   self)

Definition at line 645 of file confdb.py.

00646                            :
00647     # if requested, run (part of) the L1 emulator, then repack the data into a new RAW collection, to be used by the HLT
00648     if not self.config.emulator:
00649       return
00650 
00651     if self.config.emulator != 'gt':
00652       # only the GT emulator is currently supported
00653       return
00654 
00655     # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
00656     text = """
00657 # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
00658 """
00659     if self.config.fragment:
00660       # FIXME in a cff, should also update the HLTSchedule
00661       text += "import Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff\n"
00662     else:
00663       text += "process.load( 'Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff' )\n"
00664 
00665     if not 'hltBoolFalse' in self.data:
00666       # add hltBoolFalse
00667       text += """
00668 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
00669     result = cms.bool( False )
00670 )
00671 """
00672     text += "process.L1Emulator = cms.Path( process.SimL1Emulator + process.hltBoolFalse )\n\n"
00673 
00674     self.data = re.sub(r'.*cms\.(End)?Path.*', text + r'\g<0>', self.data, 1)
00675 

def confdb::splitter (   iterator,
  n 
)

Definition at line 10 of file confdb.py.

Referenced by TotemT1Organization::_FromUnitIDToData(), SplittingConfigurableHisto::fill(), HLTLogMonitorFilter::filter(), 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 794 of file confdb.py.

00795                                :
00796     # request summary informations from the MessageLogger
00797     self.data += """
00798 if 'MessageLogger' in %(dict)s:
00799     %(process)sMessageLogger.categories.append('TriggerSummaryProducerAOD')
00800     %(process)sMessageLogger.categories.append('L1GtTrigReport')
00801     %(process)sMessageLogger.categories.append('HLTrigReport')
00802     %(process)sMessageLogger.categories.append('FastReport')
00803 """
00804 


Variable Documentation

Definition at line 953 of file confdb.py.

Definition at line 473 of file confdb.py.

Definition at line 1254 of file confdb.py.