/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
DQMOffline/Trigger/python/TrackingMonitoring_cff.py
278 строк
12 KB
Manos Vourliotis
Update high purity ID and simplify HLT LST configurations
19 ноя 2025, 16:46
19 ноя 2025, 16:46
178b635
Код
Авторство
О чём код?
import FWCore.ParameterSet.Config as cms import DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi trackingMonHLT = DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi.TrackerCollisionTrackMon.clone( beamSpot = "hltOnlineBeamSpot", primaryVertex = "hltPixelVertices", doAllPlots = False, doLumiAnalysis = False, #doProfilesVsLS = True, doDCAPlots = True, pvNDOF = 1, doProfilesVsLS = True, #doPlotsVsGoodPVtx = True, doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = True, doEffFromHitPatternVsLUMI = True, doPlotsVsGoodPVtx = True, doPlotsVsLUMI = True, doPlotsVsBX = True ) pixelTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/pixelTracks', TrackProducer = 'hltPixelTracks', allTrackProducer = 'hltPixelTracks', doEffFromHitPatternVsPU = False, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3 pp_on_PbPb_run3.toModify(pixelTracksMonitoringHLT, primaryVertex = 'hltPixelVerticesPPOnAA', TrackProducer = 'hltPixelTracksPPOnAA', allTrackProducer = 'hltPixelTracksPPOnAA') from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toModify(pixelTracksMonitoringHLT, primaryVertex = 'hltPhase2PixelVertices', TrackProducer = 'hltPhase2PixelTracks', allTrackProducer = 'hltPhase2PixelTracks') iter0TracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter0', TrackProducer = 'hltIter0PFlowCtfWithMaterialTracks', allTrackProducer = 'hltIter0PFlowCtfWithMaterialTracks', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iter0HPTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter0HP', TrackProducer = 'hltIter0PFlowTrackSelectionHighPurity', allTrackProducer = 'hltIter0PFlowTrackSelectionHighPurity', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iter1TracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter1', TrackProducer = 'hltIter1PFlowCtfWithMaterialTracks', allTrackProducer = 'hltIter1PFlowCtfWithMaterialTracks', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iter1HPTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter1HP', TrackProducer = 'hltIter1PFlowTrackSelectionHighPurity', allTrackProducer = 'hltIter1PFlowTrackSelectionHighPurity', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iter2TracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter2', TrackProducer = 'hltIter2PFlowCtfWithMaterialTracks', allTrackProducer = 'hltIter2PFlowCtfWithMaterialTracks', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iter2HPTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter2HP', TrackProducer = 'hltIter2PFlowTrackSelectionHighPurity', allTrackProducer = 'hltIter2PFlowTrackSelectionHighPurity', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iter2MergedTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter2Merged', TrackProducer = 'hltIter2Merged', allTrackProducer = 'hltIter2Merged', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) iterHLTTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/tracks', TrackProducer = 'hltMergedTracks', allTrackProducer = 'hltMergedTracks', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = True, doEffFromHitPatternVsLUMI = True, doDCAPlots = True, doPVPlots = cms.bool(True), doBSPlots = cms.bool(True), doSIPPlots = cms.bool(True) ) pp_on_PbPb_run3.toModify(iterHLTTracksMonitoringHLT, primaryVertex = 'hltPixelVerticesPPOnAA', TrackProducer = 'hltMergedTracksPPOnAA', allTrackProducer = 'hltMergedTracksPPOnAA') phase2_tracker.toModify(iterHLTTracksMonitoringHLT, primaryVertex = 'hltPhase2PixelVertices', TrackProducer = 'hltGeneralTracks', allTrackProducer = 'hltGeneralTracks') iterInitialStepMonitoringHLT = iterHLTTracksMonitoringHLT.clone( primaryVertex = 'hltPhase2PixelVertices', FolderName = 'HLT/Tracking/hltInitialStepTrackSelectionHighPurity', TrackProducer = 'hltInitialStepTrackSelectionHighPurity', allTrackProducer = 'hltInitialStepTrackSelectionHighPurity', ) iterHighPtTripletsMonitoringHLT = iterHLTTracksMonitoringHLT.clone( primaryVertex = 'hltPhase2PixelVertices', FolderName = 'HLT/Tracking/hltHighPtTripletStepTrackSelectionHighPurity', TrackProducer = 'hltHighPtTripletStepTrackSelectionHighPurity', allTrackProducer = 'hltHighPtTripletStepTrackSelectionHighPurity', ) iter3TracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter3Merged', TrackProducer = 'hltIter3Merged', allTrackProducer = 'hltIter3Merged' ) iter4TracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter4Merged', TrackProducer = 'hltIter4Merged', allTrackProducer = 'hltIter4Merged' ) trackingMonitorHLT = cms.Sequence( pixelTracksMonitoringHLT + iter0HPTracksMonitoringHLT # + iter1HPTracksMonitoringHLT # + iter2HPTracksMonitoringHLT + iter2MergedTracksMonitoringHLT + iterHLTTracksMonitoringHLT ) trackingMonitorHLTall = cms.Sequence( pixelTracksMonitoringHLT + iter0TracksMonitoringHLT + iter0HPTracksMonitoringHLT + iter1TracksMonitoringHLT + iter1HPTracksMonitoringHLT + iter2TracksMonitoringHLT + iter2HPTracksMonitoringHLT + iter2MergedTracksMonitoringHLT + iterHLTTracksMonitoringHLT # + iter3TracksMonitoringHLT # + iter4TracksMonitoringHLT ) doubletRecoveryTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/doubletRecoveryTracks', TrackProducer = 'hltDoubletRecoveryPFlowCtfWithMaterialTracks', allTrackProducer = 'hltDoubletRecoveryPFlowCtfWithMaterialTracks', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) doubletRecoveryHPTracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/doubletRecoveryTracksHP', TrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurity', allTrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurity', doEffFromHitPatternVsPU = True, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) pp_on_PbPb_run3.toModify(doubletRecoveryHPTracksMonitoringHLT, primaryVertex = 'hltPixelVerticesPPOnAA', TrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurityPPOnAA', allTrackProducer = 'hltDoubletRecoveryPFlowTrackSelectionHighPurityPPOnAA') ############ #### EGM tracks # GSF: hltEgammaGsfTracks # Iter0: process.hltIter0ElectronsTrackSelectionHighPurity # Iter1HP: hltIter1MergedForElectrons # Iter2HP: hltIter2MergedForElectrons egmTrackingMonHLT = trackingMonHLT.clone( primaryVertex = "hltPixelVertices", doEffFromHitPatternVsPU = False, doEffFromHitPatternVsBX = False, doEffFromHitPatternVsLUMI = False ) gsfTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/GSF', TrackProducer = 'hltEgammaGsfTracks', allTrackProducer = 'hltEgammaGsfTracks' ) from Configuration.Eras.Modifier_phase2_common_cff import phase2_common phase2_common.toModify(gsfTracksMonitoringHLT, primaryVertex = 'hltPhase2PixelVertices', TrackProducer = 'hltEgammaGsfTracksL1Seeded', allTrackProducer = 'hltEgammaGsfTracksL1Seeded') pixelTracksForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/pixelTracks', TrackProducer = 'hltPixelTracksElectrons', allTrackProducer = 'hltPixelTracksElectrons' ) iter0ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter0', TrackProducer = 'hltIter0ElectronsCtfWithMaterialTracks', allTrackProducer = 'hltIter0ElectronsCtfWithMaterialTracks' ) iter0HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter0HP', TrackProducer = 'hltIter0ElectronsTrackSelectionHighPurity', allTrackProducer = 'hltIter0ElectronsTrackSelectionHighPurity' ) iter1ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter1', TrackProducer = 'hltIter1ElectronsCtfWithMaterialTracks', allTrackProducer = 'hltIter1ElectronsCtfWithMaterialTracks' ) iter1HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter1HP', TrackProducer = 'hltIter1ElectronsTrackSelectionHighPurity', allTrackProducer = 'hltIter1ElectronsTrackSelectionHighPurity' ) iter1MergedForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter1Merged', TrackProducer = 'hltIter1MergedForElectrons', allTrackProducer = 'hltIter1MergedForElectrons' ) iter2ForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter2', TrackProducer = 'hltIter2ElectronsCtfWithMaterialTracks', allTrackProducer = 'hltIter2ElectronsCtfWithMaterialTracks' ) iter2HPForElectronsTracksMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter2HP', TrackProducer = 'hltIter2ElectronsTrackSelectionHighPurity', allTrackProducer = 'hltIter2ElectronsTrackSelectionHighPurity' ) iterHLTTracksForElectronsMonitoringHLT = egmTrackingMonHLT.clone( FolderName = 'HLT/EGM/Tracking/iter2Merged', TrackProducer = 'hltIter2MergedForElectrons', allTrackProducer = 'hltIter2MergedForElectrons' ) egmTrackingMonitorHLT = cms.Sequence( gsfTracksMonitoringHLT + pixelTracksForElectronsTracksMonitoringHLT + iter0HPForElectronsTracksMonitoringHLT # + iter1HPForElectronsTracksMonitoringHLT # + iter2HPForElectronsTracksMonitoringHLT + iterHLTTracksForElectronsMonitoringHLT ) trkHLTDQMSourceExtra = cms.Sequence( ) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + doubletRecoveryHPTracksMonitoringHLT)) phase2_tracker.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + iterInitialStepMonitoringHLT + iterHighPtTripletsMonitoringHLT)) run3_common.toReplaceWith(trackingMonitorHLTall, cms.Sequence(pixelTracksMonitoringHLT + iter0TracksMonitoringHLT + iter0HPTracksMonitoringHLT + doubletRecoveryTracksMonitoringHLT + doubletRecoveryHPTracksMonitoringHLT + iterHLTTracksMonitoringHLT)) run3_common.toReplaceWith(egmTrackingMonitorHLT, cms.Sequence(gsfTracksMonitoringHLT))