1 import FWCore.ParameterSet.Config
as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
5 displacedGeneralStepClusters = _cfg.clusterRemoverForIter(
"DisplacedGeneralStep")
6 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
7 _era.toReplaceWith(displacedGeneralStepClusters, _cfg.clusterRemoverForIter(
"DisplacedGeneralStep", _eraName, _postfix))
10 import RecoTracker.TkSeedingLayers.DisplacedGeneralLayerTriplet_cfi
11 displacedGeneralStepSeedLayers = RecoTracker.TkSeedingLayers.DisplacedGeneralLayerTriplet_cfi.DisplacedGeneralLayerTriplet.clone()
15 from RecoTracker.TkTrackingRegions.globalTrackingRegion_cfi
import globalTrackingRegion
as _globalTrackingRegion
16 displacedGeneralStepTrackingRegions = _globalTrackingRegion.clone(
19 useMultipleScattering =
True,
20 originHalfLength = 55,
32 displacedGeneralStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
33 ComponentName =
'displacedGeneralStepClusterShapeHitFilter',
34 doStripShapeCut = cms.bool(
False),
35 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTight')
38 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
39 displacedGeneralStepHitDoublets = _hitPairEDProducer.clone(
40 seedingLayers =
"displacedGeneralStepSeedLayers",
41 trackingRegions =
"displacedGeneralStepTrackingRegions",
42 maxElement = 50000000,
43 produceIntermediateHitDoublets =
True,
46 from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi
import multiHitFromChi2EDProducer
as _multiHitFromChi2EDProducer
47 displacedGeneralStepHitTriplets = _multiHitFromChi2EDProducer.clone(
48 doublets =
"displacedGeneralStepHitDoublets",
53 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
54 from RecoTracker.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi
import StripSubClusterShapeSeedFilter
as _StripSubClusterShapeSeedFilter
55 displacedGeneralStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
56 seedingHitSets =
"displacedGeneralStepHitTriplets",
57 SeedComparitorPSet = dict(
58 ComponentName =
'CombinedSeedComparitor',
59 mode = cms.string(
"and"),
60 comparitors = cms.VPSet(
62 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
63 FilterAtHelixStage = cms.bool(
True),
64 FilterPixelHits = cms.bool(
False),
65 FilterStripHits = cms.bool(
True),
66 ClusterShapeHitFilterName = cms.string(
'displacedGeneralStepClusterShapeHitFilter'),
67 ClusterShapeCacheSrc = cms.InputTag(
"siPixelClusterShapeCache")
69 _StripSubClusterShapeSeedFilter.clone()
78 _displacedGeneralStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
80 minimumNumberOfHits = 4,
84 displacedGeneralStepTrajectoryFilter = _displacedGeneralStepTrajectoryFilterBase.clone(
89 displacedGeneralStepTrajectoryFilterInOut = displacedGeneralStepTrajectoryFilter.clone()
91 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
92 displacedGeneralStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
93 ComponentName =
'displacedGeneralStepChi2Est',
96 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
103 displacedGeneralStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilderIterativeDefault.clone(
104 trajectoryFilter = dict(refToPSet_ =
'displacedGeneralStepTrajectoryFilter'),
105 inOutTrajectoryFilter = dict(refToPSet_ =
'displacedGeneralStepTrajectoryFilterInOut'),
106 useSameTrajFilter =
False,
107 minNrOfHitsForRebuild = 4,
109 estimator =
'displacedGeneralStepChi2Est' 116 displacedGeneralStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidatesIterativeDefault.clone(
117 src =
'displacedGeneralStepSeeds',
118 TrajectoryCleaner =
'displacedGeneralStepTrajectoryCleanerBySharedHits',
120 numHitsForSeedCleaner = 50,
121 onlyPixelHitsForSeedCleaner =
False,
122 TrajectoryBuilderPSet = dict(refToPSet_ =
'displacedGeneralStepTrajectoryBuilder'),
123 clustersToSkip =
'displacedGeneralStepClusters',
124 doSeedingRegionRebuilding =
True,
125 useHitsSplitting =
True,
126 cleanTrajectoryAfterInOut =
True 130 displacedGeneralStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
131 ComponentName =
'displacedGeneralStepTrajectoryCleanerBySharedHits',
132 fractionShared = 0.25,
133 allowSharedFirstHit =
True 142 displacedGeneralStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
143 ComponentName =
'displacedGeneralStepFitterSmoother',
146 Fitter =
'displacedGeneralStepRKFitter',
147 Smoother =
'displacedGeneralStepRKSmoother' 153 displacedGeneralStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
154 ComponentName =
'displacedGeneralStepRKFitter',
160 displacedGeneralStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
161 ComponentName =
'displacedGeneralStepRKSmoother',
162 errorRescaling = 10.0,
169 generalDisplacedFlexibleKFFittingSmoother = TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi.FlexibleKFFittingSmoother.clone(
170 ComponentName =
'generalDisplacedFlexibleKFFittingSmoother',
171 standardFitter =
'displacedGeneralStepFitterSmoother',
177 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
178 displacedGeneralStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.clone(
179 src =
'displacedGeneralStepTrackCandidates',
180 AlgorithmName =
'displacedGeneralStep',
181 Fitter =
'generalDisplacedFlexibleKFFittingSmoother',
189 displacedGeneralStepClassifier1 = TrackMVAClassifierDetached.clone(
190 src =
'displacedGeneralStepTracks',
191 mva = dict(GBRForestLabel =
'MVASelectorIter6_13TeV'),
192 qualityCuts = [-0.6,-0.45,-0.3]
194 displacedGeneralStepClassifier2 = TrackMVAClassifierPrompt.clone(
195 src =
'displacedGeneralStepTracks',
196 mva = dict(GBRForestLabel =
'MVASelectorIter0_13TeV'),
197 qualityCuts = [0.0,0.0,0.0]
201 displacedGeneralStep = ClassifierMerger.clone(
202 inputClassifiers=[
'displacedGeneralStepClassifier1',
'displacedGeneralStepClassifier2']
205 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
206 trackingPhase1.toReplaceWith(displacedGeneralStep, displacedGeneralStepClassifier1.clone(
207 mva = dict(GBRForestLabel =
'MVASelectorTobTecStep_Phase1'),
208 qualityCuts = [-0.6,-0.45,-0.3],
213 DisplacedGeneralStepTask = cms.Task(displacedGeneralStepClusters,
214 displacedGeneralStepSeedLayers,
215 displacedGeneralStepTrackingRegions,
216 displacedGeneralStepHitDoublets,
217 displacedGeneralStepHitTriplets,
218 displacedGeneralStepSeeds,
219 displacedGeneralStepTrackCandidates,
220 displacedGeneralStepTracks,
221 displacedGeneralStepClassifier1,displacedGeneralStepClassifier2,
222 displacedGeneralStep)
224 DisplacedGeneralStep = cms.Sequence(DisplacedGeneralStepTask)