File indexing completed on 2023-10-25 09:59:38
0001 import FWCore.ParameterSet.Config as cms
0002
0003
0004
0005
0006 hiPixelPairClusters = cms.EDProducer("HITrackClusterRemover",
0007 clusterLessSolution= cms.bool(True),
0008 oldClusterRemovalInfo = cms.InputTag("hiLowPtTripletStepClusters"),
0009 trajectories = cms.InputTag("hiLowPtTripletStepTracks"),
0010 overrideTrkQuals = cms.InputTag('hiLowPtTripletStepSelector','hiLowPtTripletStep'),
0011 TrackQuality = cms.string('highPurity'),
0012 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
0013 pixelClusters = cms.InputTag("siPixelClusters"),
0014 stripClusters = cms.InputTag("siStripClusters"),
0015 Common = cms.PSet(
0016 maxChi2 = cms.double(9.0),
0017 ),
0018 Strip = cms.PSet(
0019 maxChi2 = cms.double(9.0),
0020
0021 maxSize = cms.uint32(2)
0022 )
0023 )
0024
0025
0026
0027 import RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi
0028 hiPixelPairSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi.PixelLayerPairs.clone(
0029 layerList = ['BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3',
0030 'BPix1+FPix1_pos', 'BPix1+FPix1_neg',
0031 'BPix2+FPix1_pos', 'BPix2+FPix1_neg',
0032 'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'],
0033 BPix = cms.PSet(
0034 TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
0035 HitProducer = cms.string('siPixelRecHits'),
0036 skipClusters = cms.InputTag('hiPixelPairClusters')
0037 ),
0038 FPix = cms.PSet(
0039 TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
0040 HitProducer = cms.string('siPixelRecHits'),
0041 skipClusters = cms.InputTag('hiPixelPairClusters')
0042 )
0043 )
0044 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0045 trackingPhase1.toModify(hiPixelPairSeedLayers,
0046 layerList = ['BPix1+BPix4','BPix1+FPix1_pos','BPix1+FPix1_neg']
0047 )
0048
0049
0050 import RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff
0051 hiPixelPairSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone(
0052 RegionFactoryPSet = dict(
0053 RegionPSet = dict(
0054 VertexCollection = "hiSelectedPixelVertex",
0055 ptMin = 1.0,
0056 originRadius = 0.005,
0057 nSigmaZ = 4.0,
0058
0059 sigmaZVertex = 4.0,
0060 useFixedError = False
0061 )
0062 ),
0063 OrderedHitsFactoryPSet = dict(
0064 SeedingLayers = 'hiPixelPairSeedLayers',
0065 maxElement = 5000000
0066 ),
0067 ClusterCheckPSet = dict(
0068 MaxNumberOfPixelClusters = 5000000,
0069 MaxNumberOfStripClusters = 50000000,
0070 cut = ""
0071 ),
0072 SeedComparitorPSet = cms.PSet(
0073 ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
0074 FilterAtHelixStage = cms.bool(True),
0075 FilterPixelHits = cms.bool(True),
0076 FilterStripHits = cms.bool(False),
0077 ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
0078 ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache")
0079 )
0080 )
0081
0082 from RecoTracker.TkTrackingRegions.pointSeededTrackingRegion_cfi import pointSeededTrackingRegion as _pointSeededTrackingRegion
0083 hiPixelPairStepTrackingRegionPhase1 = _pointSeededTrackingRegion.clone(
0084 RegionPSet = dict(
0085 ptMin = 0.9,
0086 originRadius = 0.005,
0087 mode = "VerticesSigma",
0088 nSigmaZVertex = 4.0,
0089 vertexCollection = "hiSelectedPixelVertex",
0090 beamSpot = "offlineBeamSpot",
0091 whereToUseMeasurementTracker = "Never",
0092 deltaEta = 1.8,
0093 deltaPhi = 0.5,
0094 points = dict(
0095 eta = [0.0],
0096 phi = [3.0],
0097 )
0098 )
0099 )
0100
0101 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0102 hiPixelPairStepHitDoubletsPhase1 = _hitPairEDProducer.clone(
0103 seedingLayers = "hiPixelPairSeedLayers",
0104 trackingRegions = "hiPixelPairStepTrackingRegionPhase1",
0105 clusterCheck = "",
0106 produceSeedingHitSets = True,
0107 )
0108
0109 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0110 hiPixelPairStepSeedsPhase1 = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0111 seedingHitSets = "hiPixelPairStepHitDoubletsPhase1",
0112 SeedComparitorPSet = dict(
0113 ComponentName = 'PixelClusterShapeSeedComparitor',
0114 FilterAtHelixStage = cms.bool(True),
0115 FilterPixelHits = cms.bool(True),
0116 FilterStripHits = cms.bool(False),
0117 ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
0118 ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache'),
0119 )
0120 )
0121
0122
0123 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0124 hiPixelPairTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0125
0126 minimumNumberOfHits = 6,
0127 minPt = 1.0
0128 )
0129
0130 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi
0131 hiPixelPairChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
0132 ComponentName = 'hiPixelPairChi2Est',
0133 nSigma = 3.0,
0134 MaxChi2 = 9.0
0135 )
0136
0137
0138 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0139 hiPixelPairTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
0140 trajectoryFilter = dict(refToPSet_ = 'hiPixelPairTrajectoryFilter'),
0141 maxCand = 3,
0142 estimator = 'hiPixelPairChi2Est',
0143 maxDPhiForLooperReconstruction = 2.0,
0144 maxPtForLooperReconstruction = 0.7,
0145 )
0146
0147
0148 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0149 hiPixelPairTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
0150 src = 'hiPixelPairSeeds',
0151 clustersToSkip = 'hiPixelPairClusters',
0152 TrajectoryBuilderPSet = dict(refToPSet_ = 'hiPixelPairTrajectoryBuilder'),
0153
0154 numHitsForSeedCleaner = 50,
0155 onlyPixelHitsForSeedCleaner = True,
0156 )
0157 trackingPhase1.toModify(hiPixelPairTrackCandidates,
0158 src = 'hiPixelPairStepSeedsPhase1'
0159 )
0160
0161
0162 import RecoTracker.TrackProducer.TrackProducer_cfi
0163 hiPixelPairGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
0164 AlgorithmName = 'pixelPairStep',
0165 src = 'hiPixelPairTrackCandidates',
0166 Fitter = 'FlexibleKFFittingSmoother'
0167 )
0168
0169
0170
0171
0172
0173 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0174 hiPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0175 src = 'hiPixelPairGlobalPrimTracks',
0176 useAnyMVA = True,
0177 GBRForestLabel = 'HIMVASelectorIter6',
0178 GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'],
0179 trackSelectors= cms.VPSet(
0180 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
0181 name = 'hiPixelPairStepLoose',
0182 useMVA = False
0183 ),
0184 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0185 name = 'hiPixelPairStepTight',
0186 preFilterName = 'hiPixelPairStepLoose',
0187 useMVA = True,
0188 minMVA = -0.58
0189 ),
0190 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0191 name = 'hiPixelPairStep',
0192 preFilterName = 'hiPixelPairStepTight',
0193 useMVA = True,
0194 minMVA = 0.77
0195 ),
0196 )
0197 )
0198 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0199 trackingPhase1.toModify(hiPixelPairStepSelector,
0200 useAnyMVA = False,
0201 trackSelectors= cms.VPSet(
0202 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
0203 name = 'hiPixelPairStepLoose',
0204 useMVA = False
0205 ),
0206 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0207 name = 'hiPixelPairStepTight',
0208 preFilterName = 'hiPixelPairStepLoose',
0209 useMVA = False,
0210 minMVA = -0.58
0211 ),
0212 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0213 name = 'hiPixelPairStep',
0214 preFilterName = 'hiPixelPairStepTight',
0215 useMVA = False,
0216 minMVA = 0.77
0217 ),
0218 )
0219 )
0220
0221
0222 hiPixelPairStepTask = cms.Task(hiPixelPairClusters,
0223 hiPixelPairSeedLayers,
0224 hiPixelPairSeeds,
0225 hiPixelPairTrackCandidates,
0226 hiPixelPairGlobalPrimTracks,
0227 hiPixelPairStepSelector)
0228 hiPixelPairStep = cms.Sequence(hiPixelPairStepTask)
0229 hiPixelPairStep_Phase1 = hiPixelPairStepTask.copy()
0230 hiPixelPairStep_Phase1.replace(hiPixelPairSeeds, cms.Task(hiPixelPairStepTrackingRegionPhase1,hiPixelPairStepHitDoubletsPhase1,hiPixelPairStepSeedsPhase1) )
0231 trackingPhase1.toReplaceWith(hiPixelPairStepTask, hiPixelPairStep_Phase1)