File indexing completed on 2023-05-10 03:54:41
0001 import FWCore.ParameterSet.Config as cms
0002 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
0003
0004
0005 displacedGeneralStepClusters = _cfg.clusterRemoverForIter("DisplacedGeneralStep")
0006 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
0007 _era.toReplaceWith(displacedGeneralStepClusters, _cfg.clusterRemoverForIter("DisplacedGeneralStep", _eraName, _postfix))
0008
0009
0010 import RecoTracker.TkSeedingLayers.DisplacedGeneralLayerTriplet_cfi
0011 displacedGeneralStepSeedLayers = RecoTracker.TkSeedingLayers.DisplacedGeneralLayerTriplet_cfi.DisplacedGeneralLayerTriplet.clone()
0012
0013
0014
0015 from RecoTracker.TkTrackingRegions.globalTrackingRegion_cfi import globalTrackingRegion as _globalTrackingRegion
0016 displacedGeneralStepTrackingRegions = _globalTrackingRegion.clone(
0017 RegionPSet = dict(
0018 precise = True,
0019 useMultipleScattering = True,
0020 originHalfLength = 55,
0021 originRadius = 10,
0022 ptMin = 1
0023 )
0024 )
0025
0026
0027
0028
0029
0030
0031 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import ClusterShapeHitFilterESProducer as _ClusterShapeHitFilterESProducer
0032 displacedGeneralStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
0033 ComponentName = 'displacedGeneralStepClusterShapeHitFilter',
0034 doStripShapeCut = cms.bool(False),
0035 clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight')
0036 )
0037
0038 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0039 displacedGeneralStepHitDoublets = _hitPairEDProducer.clone(
0040 seedingLayers = "displacedGeneralStepSeedLayers",
0041 trackingRegions = "displacedGeneralStepTrackingRegions",
0042 maxElement = 50000000,
0043 produceIntermediateHitDoublets = True,
0044 )
0045
0046 from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer
0047 displacedGeneralStepHitTriplets = _multiHitFromChi2EDProducer.clone(
0048 doublets = "displacedGeneralStepHitDoublets",
0049 extraPhiKDBox = 0.01,
0050 )
0051
0052
0053 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
0054 from RecoTracker.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter
0055 displacedGeneralStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
0056 seedingHitSets = "displacedGeneralStepHitTriplets",
0057 SeedComparitorPSet = dict(
0058 ComponentName = 'CombinedSeedComparitor',
0059 mode = cms.string("and"),
0060 comparitors = cms.VPSet(
0061 cms.PSet(
0062 ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
0063 FilterAtHelixStage = cms.bool(True),
0064 FilterPixelHits = cms.bool(False),
0065 FilterStripHits = cms.bool(True),
0066 ClusterShapeHitFilterName = cms.string('displacedGeneralStepClusterShapeHitFilter'),
0067 ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache")
0068 ),
0069 _StripSubClusterShapeSeedFilter.clone()
0070 )
0071 )
0072 )
0073
0074
0075
0076
0077 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
0078 _displacedGeneralStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0079 maxLostHits = 1,
0080 minimumNumberOfHits = 4,
0081 minPt = 1,
0082 )
0083
0084 displacedGeneralStepTrajectoryFilter = _displacedGeneralStepTrajectoryFilterBase.clone(
0085 seedPairPenalty = 1,
0086 )
0087
0088
0089 displacedGeneralStepTrajectoryFilterInOut = displacedGeneralStepTrajectoryFilter.clone()
0090
0091 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
0092 displacedGeneralStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
0093 ComponentName = 'displacedGeneralStepChi2Est',
0094 nSigma = 3.0,
0095 MaxChi2 = 10.0,
0096 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0097 )
0098
0099
0100
0101
0102 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0103 displacedGeneralStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilderIterativeDefault.clone(
0104 trajectoryFilter = dict(refToPSet_ = 'displacedGeneralStepTrajectoryFilter'),
0105 inOutTrajectoryFilter = dict(refToPSet_ = 'displacedGeneralStepTrajectoryFilterInOut'),
0106 useSameTrajFilter = False,
0107 minNrOfHitsForRebuild = 4,
0108 maxCand = 2,
0109 estimator = 'displacedGeneralStepChi2Est'
0110 )
0111
0112
0113
0114
0115 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0116 displacedGeneralStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidatesIterativeDefault.clone(
0117 src = 'displacedGeneralStepSeeds',
0118 TrajectoryCleaner = 'displacedGeneralStepTrajectoryCleanerBySharedHits',
0119
0120 numHitsForSeedCleaner = 50,
0121 onlyPixelHitsForSeedCleaner = False,
0122 TrajectoryBuilderPSet = dict(refToPSet_ = 'displacedGeneralStepTrajectoryBuilder'),
0123 clustersToSkip = 'displacedGeneralStepClusters',
0124 doSeedingRegionRebuilding = True,
0125 useHitsSplitting = True,
0126 cleanTrajectoryAfterInOut = True
0127 )
0128
0129 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
0130 displacedGeneralStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
0131 ComponentName = 'displacedGeneralStepTrajectoryCleanerBySharedHits',
0132 fractionShared = 0.25,
0133 allowSharedFirstHit = True
0134 )
0135
0136
0137
0138
0139
0140
0141 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
0142 displacedGeneralStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
0143 ComponentName = 'displacedGeneralStepFitterSmoother',
0144 EstimateCut = 30,
0145 MinNumberOfHits = 8,
0146 Fitter = 'displacedGeneralStepRKFitter',
0147 Smoother = 'displacedGeneralStepRKSmoother'
0148 )
0149
0150
0151
0152
0153 displacedGeneralStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
0154 ComponentName = 'displacedGeneralStepRKFitter',
0155 minHits = 8
0156 )
0157
0158
0159
0160 displacedGeneralStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
0161 ComponentName = 'displacedGeneralStepRKSmoother',
0162 errorRescaling = 10.0,
0163 minHits = 8
0164 )
0165
0166
0167
0168 import TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi
0169 generalDisplacedFlexibleKFFittingSmoother = TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi.FlexibleKFFittingSmoother.clone(
0170 ComponentName = 'generalDisplacedFlexibleKFFittingSmoother',
0171 standardFitter = 'displacedGeneralStepFitterSmoother',
0172 )
0173
0174
0175
0176
0177 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
0178 displacedGeneralStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.clone(
0179 src = 'displacedGeneralStepTrackCandidates',
0180 AlgorithmName = 'displacedGeneralStep',
0181 Fitter = 'generalDisplacedFlexibleKFFittingSmoother',
0182 )
0183
0184
0185
0186
0187 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
0188 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
0189 displacedGeneralStepClassifier1 = TrackMVAClassifierDetached.clone(
0190 src = 'displacedGeneralStepTracks',
0191 mva = dict(GBRForestLabel = 'MVASelectorIter6_13TeV'),
0192 qualityCuts = [-0.6,-0.45,-0.3]
0193 )
0194 displacedGeneralStepClassifier2 = TrackMVAClassifierPrompt.clone(
0195 src = 'displacedGeneralStepTracks',
0196 mva = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
0197 qualityCuts = [0.0,0.0,0.0]
0198 )
0199
0200 from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
0201 displacedGeneralStep = ClassifierMerger.clone(
0202 inputClassifiers=['displacedGeneralStepClassifier1','displacedGeneralStepClassifier2']
0203 )
0204
0205 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0206 trackingPhase1.toReplaceWith(displacedGeneralStep, displacedGeneralStepClassifier1.clone(
0207 mva = dict(GBRForestLabel = 'MVASelectorTobTecStep_Phase1'),
0208 qualityCuts = [-0.6,-0.45,-0.3],
0209 ))
0210
0211
0212
0213 DisplacedGeneralStepTask = cms.Task(displacedGeneralStepClusters,
0214 displacedGeneralStepSeedLayers,
0215 displacedGeneralStepTrackingRegions,
0216 displacedGeneralStepHitDoublets,
0217 displacedGeneralStepHitTriplets,
0218 displacedGeneralStepSeeds,
0219 displacedGeneralStepTrackCandidates,
0220 displacedGeneralStepTracks,
0221 displacedGeneralStepClassifier1,displacedGeneralStepClassifier2,
0222 displacedGeneralStep)
0223
0224 DisplacedGeneralStep = cms.Sequence(DisplacedGeneralStepTask)