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 RecoPixelVertexing.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.GroupedCkfTrajectoryBuilder.clone(
104 MeasurementTrackerName =
'',
105 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'displacedGeneralStepTrajectoryFilter')),
106 inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'displacedGeneralStepTrajectoryFilterInOut')),
107 useSameTrajFilter =
False,
108 minNrOfHitsForRebuild = 4,
110 estimator =
'displacedGeneralStepChi2Est'
117 displacedGeneralStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
118 src =
'displacedGeneralStepSeeds',
119 TrajectoryCleaner =
'displacedGeneralStepTrajectoryCleanerBySharedHits',
121 numHitsForSeedCleaner = cms.int32(50),
122 onlyPixelHitsForSeedCleaner = cms.bool(
False),
124 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'displacedGeneralStepTrajectoryBuilder')),
125 clustersToSkip = cms.InputTag(
'displacedGeneralStepClusters'),
126 doSeedingRegionRebuilding =
True,
127 useHitsSplitting =
True,
128 cleanTrajectoryAfterInOut =
True
132 displacedGeneralStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
133 ComponentName =
'displacedGeneralStepTrajectoryCleanerBySharedHits',
134 fractionShared = 0.25,
135 allowSharedFirstHit =
True
144 displacedGeneralStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
145 ComponentName =
'displacedGeneralStepFitterSmoother',
148 Fitter =
'displacedGeneralStepRKFitter',
149 Smoother =
'displacedGeneralStepRKSmoother'
155 displacedGeneralStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
156 ComponentName =
'displacedGeneralStepRKFitter',
162 displacedGeneralStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
163 ComponentName =
'displacedGeneralStepRKSmoother',
164 errorRescaling = 10.0,
171 generalDisplacedFlexibleKFFittingSmoother = TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi.FlexibleKFFittingSmoother.clone(
172 ComponentName =
'generalDisplacedFlexibleKFFittingSmoother',
173 standardFitter =
'displacedGeneralStepFitterSmoother',
180 displacedGeneralStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
181 src =
'displacedGeneralStepTrackCandidates',
182 AlgorithmName =
'displacedGeneralStep',
183 Fitter =
'generalDisplacedFlexibleKFFittingSmoother',
191 displacedGeneralStepClassifier1 = TrackMVAClassifierDetached.clone(
192 src =
'displacedGeneralStepTracks',
193 mva = dict(GBRForestLabel =
'MVASelectorIter6_13TeV'),
194 qualityCuts = [-0.6,-0.45,-0.3]
196 displacedGeneralStepClassifier2 = TrackMVAClassifierPrompt.clone(
197 src =
'displacedGeneralStepTracks',
198 mva = dict(GBRForestLabel =
'MVASelectorIter0_13TeV'),
199 qualityCuts = [0.0,0.0,0.0]
203 displacedGeneralStep = ClassifierMerger.clone(
204 inputClassifiers=[
'displacedGeneralStepClassifier1',
'displacedGeneralStepClassifier2']
207 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
208 trackingPhase1.toReplaceWith(displacedGeneralStep, displacedGeneralStepClassifier1.clone(
209 mva = dict(GBRForestLabel =
'MVASelectorTobTecStep_Phase1'),
210 qualityCuts = [-0.6,-0.45,-0.3],
215 DisplacedGeneralStepTask = cms.Task(displacedGeneralStepClusters,
216 displacedGeneralStepSeedLayers,
217 displacedGeneralStepTrackingRegions,
218 displacedGeneralStepHitDoublets,
219 displacedGeneralStepHitTriplets,
220 displacedGeneralStepSeeds,
221 displacedGeneralStepTrackCandidates,
222 displacedGeneralStepTracks,
223 displacedGeneralStepClassifier1,displacedGeneralStepClassifier2,
224 displacedGeneralStep)
226 DisplacedGeneralStep = cms.Sequence(DisplacedGeneralStepTask)