Referencing to Christoph's log in MIT twiki http://www.cmsaf.mit.edu/twiki/bin/view/CmsHi/ChristofsLabLogHeavy Ion HLT regarding to MuL3 20090811 updated newly to make HLT_HIDoubleMu configuration file edmConfigFromDB --configName /dev/HIHLT_2_2_13_HLT/FULL/V46 --format Python --paths HLT_DoubleMu3 > HI_HLT_MuL3_2213.py And then have to change somethings in HI_HLT_MuL3_2213.py in the "process.GlobalTag = cms.ESSource( "PoolDBESSource"," globaltag = cms.string( "IDEAL_V12::All" ), >>>> globaltag = cms.string( "STARTUP_V9::All" ), in the "process.l1GtTriggerMenuXml = cms.ESProducer( "L1GtTriggerMenuXmlProducer"," TriggerMenuLuminosity = cms.string( "lumi1031" ), >>>> TriggerMenuLuminosity = cms.string( "startup" ), DefXmlFile = cms.string( "L1Menu_MC2009_v0_L1T_Scales_20080922_Imp0.xml" ), >>>> DefXmlFile = cms.string( "L1Menu_Startup2_v2.xml" ), In addition to add on ####Vertex process.hltHITTRHBuilder = cms.ESProducer("TkTransientTrackingRecHitBuilderESProducer", StripCPE = cms.string('Fake'), ComponentName = cms.string('TTRHBuilderWithoutAngle4PixelTriplets'), PixelCPE = cms.string('PixelCPEGeneric'), Matcher = cms.string('StandardMatcher'), appendToDataLabel = cms.string( "" ) ) process.hltHIpixel3ProtoTracks = cms.EDProducer( "PixelTrackProducerWithZPos", passLabel = cms.string( "" ), RegionFactoryPSet = cms.PSet( ComponentName = cms.string( "HITrackingRegionProducer" ), RegionPSet = cms.PSet( precise = cms.bool( True ), originHalfLength = cms.double( 15.9 ), directionYCoord = cms.double( 1.0 ), originYPos = cms.double( 0.0 ), directionXCoord = cms.double( 1.0 ), directionZCoord = cms.double( 0.0 ), VertexCollection = cms.string( "hltHIpixelVertices" ), ptMin = cms.double( 0.5 ), originXPos = cms.double( 0.0 ), siPixelRecHits = cms.string( "hltSiPixelRecHits" ), originZPos = cms.double( 0.0 ), useFoundVertices = cms.bool( False ), originRadius = cms.double( 0.1 ) ) ), OrderedHitsFactoryPSet = cms.PSet( ComponentName = cms.string( "StandardHitTripletGenerator" ), GeneratorPSet = cms.PSet( nSigMultipleScattering = cms.double( 5.0 ), checkMultipleScattering = cms.bool( True ), ComponentName = cms.string( "TripletGenerator" ), checkClusterShape = cms.bool( True ), maxAngleRatio = cms.double( 10.0 ), rzTolerance = cms.double( 0.2 ) ), SeedingLayers = cms.string( "PixelLayerTriplets" ) ), FitterPSet = cms.PSet( ComponentName = cms.string( "TrackFitter" ), TTRHBuilder = cms.string( "TTRHBuilderWithoutAngle4PixelTriplets" ) ), FilterPSet = cms.PSet( ComponentName = cms.string( "ClusterShapeTrackFilter" ) ), CleanerPSet = cms.PSet( ComponentName = cms.string( "TrackCleaner" ) ), RegionPSet = cms.PSet( useFoundVertices = cms.bool( False ), ptMin = cms.double( 0.5 ), originRadius = cms.double( 0.1 ) ) ) process.hltHIpixelVertices = cms.EDProducer("PixelVertexProducerMedian", TrackCollection = cms.string("hltHIpixel3ProtoTracks"), PtMin = cms.double(0.5) ) process.AnalyticalPropagator = cms.ESProducer("AnalyticalPropagatorESProducer", MaxDPhi = cms.double(1.6), ComponentName = cms.string('AnalyticalPropagator'), PropagationDirection = cms.string('alongMomentum') ) process.hltHITTRHBuilderWithoutRefit = cms.ESProducer( "TkTransientTrackingRecHitBuilderESProducer", ComponentName = cms.string( "hltHITTRHBuilderWithoutRefit" ), StripCPE = cms.string( "Fake" ), PixelCPE = cms.string( "Fake" ), Matcher = cms.string( "Fake" ), appendToDataLabel = cms.string( "" ) ) process.hltHIMML3Filter = cms.EDFilter("TestMuL1L2Filter", # L2CandTag = cms.InputTag("hltL2Muons"), L2CandTag = cms.InputTag("hltL2MuonCandidates"), ### PrimaryVertexTag = cms.InputTag("PrimaryVertex"), PrimaryVertexTag = cms.InputTag("hltHIpixelVertices"), NavigationPSet = cms.PSet( ComponentName = cms.string('SimpleNavigationSchool') ), rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"), TTRHBuilder = cms.string("hltHITTRHBuilderWithoutRefit") ) process.hltHIL1sDoubleMu = cms.EDFilter( "HLTLevel1GTSeed", L1TechTriggerSeeding = cms.bool( False ), # L1SeedsLogicalExpression = cms.string( "L1_SingleMuOpen" ), L1SeedsLogicalExpression = cms.string( "L1_DoubleMuOpen" ), L1GtReadoutRecordTag = cms.InputTag( "hltGtDigis" ), L1GtObjectMapTag = cms.InputTag( "hltL1GtObjectMap" ), L1CollectionsTag = cms.InputTag( "hltL1extraParticles" ), L1MuonCollectionTag = cms.InputTag( "hltL1extraParticles" ) ) process.hltBoolEnd = cms.EDFilter( "HLTBool", result = cms.bool( True ) ) Behind paths have to put this on process.HLTEndSequence = cms.Sequence( process.hltBoolEnd ) process.HLT_HIDoubleMu = cms.Path( process.HLTBeginSequence + process.hltHIL1sDoubleMu + process.HLTL2muonrecoSequence + process.HLTDoLocalPixelSequence + process.hltHIpixel3ProtoTracks + process.hltHIpixelVertices + process.HLTDoLocalStripSequence + process.hltHIMML3Filter + process.HLTEndSequence ) process.hltL1gtTrigReport = cms.EDAnalyzer( "L1GtTrigReport", UseL1GlobalTriggerRecord = cms.bool( False ), L1GtRecordInputTag = cms.InputTag( "hltGtDigis" ) ) process.hltTrigReport = cms.EDAnalyzer( "HLTrigReport", HLTriggerResults = cms.InputTag( 'TriggerResults','','HLT' ) ) process.HLTAnalyzerEndpath = cms.EndPath( process.hltL1gtTrigReport + process.hltTrigReport ) process.pts = cms.EDProducer("PathTimerInserter") #process.pts = cms.EDFilter("PathTimerInserter") process.PathTimerService = cms.Service("PathTimerService") process.MyTimer = cms.Path ( process.pts ) process.load("Configuration.EventContent.EventContent_cff") process.hltPoolOutput = cms.OutputModule("PoolOutputModule", outputCommands = cms.untracked.vstring( 'keep *', 'drop *', 'keep HLTPerformanceInfo_*_*_*' ), basketSize = cms.untracked.int32(4096), fileName = cms.untracked.string('file:_fileName_') #fileName = cms.untracked.string('file:HLTMuL3_e5k.root') #fileName = cms.untracked.string('file:jpsi_HLTMuL3_2111_e50kv2.root') ) process.HLTOutput = cms.EndPath(process.hltPoolOutput) process.schedule = cms.Schedule( process.HLT_HIDoubleMu, process.HLTAnalyzerEndpath, process.MyTimer , process.HLTOutput ) 20090519 updated how to setup HLT Dimuon Official name is HLT_HIDoubleMu. To run without errors, we need to get some modules like this cvs co -r V02-06-05 L1TriggerConfig/L1GtConfigProducers cvs co -r V00-01-02 RecoHIMuon/HiMuPropagator cvs co -r V00-02-02 RecoHIMuon/HiMuSeed cvs co -r V00-02-08 RecoHIMuon/HiMuTracking cvs co -r V00-00-03 RecoHI/HiTracking cvs co -r $CMSSW_VERSION HLTrigger/Configuration/ cvs co -r $CMSSW_VERSION RecoPixelVertexing/PixelLowPtUtilities scramv1 b you can get the setupL3.sh at CMSSW_2_2_9 in the attached files below. And then use HLT_HI_MuL3_229.py attached below, then you can get HLT results. * 2009 5, 16 updated information about how to use confDB at CMSSW_2_2_X edmConfigFromDB --configName /user/asyoon/HIHLT/CMSSW_2_2_6_HLT/HIHLT_2_2_6_HLT/V12 --format Python --paths HLT_HIDoubleMu > HI_HLT_MuL3.py And must change this part process.hltL1GtObjectMap = cms.EDProducer( "L1GlobalTrigger",
GmtInputTag = cms.InputTag( "hltGtDigis" ),
GctInputTag = cms.InputTag( "hltGctDigis" ),
CastorInputTag = cms.InputTag( "castorL1Digis" ),
ProduceL1GtDaqRecord = cms.bool( False ),
ProduceL1GtEvmRecord = cms.bool( False ),
ProduceL1GtObjectMapRecord = cms.bool( True ),
WritePsbL1GtDaqRecord = cms.bool( False ),
ReadTechnicalTriggerRecords = cms.bool( True ),
TechnicalTriggersInputTags = cms.VInputTag( 'simBscDigis' ),
EmulateBxInEvent = cms.int32( 1 ),
BstLengthBytes = cms.int32( -1 )
)
#process.hltL1GtObjectMap = cms.EDProducer( "L1GlobalTrigger",
# GmtInputTag = cms.InputTag( "hltGtDigis" ),
# GctInputTag = cms.InputTag( "hltGctDigis" ),
# CastorInputTag = cms.InputTag( "castorL1Digis" ),
# TechnicalTriggersInputTag = cms.InputTag( "techTrigDigis" ),
# ProduceL1GtDaqRecord = cms.bool( False ),
# ProduceL1GtEvmRecord = cms.bool( False ),
# ProduceL1GtObjectMapRecord = cms.bool( True ),
# WritePsbL1GtDaqRecord = cms.bool( False ),
# ReadTechnicalTriggerRecords = cms.bool( True ),
# EmulateBxInEvent = cms.int32( 1 ),
# BstLengthBytes = cms.int32( -1 )
#)
add this on the cfg file at the end of that. process.hltL1gtTrigReport = cms.EDAnalyzer( "L1GtTrigReport",
UseL1GlobalTriggerRecord = cms.bool( False ),
L1GtRecordInputTag = cms.InputTag( "hltGtDigis" )
)
process.hltTrigReport = cms.EDAnalyzer( "HLTrigReport",
HLTriggerResults = cms.InputTag( 'TriggerResults','','JpsiHLT' )
)
process.HLTAnalyzerEndpath = cms.EndPath( process.hltL1gtTrigReport + process.hltTrigReport )
process.pts = cms.EDFilter("PathTimerInserter")
process.PathTimerService = cms.Service("PathTimerService")
process.MyTimer = cms.Path ( process.pts )
process.load("Configuration.EventContent.EventContent_cff")
process.hltPoolOutput = cms.OutputModule("PoolOutputModule",
outputCommands = cms.untracked.vstring(
'keep *'
),
basketSize = cms.untracked.int32(4096),
fileName = cms.untracked.string('file:jpsi_HLTMuL3_2111_e50kv1.root')
)
process.HLTOutput = cms.EndPath(process.hltPoolOutput)
process.schedule = cms.Schedule( process.HLT_HI_MuL3, process.HLTAnalyzerEndpath, process.MyTimer, process.HLTOutput) CMSSW version -> 2_1_0_pre9 Default configuration from HLTrigger/Configuration/test/RelVal_Digi_Digi2Raw_cfg.py 2. add L1 GT cff file # L1 GTthis part must be removed. Because the "L1TriggerConfig.L1GtConfigProducers.Luminosity.startup.L1Menu_startup_v3_Unprescaled_cff" file replaced that startup menu. #process.l1GtTriggerMenuXml = cms.ESProducer( "L1GtTriggerMenuXmlProducer", # TriggerMenuLuminosity = cms.string( "lumi1030" ), # DefXmlFile = cms.string( "L1Menu2008_2E30.xml" ), # VmeXmlFile = cms.string( "" ) #) -> 이 것 다음에 L1 GT cff에 추가하면 지우지 않아도 된다. 4. prescaler error : remove presclaer in path process.HLT_DoubleMu3_JPsi = cms.Path( process.HLTBeginSequence + process.hltL1sJpsiMM + process.hltPreDoubleMu3JPsi + process.hltJpsiMML1Filtered + process.HLTL2muonrecoSequence + process.hltJpsiMML2Filtered + process.HLTL3muonrecoSequence + process.hltJpsiMML3Filtered + process.HLTEndSequence ) prescaler error 발생 원인 http://cmslxr.fnal.gov/lxr/source/FWCore/PrescaleService/test/testPrescaleService_cfg.py?v=CMSSW_2_1_7 PrescaleService 에서 VSet parmeter를 정의해주어야 하는데 Upsilon 과 Jpsi config의 경우 그 파라미터가 제대로 정의 되어 있지 않기 때문에 error 가 나고 있음 batch run bsub -R "pool>10000" -q 1nw -J minHLT < mjob_upsilon.csh |