File indexing completed on 2025-03-31 22:27:14
0001 import FWCore.ParameterSet.Config as cms
0002
0003
0004 from Validation.RecoMuon.selectors_cff import *
0005
0006 from Validation.RecoMuon.track_selectors_cff import *
0007
0008
0009 import SimTracker.TrackAssociatorProducers.quickTrackAssociatorByHits_cfi
0010 trackAssociatorByHits = SimTracker.TrackAssociatorProducers.quickTrackAssociatorByHits_cfi.quickTrackAssociatorByHits.clone()
0011
0012 from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation
0013 tpToTkmuTrackAssociation = _trackingParticleRecoTrackAsssociation.clone(
0014 associator = 'trackAssociatorByHits',
0015
0016 label_tr = 'probeTracks'
0017 )
0018
0019
0020
0021
0022 import SimMuon.MCTruth.MuonAssociatorByHits_cfi
0023 MABH = SimMuon.MCTruth.MuonAssociatorByHits_cfi.muonAssociatorByHits.clone(
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 EfficiencyCut_track = 0.5,
0036 PurityCut_track = 0.75,
0037 EfficiencyCut_muon = 0.5,
0038 PurityCut_muon = 0.75,
0039 includeZeroHitMuons = False,
0040 tpTag = ("TPmu"),
0041 tpRefVector = True
0042
0043 )
0044 tpToTkMuonAssociation = MABH.clone(
0045
0046 tracksTag ='probeTracks',
0047 UseTracker = True,
0048 UseMuon = False,
0049 tpTag = ("TPtrack")
0050 )
0051 tpToStaSeedAssociation = MABH.clone(
0052 tracksTag = 'seedsOfSTAmuons',
0053 UseTracker = False,
0054 UseMuon = True,
0055 EfficiencyCut_muon = 0.
0056 )
0057 tpToStaMuonAssociation = MABH.clone(
0058 tracksTag = 'standAloneMuons',
0059 UseTracker = False,
0060 UseMuon = True
0061 )
0062 tpToStaUpdMuonAssociation = MABH.clone(
0063 tracksTag = 'standAloneMuons:UpdatedAtVtx',
0064 UseTracker = False,
0065 UseMuon = True
0066 )
0067 tpToGlbMuonAssociation = MABH.clone(
0068 tracksTag = 'globalMuons',
0069 UseTracker = True,
0070 UseMuon = True
0071 )
0072 tpToStaRefitMuonAssociation = MABH.clone(
0073 tracksTag = 'refittedStandAloneMuons',
0074 UseTracker = False,
0075 UseMuon = True
0076 )
0077 tpToStaRefitUpdMuonAssociation = MABH.clone(
0078 tracksTag = 'refittedStandAloneMuons:UpdatedAtVtx',
0079 UseTracker = False,
0080 UseMuon = True
0081 )
0082 tpToDisplacedTrkMuonAssociation = MABH.clone(
0083 tracksTag = 'displacedTracks',
0084 UseTracker = True,
0085 UseMuon = False,
0086 tpTag = ("TPtrack")
0087 )
0088 tpToDisplacedStaSeedAssociation = MABH.clone(
0089 tracksTag = 'seedsOfDisplacedSTAmuons',
0090 UseTracker = False,
0091 UseMuon = True,
0092 EfficiencyCut_muon = 0.
0093 )
0094 tpToDisplacedStaMuonAssociation = MABH.clone(
0095 tracksTag = 'displacedStandAloneMuons',
0096 UseTracker = False,
0097 UseMuon = True
0098 )
0099 tpToDisplacedGlbMuonAssociation = MABH.clone(
0100 tracksTag = 'displacedGlobalMuons',
0101 UseTracker = True,
0102 UseMuon = True
0103 )
0104 tpToTevFirstMuonAssociation = MABH.clone(
0105 tracksTag = 'tevMuons:firstHit',
0106 UseTracker = True,
0107 UseMuon = True,
0108 EfficiencyCut_muon = 0.
0109 )
0110 tpToTevPickyMuonAssociation = MABH.clone(
0111 tracksTag = 'tevMuons:picky',
0112 UseTracker = True,
0113 UseMuon = True,
0114 EfficiencyCut_muon = 0.
0115 )
0116 tpToTevDytMuonAssociation = MABH.clone(
0117 tracksTag = 'tevMuons:dyt',
0118 UseTracker = True,
0119 UseMuon = True,
0120 EfficiencyCut_muon = 0.,
0121 rejectBadGlobal = False
0122 )
0123
0124 tpToTunePMuonAssociation = MABH.clone(
0125 tracksTag = 'tunepMuonTracks',
0126 UseTracker = True,
0127 UseMuon = True,
0128 EfficiencyCut_muon = 0.,
0129 rejectBadGlobal = False
0130 )
0131
0132 tpToPFMuonAssociation = MABH.clone(
0133 tracksTag = 'pfMuonTracks',
0134 UseTracker = True,
0135 UseMuon = True,
0136 tpTag = ("TPpfmu"),
0137 EfficiencyCut_muon = 0.,
0138 rejectBadGlobal = False
0139 )
0140
0141
0142
0143 tpTorecoMuonMuonAssociation = MABH.clone(
0144 tracksTag = 'recoMuonTracks',
0145 UseTracker = True,
0146 UseMuon = True,
0147 EfficiencyCut_track = 0.,
0148 EfficiencyCut_muon = 0.,
0149
0150
0151
0152 includeZeroHitMuons = True,
0153 rejectBadGlobal = False
0154 )
0155
0156 tpToME0MuonMuonAssociation = MABH.clone(
0157 tracksTag = 'extractMe0Muons',
0158 UseTracker = True,
0159 UseMuon = False
0160 )
0161
0162 tpToGEMMuonMuonAssociation = MABH.clone(
0163 tracksTag = 'extractGemMuons',
0164 UseTracker = True,
0165 UseMuon = False
0166 )
0167
0168
0169 MABHhlt = SimMuon.MCTruth.MuonAssociatorByHits_cfi.muonAssociatorByHits.clone(
0170
0171
0172
0173
0174
0175
0176
0177 PurityCut_track = 0.75,
0178 PurityCut_muon = 0.75,
0179 DTrechitTag = 'hltDt1DRecHits',
0180 ignoreMissingTrackCollection = True,
0181 tpTag = ("TPmu"),
0182 tpRefVector = True
0183 )
0184
0185
0186 tpToL2MuonAssociation = MABHhlt.clone(
0187 tracksTag = 'hltL2Muons',
0188 UseTracker = False,
0189 UseMuon = True
0190 )
0191 tpToL2UpdMuonAssociation = MABHhlt.clone(
0192 tracksTag = 'hltL2Muons:UpdatedAtVtx',
0193 UseTracker = False,
0194 UseMuon = True
0195 )
0196 tpToL3OITkMuonAssociation = MABHhlt.clone(
0197 tracksTag = 'hltIterL3OIMuonTrackSelectionHighPurity',
0198 UseTracker = True,
0199 UseMuon = False
0200 )
0201 tpToL3TkMuonAssociation = MABHhlt.clone(
0202 tracksTag = 'hltIterL3MuonMerged',
0203 UseTracker = True,
0204 UseMuon = False
0205 )
0206 tpToL3FromL1TkMuonAssociation = MABHhlt.clone(
0207 tracksTag = 'hltIterL3MuonAndMuonFromL1Merged',
0208 UseTracker = True,
0209 UseMuon = False
0210 )
0211 tpToL0L3FromL1TkMuonAssociation = MABHhlt.clone(
0212 tracksTag = 'hltIter0IterL3FromL1MuonTrackSelectionHighPurity',
0213 UseTracker = True,
0214 UseMuon = False
0215 )
0216 tpToL3GlbMuonAssociation = MABHhlt.clone(
0217 tracksTag = 'hltIterL3GlbMuon',
0218 UseTracker = True,
0219 UseMuon = True
0220 )
0221 tpToL3NoIDMuonAssociation = MABHhlt.clone(
0222 tracksTag = 'hltIterL3MuonsNoIDTracks',
0223 UseTracker = True,
0224 UseMuon = True,
0225 rejectBadGlobal = False
0226 )
0227 tpToL3MuonAssociation = MABHhlt.clone(
0228 tracksTag = 'hltIterL3MuonsTracks',
0229 UseTracker = True,
0230 UseMuon = True,
0231 rejectBadGlobal = False
0232 )
0233
0234
0235
0236
0237
0238
0239 Phase2tpToL2SeedAssociation = MABHhlt.clone(
0240 tracksTag = "hltPhase2L2MuonSeedTracks",
0241 UseTracker = False,
0242 UseMuon = True
0243 )
0244
0245 Phase2tpToL2MuonAssociation = MABHhlt.clone(
0246 tracksTag = 'hltL2MuonsFromL1TkMuon',
0247 UseTracker = False,
0248 UseMuon = True
0249 )
0250
0251 Phase2tpToL2MuonUpdAssociation = MABHhlt.clone(
0252 tracksTag = 'hltL2MuonsFromL1TkMuon:UpdatedAtVtx',
0253 UseTracker = False,
0254 UseMuon = True
0255 )
0256
0257 Phase2tpToL3IOTkAssociation = MABHhlt.clone(
0258 tracksTag = 'hltIter2Phase2L3FromL1TkMuonMerged',
0259 UseTracker = True,
0260 UseMuon = False
0261 )
0262
0263 Phase2tpToL3OITkAssociation = MABHhlt.clone(
0264 tracksTag = 'hltPhase2L3OIMuonTrackSelectionHighPurity',
0265 UseTracker = True,
0266 UseMuon = False
0267 )
0268
0269 Phase2tpToL2MuonToReuseAssociation = MABHhlt.clone(
0270 tracksTag = 'hltPhase2L3MuonFilter:L2MuToReuse',
0271 UseTracker = False,
0272 UseMuon = True
0273 )
0274
0275 Phase2tpToL3IOTkFilteredAssociation = MABHhlt.clone(
0276 tracksTag = 'hltPhase2L3MuonFilter:L3IOTracksFiltered',
0277 UseTracker = True,
0278 UseMuon = False
0279 )
0280
0281 Phase2tpToL3OITkFilteredAssociation = MABHhlt.clone(
0282 tracksTag = 'hltPhase2L3MuonFilter:L3OITracksFiltered',
0283 UseTracker = True,
0284 UseMuon = False
0285 )
0286
0287 Phase2tpToL3TkMergedAssociation = MABHhlt.clone(
0288 tracksTag = 'hltPhase2L3MuonMerged',
0289 UseTracker = True,
0290 UseMuon = False
0291 )
0292
0293 Phase2tpToL3GlbMuonMergedAssociation = MABHhlt.clone(
0294 tracksTag = 'hltPhase2L3GlbMuon',
0295 UseTracker = True,
0296 UseMuon = True
0297 )
0298
0299 Phase2tpToL3MuonNoIdAssociation = MABHhlt.clone(
0300 tracksTag = 'hltPhase2L3MuonNoIdTracks',
0301 UseTracker = True,
0302 UseMuon = True,
0303 rejectBadGlobal = False
0304 )
0305
0306 Phase2tpToL3MuonIdAssociation = MABHhlt.clone(
0307 tracksTag = 'hltPhase2L3MuonIdTracks',
0308 UseTracker = True,
0309 UseMuon = True,
0310 rejectBadGlobal = False
0311 )
0312
0313
0314
0315
0316
0317 MABHcosmic = SimMuon.MCTruth.MuonAssociatorByHits_cfi.muonAssociatorByHits.clone(
0318
0319
0320
0321
0322
0323
0324 EfficiencyCut_track = 0.5,
0325 PurityCut_track = 0.75,
0326 EfficiencyCut_muon = 0.5,
0327 PurityCut_muon = 0.75,
0328 includeZeroHitMuons = False
0329 )
0330
0331
0332
0333
0334
0335
0336 tpToTkCosmicSelMuonAssociation = MABHcosmic.clone(
0337 tracksTag = 'ctfWithMaterialTracksP5LHCNavigation',
0338 UseTracker = True,
0339 UseMuon = False,
0340 EfficiencyCut_track = 0.25
0341 )
0342 tpToStaCosmicSelMuonAssociation = MABHcosmic.clone(
0343 tracksTag = 'cosmicMuons',
0344 UseTracker = False,
0345 UseMuon = True,
0346 EfficiencyCut_muon = 0.25
0347 )
0348 tpToGlbCosmicSelMuonAssociation = MABHcosmic.clone(
0349 tracksTag = 'globalCosmicMuons',
0350 UseTracker = True,
0351 UseMuon = True,
0352 EfficiencyCut_track = 0.25,
0353 EfficiencyCut_muon = 0.25
0354 )
0355
0356 tpToTkCosmic1LegSelMuonAssociation = MABHcosmic.clone(
0357 tracksTag = 'ctfWithMaterialTracksP5',
0358 UseTracker = True,
0359 UseMuon = False
0360 )
0361 tpToStaCosmic1LegSelMuonAssociation = MABHcosmic.clone(
0362 tracksTag = 'cosmicMuons1Leg',
0363 UseTracker = False,
0364 UseMuon = True
0365 )
0366 tpToGlbCosmic1LegSelMuonAssociation = MABHcosmic.clone(
0367 tracksTag = 'globalCosmicMuons1Leg',
0368 UseTracker = True,
0369 UseMuon = True
0370 )
0371
0372
0373
0374
0375
0376 muonAssociation_seq = cms.Sequence(
0377 probeTracks_seq+tpToTkMuonAssociation
0378 +trackAssociatorByHits+tpToTkmuTrackAssociation
0379 +seedsOfSTAmuons_seq+tpToStaSeedAssociation+tpToStaMuonAssociation+tpToStaUpdMuonAssociation
0380 +tpToGlbMuonAssociation
0381 +pfMuonTracks_seq+tpToPFMuonAssociation
0382 +recoMuonTracks_seq+tpTorecoMuonMuonAssociation
0383 )
0384
0385 muonAssociationTEV_seq = cms.Sequence(
0386 tpToTevFirstMuonAssociation+tpToTevPickyMuonAssociation+tpToTevDytMuonAssociation
0387 +tunepMuonTracks_seq+tpToTunePMuonAssociation
0388 )
0389
0390 muonAssociationDisplaced_seq = cms.Sequence(
0391 seedsOfDisplacedSTAmuons_seq+tpToDisplacedStaSeedAssociation+tpToDisplacedStaMuonAssociation
0392 +tpToDisplacedTrkMuonAssociation+tpToDisplacedGlbMuonAssociation
0393 )
0394
0395 muonAssociationRefit_seq = cms.Sequence(
0396 tpToStaRefitMuonAssociation+tpToStaRefitUpdMuonAssociation
0397 )
0398
0399 muonAssociationCosmic_seq = cms.Sequence(
0400 tpToTkCosmicSelMuonAssociation+ tpToTkCosmic1LegSelMuonAssociation
0401 +tpToStaCosmicSelMuonAssociation+tpToStaCosmic1LegSelMuonAssociation
0402 +tpToGlbCosmicSelMuonAssociation+tpToGlbCosmic1LegSelMuonAssociation
0403 )
0404
0405
0406
0407
0408
0409 muonAssociationHLT_seq = cms.Sequence(
0410 tpToL2MuonAssociation+tpToL2UpdMuonAssociation
0411 +tpToL3OITkMuonAssociation+tpToL3TkMuonAssociation+tpToL3FromL1TkMuonAssociation+tpToL0L3FromL1TkMuonAssociation
0412 +tpToL3GlbMuonAssociation
0413 +hltIterL3MuonsNoIDTracks_seq+tpToL3NoIDMuonAssociation
0414 +hltIterL3MuonsTracks_seq+tpToL3MuonAssociation
0415 )
0416
0417
0418
0419
0420
0421 muonAssociationReduced_seq = cms.Sequence(
0422 probeTracks_seq+tpToTkMuonAssociation
0423 +tpToStaUpdMuonAssociation
0424 +tpToGlbMuonAssociation
0425 +tunepMuonTracks_seq+tpToTunePMuonAssociation
0426 +pfMuonTracks_seq+tpToPFMuonAssociation
0427 +recoMuonTracks_seq+tpTorecoMuonMuonAssociation
0428 +tpToDisplacedStaMuonAssociation
0429 +tpToDisplacedTrkMuonAssociation
0430 +tpToDisplacedGlbMuonAssociation
0431 )
0432
0433 _muonAssociationHLT_seq = cms.Sequence(
0434 hltPhase2L2MuonSeedTracks+Phase2tpToL2SeedAssociation
0435 +Phase2tpToL2MuonAssociation+Phase2tpToL2MuonUpdAssociation
0436 +Phase2tpToL3IOTkAssociation+Phase2tpToL3OITkAssociation
0437 +Phase2tpToL3TkMergedAssociation+Phase2tpToL3GlbMuonMergedAssociation
0438 +hltPhase2L3MuonNoIdTracks+Phase2tpToL3MuonNoIdAssociation
0439 +hltPhase2L3MuonIdTracks+Phase2tpToL3MuonIdAssociation
0440 )
0441
0442 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
0443 phase2_muon.toReplaceWith(muonAssociationHLT_seq, _muonAssociationHLT_seq)
0444
0445
0446 _muonAssociationHLT_seq_IO_first = cms.Sequence(
0447 hltPhase2L2MuonSeedTracks+Phase2tpToL2SeedAssociation
0448 +Phase2tpToL2MuonAssociation+Phase2tpToL2MuonUpdAssociation
0449 +Phase2tpToL3IOTkAssociation+Phase2tpToL3OITkAssociation
0450 +Phase2tpToL2MuonToReuseAssociation+Phase2tpToL3IOTkFilteredAssociation
0451 +Phase2tpToL3TkMergedAssociation+Phase2tpToL3GlbMuonMergedAssociation
0452 +hltPhase2L3MuonNoIdTracks+Phase2tpToL3MuonNoIdAssociation
0453 +hltPhase2L3MuonIdTracks+Phase2tpToL3MuonIdAssociation
0454 )
0455
0456 _muonAssociationHLT_seq_OI_first = cms.Sequence(
0457 hltPhase2L2MuonSeedTracks+Phase2tpToL2SeedAssociation
0458 +Phase2tpToL2MuonAssociation+Phase2tpToL2MuonUpdAssociation
0459 +Phase2tpToL3OITkAssociation+Phase2tpToL3OITkFilteredAssociation
0460 +Phase2tpToL3IOTkAssociation+Phase2tpToL3TkMergedAssociation
0461 +Phase2tpToL3GlbMuonMergedAssociation
0462 +hltPhase2L3MuonNoIdTracks+Phase2tpToL3MuonNoIdAssociation
0463 +hltPhase2L3MuonIdTracks+Phase2tpToL3MuonIdAssociation
0464 )
0465
0466 from Configuration.ProcessModifiers.phase2L2AndL3Muons_cff import phase2L2AndL3Muons
0467 phase2L2AndL3Muons.toReplaceWith(muonAssociationHLT_seq, _muonAssociationHLT_seq_IO_first)
0468
0469 from Configuration.ProcessModifiers.phase2L3MuonsOIFirst_cff import phase2L3MuonsOIFirst
0470 (phase2L2AndL3Muons & phase2L3MuonsOIFirst).toReplaceWith(muonAssociationHLT_seq, _muonAssociationHLT_seq_OI_first)
0471
0472
0473 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0474 _DTrechitTag = SimMuon.MCTruth.MuonAssociatorByHits_cfi.muonAssociatorByHits.DTrechitTag
0475 fastSim.toModify(tpToL2MuonAssociation, DTrechitTag = _DTrechitTag)
0476 fastSim.toModify(tpToL2UpdMuonAssociation, DTrechitTag = _DTrechitTag)
0477 fastSim.toModify(tpToL3OITkMuonAssociation, DTrechitTag = _DTrechitTag)
0478 fastSim.toModify(tpToL3TkMuonAssociation, DTrechitTag = _DTrechitTag)
0479 fastSim.toModify(tpToL3FromL1TkMuonAssociation, DTrechitTag = _DTrechitTag)
0480 fastSim.toModify(tpToL0L3FromL1TkMuonAssociation, DTrechitTag = _DTrechitTag)
0481 fastSim.toModify(tpToL3GlbMuonAssociation, DTrechitTag = _DTrechitTag)
0482 fastSim.toModify(tpToL3NoIDMuonAssociation, DTrechitTag = _DTrechitTag)
0483 fastSim.toModify(tpToL3MuonAssociation, DTrechitTag = _DTrechitTag)
0484
0485
0486 fastSim.toModify(Phase2tpToL2SeedAssociation, DTrechitTag = _DTrechitTag)
0487 fastSim.toModify(Phase2tpToL2MuonAssociation, DTrechitTag = _DTrechitTag)
0488 fastSim.toModify(Phase2tpToL2MuonUpdAssociation, DTrechitTag = _DTrechitTag)
0489 fastSim.toModify(Phase2tpToL3IOTkAssociation, DTrechitTag = _DTrechitTag)
0490 fastSim.toModify(Phase2tpToL3OITkAssociation, DTrechitTag = _DTrechitTag)
0491 fastSim.toModify(Phase2tpToL2MuonToReuseAssociation, DTrechitTag = _DTrechitTag)
0492 fastSim.toModify(Phase2tpToL3IOTkFilteredAssociation, DTrechitTag = _DTrechitTag)
0493 fastSim.toModify(Phase2tpToL3OITkFilteredAssociation, DTrechitTag = _DTrechitTag)
0494 fastSim.toModify(Phase2tpToL3TkMergedAssociation, DTrechitTag = _DTrechitTag)
0495 fastSim.toModify(Phase2tpToL3GlbMuonMergedAssociation, DTrechitTag = _DTrechitTag)
0496 fastSim.toModify(Phase2tpToL3MuonNoIdAssociation, DTrechitTag = _DTrechitTag)
0497 fastSim.toModify(Phase2tpToL3MuonIdAssociation, DTrechitTag = _DTrechitTag)