File indexing completed on 2022-01-11 23:32:41
0001 import FWCore.ParameterSet.Config as cms
0002
0003
0004
0005 hiLowPtTripletStepClusters = cms.EDProducer("HITrackClusterRemover",
0006 clusterLessSolution= cms.bool(True),
0007 oldClusterRemovalInfo = cms.InputTag("hiDetachedTripletStepClusters"),
0008 trajectories = cms.InputTag("hiDetachedTripletStepTracks"),
0009 overrideTrkQuals = cms.InputTag("hiDetachedTripletStepSelector","hiDetachedTripletStep"),
0010 TrackQuality = cms.string('highPurity'),
0011 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
0012 pixelClusters = cms.InputTag("siPixelClusters"),
0013 stripClusters = cms.InputTag("siStripClusters"),
0014 Common = cms.PSet(
0015 maxChi2 = cms.double(9.0)
0016 ),
0017 Strip = cms.PSet(
0018
0019 maxSize = cms.uint32(2),
0020 maxChi2 = cms.double(9.0)
0021 )
0022 )
0023
0024
0025
0026 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
0027 hiLowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
0028 BPix = dict(skipClusters = cms.InputTag('hiLowPtTripletStepClusters')),
0029 FPix = dict(skipClusters = cms.InputTag('hiLowPtTripletStepClusters'))
0030 )
0031
0032
0033 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
0034 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0035 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0036 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0037 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0038 from RecoPixelVertexing.PixelLowPtUtilities.trackCleaner_cfi import *
0039 from RecoPixelVertexing.PixelTrackFitting.pixelFitterByHelixProjections_cfi import *
0040 from RecoHI.HiTracking.HIPixelTrackFilter_cff import *
0041 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
0042
0043 hiLowPtTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
0044 precise = True,
0045 useMultipleScattering = False,
0046 useFakeVertices = False,
0047 beamSpot = "offlineBeamSpot",
0048 useFixedError = False,
0049 nSigmaZ = 4.0,
0050 sigmaZVertex = 4.0,
0051 fixedError = 0.2,
0052 VertexCollection = "hiSelectedPixelVertex",
0053 ptMin = 0.4,
0054 useFoundVertices = True,
0055 originRadius = 0.02
0056 ))
0057 hiLowPtTripletStepTracksHitDoublets = _hitPairEDProducer.clone(
0058 clusterCheck = "",
0059 seedingLayers = "hiLowPtTripletStepSeedLayers",
0060 trackingRegions = "hiLowPtTripletStepTrackingRegions",
0061 maxElement = 50000000,
0062 produceIntermediateHitDoublets = True,
0063 )
0064 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0065 hiLowPtTripletStepTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
0066 doublets = "hiLowPtTripletStepTracksHitDoublets",
0067
0068 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
0069 produceSeedingHitSets = True,
0070 )
0071
0072 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer
0073 hiLowPtTripletStepTracksHitDoubletsCA = hiLowPtTripletStepTracksHitDoublets.clone(
0074 layerPairs = [0,1]
0075 )
0076 hiLowPtTripletStepTracksHitTripletsCA = _caHitTripletEDProducer.clone(
0077 doublets = "hiLowPtTripletStepTracksHitDoubletsCA",
0078 extraHitRPhitolerance = hiLowPtTripletStepTracksHitTriplets.extraHitRPhitolerance,
0079 SeedComparitorPSet = hiLowPtTripletStepTracksHitTriplets.SeedComparitorPSet,
0080 maxChi2 = dict(
0081 pt1 = 0.8, pt2 = 2,
0082 value1 = 70 , value2 = 8,
0083 ),
0084 useBendingCorrection = True,
0085 CAThetaCut = 0.002,
0086 CAPhiCut = 0.05,
0087 )
0088
0089 hiLowPtTripletStepPixelTracksFilter = hiFilter.clone(
0090 nSigmaLipMaxTolerance = 4.0,
0091 nSigmaTipMaxTolerance = 4.0,
0092 lipMax = 0,
0093 ptMin = 0.4,
0094 )
0095
0096 import RecoPixelVertexing.PixelTrackFitting.pixelTracks_cfi as _mod
0097
0098 hiLowPtTripletStepPixelTracks = _mod.pixelTracks.clone(
0099 passLabel = 'Pixel primary tracks with vertex constraint',
0100
0101 SeedingHitSets = "hiLowPtTripletStepTracksHitTriplets",
0102
0103 Fitter = "pixelFitterByHelixProjections",
0104
0105 Filter = "hiLowPtTripletStepPixelTracksFilter",
0106
0107 Cleaner = "trackCleaner"
0108 )
0109 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0110 trackingPhase1.toModify(hiLowPtTripletStepPixelTracks,
0111 SeedingHitSets = "hiLowPtTripletStepTracksHitTripletsCA"
0112 )
0113
0114
0115 import RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
0116 hiLowPtTripletStepSeeds = RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
0117 InputCollection = 'hiLowPtTripletStepPixelTracks'
0118 )
0119
0120
0121
0122 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0123 hiLowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0124 maxLostHits = 1,
0125 minimumNumberOfHits = 6,
0126 minPt = 0.4
0127 )
0128
0129 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi
0130 hiLowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
0131 ComponentName = 'hiLowPtTripletStepChi2Est',
0132 nSigma = 3.0,
0133 MaxChi2 = 9.0
0134 )
0135
0136
0137 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0138 hiLowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
0139 trajectoryFilter = dict(refToPSet_ = 'hiLowPtTripletStepTrajectoryFilter'),
0140 maxCand = 3,
0141 estimator = 'hiLowPtTripletStepChi2Est',
0142 maxDPhiForLooperReconstruction = 2.0,
0143
0144
0145 maxPtForLooperReconstruction = 0.7,
0146 )
0147
0148
0149 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0150 hiLowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
0151 src = 'hiLowPtTripletStepSeeds',
0152
0153 numHitsForSeedCleaner = 50,
0154 onlyPixelHitsForSeedCleaner = True,
0155 TrajectoryBuilderPSet = dict(refToPSet_ = 'hiLowPtTripletStepTrajectoryBuilder'),
0156 clustersToSkip = 'hiLowPtTripletStepClusters',
0157 doSeedingRegionRebuilding = True,
0158 useHitsSplitting = True
0159 )
0160
0161
0162 import RecoTracker.TrackProducer.TrackProducer_cfi
0163 hiLowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
0164 src = 'hiLowPtTripletStepTrackCandidates',
0165 AlgorithmName = 'lowPtTripletStep',
0166 Fitter='FlexibleKFFittingSmoother'
0167 )
0168
0169
0170
0171
0172 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0173 hiLowPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0174 src = 'hiLowPtTripletStepTracks',
0175 useAnyMVA = True,
0176 GBRForestLabel = 'HIMVASelectorIter5',
0177 GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'relpterr', 'nhits', 'nlayers', 'eta'],
0178 trackSelectors= cms.VPSet(
0179 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
0180 name = 'hiLowPtTripletStepLoose',
0181 useMVA = False
0182 ),
0183 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0184 name = 'hiLowPtTripletStepTight',
0185 preFilterName = 'hiLowPtTripletStepLoose',
0186 useMVA = True,
0187 minMVA = -0.58
0188 ),
0189 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0190 name = 'hiLowPtTripletStep',
0191 preFilterName = 'hiLowPtTripletStepTight',
0192 useMVA = True,
0193 minMVA = 0.35
0194 ),
0195 )
0196 )
0197 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0198 trackingPhase1.toModify(hiLowPtTripletStepSelector, useAnyMVA = False)
0199 trackingPhase1.toModify(hiLowPtTripletStepSelector, trackSelectors= cms.VPSet(
0200 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
0201 name = 'hiLowPtTripletStepLoose',
0202 useMVA = False
0203 ),
0204 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0205 name = 'hiLowPtTripletStepTight',
0206 preFilterName = 'hiLowPtTripletStepLoose',
0207 useMVA = False,
0208 minMVA = -0.58
0209 ),
0210 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0211 name = 'hiLowPtTripletStep',
0212 preFilterName = 'hiLowPtTripletStepTight',
0213 useMVA = False,
0214 minMVA = 0.35
0215 ),
0216 )
0217 )
0218
0219
0220 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
0221 hiLowPtTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
0222 TrackProducers = ['hiLowPtTripletStepTracks'],
0223 hasSelector = [1],
0224 selectedTrackQuals = ["hiLowPtTripletStepSelector:hiLowPtTripletStep"],
0225 copyExtras = True,
0226 makeReKeyedSeeds = cms.untracked.bool(False),
0227
0228 )
0229
0230
0231
0232 hiLowPtTripletStepTask = cms.Task(hiLowPtTripletStepClusters,
0233 hiLowPtTripletStepSeedLayers,
0234 hiLowPtTripletStepTrackingRegions,
0235 hiLowPtTripletStepTracksHitDoublets,
0236 hiLowPtTripletStepTracksHitTriplets,
0237 pixelFitterByHelixProjections,
0238 hiLowPtTripletStepPixelTracksFilter,
0239 hiLowPtTripletStepPixelTracks,hiLowPtTripletStepSeeds,
0240 hiLowPtTripletStepTrackCandidates,
0241 hiLowPtTripletStepTracks,
0242 hiLowPtTripletStepSelector,
0243 hiLowPtTripletStepQual
0244 )
0245 hiLowPtTripletStep = cms.Sequence(hiLowPtTripletStepTask)
0246 hiLowPtTripletStepTask_Phase1 = hiLowPtTripletStepTask.copy()
0247 hiLowPtTripletStepTask_Phase1.replace(hiLowPtTripletStepTracksHitDoublets, hiLowPtTripletStepTracksHitDoubletsCA)
0248 hiLowPtTripletStepTask_Phase1.replace(hiLowPtTripletStepTracksHitTriplets, hiLowPtTripletStepTracksHitTripletsCA)
0249 trackingPhase1.toReplaceWith(hiLowPtTripletStepTask, hiLowPtTripletStepTask_Phase1)