File indexing completed on 2024-08-21 04:46:56
0001 import FWCore.ParameterSet.Config as cms
0002
0003 from Validation.RecoVertex.PrimaryVertexAnalyzer4PUSlimmed_cfi import *
0004
0005 hltMultiPVanalysis = vertexAnalysis.clone(
0006 do_generic_sim_plots = False,
0007 verbose = False,
0008 root_folder = "HLT/Vertexing/ValidationWRTsim",
0009 vertexRecoCollections = [""],
0010 trackAssociatorMap = "trackingParticleRecoTrackAsssociation",
0011 vertexAssociator = "VertexAssociatorByPositionAndTracks"
0012 )
0013 from Validation.RecoTrack.associators_cff import hltTrackAssociatorByHits, tpToHLTpixelTrackAssociation
0014 from SimTracker.VertexAssociation.VertexAssociatorByPositionAndTracks_cfi import VertexAssociatorByPositionAndTracks as _VertexAssociatorByPositionAndTracks
0015 vertexAssociatorByPositionAndTracks4pixelTracks = _VertexAssociatorByPositionAndTracks.clone(
0016 trackAssociation = "tpToHLTpixelTrackAssociation"
0017 )
0018 tpToHLTpfMuonMergingTrackAssociation = tpToHLTpixelTrackAssociation.clone(
0019 label_tr = "hltPFMuonMerging"
0020 )
0021 vertexAssociatorByPositionAndTracks4pfMuonMergingTracks = _VertexAssociatorByPositionAndTracks.clone(
0022 trackAssociation = "tpToHLTpfMuonMergingTrackAssociation"
0023 )
0024
0025 hltPixelPVanalysis = hltMultiPVanalysis.clone(
0026 do_generic_sim_plots = True,
0027 trackAssociatorMap = "tpToHLTpixelTrackAssociation",
0028 vertexAssociator = "vertexAssociatorByPositionAndTracks4pixelTracks",
0029 vertexRecoCollections = (
0030 "hltPixelVertices",
0031 "hltTrimmedPixelVertices",
0032 )
0033 )
0034
0035 def _modifyPixelPVanalysisForPhase2(pvanalysis):
0036 pvanalysis.vertexRecoCollections = ["hltPhase2PixelVertices"]
0037
0038 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
0039 phase2_tracker.toModify(hltPixelPVanalysis, _modifyPixelPVanalysisForPhase2)
0040
0041 hltPVanalysis = hltMultiPVanalysis.clone(
0042 trackAssociatorMap = "tpToHLTpfMuonMergingTrackAssociation",
0043 vertexAssociator = "vertexAssociatorByPositionAndTracks4pfMuonMergingTracks",
0044 vertexRecoCollections = (
0045 "hltVerticesPFFilter",
0046
0047 )
0048 )
0049
0050 tpToHLTphase2TrackAssociation = tpToHLTpixelTrackAssociation.clone(
0051 label_tr = "hltGeneralTracks"
0052 )
0053 vertexAssociatorByPositionAndTracks4phase2HLTTracks = _VertexAssociatorByPositionAndTracks.clone(
0054 trackAssociation = "tpToHLTphase2TrackAssociation"
0055 )
0056
0057 def _modifyFullPVanalysisForPhase2(pvanalysis):
0058 pvanalysis.vertexRecoCollections = ["hltOfflinePrimaryVertices"]
0059 pvanalysis.trackAssociatorMap = "tpToHLTphase2TrackAssociation"
0060 pvanalysis.vertexAssociator = "vertexAssociatorByPositionAndTracks4phase2HLTTracks"
0061
0062 phase2_tracker.toModify(hltPVanalysis, _modifyFullPVanalysisForPhase2)
0063
0064 hltMultiPVAssociations = cms.Task(
0065 hltTrackAssociatorByHits,
0066 tpToHLTpixelTrackAssociation,
0067 vertexAssociatorByPositionAndTracks4pixelTracks,
0068 tpToHLTpfMuonMergingTrackAssociation,
0069 vertexAssociatorByPositionAndTracks4pfMuonMergingTracks,
0070 tpToHLTphase2TrackAssociation,
0071 vertexAssociatorByPositionAndTracks4phase2HLTTracks
0072 )
0073
0074 hltMultiPVValidation = cms.Sequence(
0075 hltPixelPVanalysis
0076 + hltPVanalysis,
0077 hltMultiPVAssociations
0078 )