Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
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',
)

# LST track collections
initialSteppTTCLSTTracksMonitoringHLT = trackingMonHLT.clone(
    FolderName       = 'HLT/Tracking/initialStepTrackSelectionHighPuritypTTCLST',
    TrackProducer    = 'hltInitialStepTrackSelectionHighPuritypTTCLST',
    allTrackProducer = 'hltInitialStepTrackSelectionHighPuritypTTCLST'
)

initialSteppLSTCLSTTracksMonitoringHLT = trackingMonHLT.clone(
    FolderName       = 'HLT/Tracking/initialStepTrackSelectionHighPuritypLSTCLST',
    TrackProducer    = 'hltInitialStepTrackSelectionHighPuritypLSTCLST',
    allTrackProducer = 'hltInitialStepTrackSelectionHighPuritypLSTCLST'
)

initialStepT5TCLSTTracksMonitoringHLT = trackingMonHLT.clone(
    FolderName       = 'HLT/Tracking/initialStepTracksT5TCLST',
    TrackProducer    = 'hltInitialStepTracksT5TCLST',
    allTrackProducer = 'hltInitialStepTracksT5TCLST'
)

highPtTripletSteppLSTCLSTTracksMonitoringHLT = trackingMonHLT.clone(
    FolderName       = 'HLT/Tracking/highPtTripletStepTrackSelectionHighPuritypLSTCLST',
    TrackProducer    = 'hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST',
    allTrackProducer = 'hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST'
)

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
)    

doubletRecoveryHPTracksMonitoringHLT = trackingMonHLT.clone(
    FolderName       = 'HLT/Tracking/doubletRecoveryTracks',
    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 )) # + iter0HPTracksMonitoringHLT ))
phase2_tracker.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + iterInitialStepMonitoringHLT + iterHighPtTripletsMonitoringHLT))

from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
from Configuration.ProcessModifiers.seedingLST_cff import seedingLST
(~seedingLST & trackingLST).toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + initialSteppTTCLSTTracksMonitoringHLT + initialSteppLSTCLSTTracksMonitoringHLT + initialStepT5TCLSTTracksMonitoringHLT + iterHighPtTripletsMonitoringHLT))
(seedingLST & trackingLST).toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + initialSteppTTCLSTTracksMonitoringHLT + initialStepT5TCLSTTracksMonitoringHLT + highPtTripletSteppLSTCLSTTracksMonitoringHLT))

run3_common.toReplaceWith(trackingMonitorHLTall, cms.Sequence(pixelTracksMonitoringHLT + iter0TracksMonitoringHLT + iterHLTTracksMonitoringHLT))
run3_common.toReplaceWith(egmTrackingMonitorHLT, cms.Sequence(gsfTracksMonitoringHLT))