1 import FWCore.ParameterSet.Config
as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
3 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
6 from Configuration.ProcessModifiers.trackdnn_cff
import trackdnn
7 from RecoTracker.IterativeTracking.dnnQualityCuts
import qualityCutDictionary
10 lowPtQuadStepClusters = _cfg.clusterRemoverForIter(
'LowPtQuadStep')
11 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
12 _era.toReplaceWith(lowPtQuadStepClusters, _cfg.clusterRemoverForIter(
'LowPtQuadStep', _eraName, _postfix))
16 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
17 lowPtQuadStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.clone(
18 BPix = dict(skipClusters = cms.InputTag(
'lowPtQuadStepClusters')),
19 FPix = dict(skipClusters = cms.InputTag(
'lowPtQuadStepClusters'))
23 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
24 lowPtQuadStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
29 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
30 trackingPhase2PU140.toModify(lowPtQuadStepTrackingRegions, RegionPSet = dict(ptMin = 0.35,originRadius = 0.025))
32 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
33 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
35 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(lowPtQuadStepTrackingRegions,
36 _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
42 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
43 highBetaStar_2018.toModify(lowPtQuadStepTrackingRegions,RegionPSet = dict(
49 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
50 lowPtQuadStepHitDoublets = _hitPairEDProducer.clone(
51 seedingLayers =
'lowPtQuadStepSeedLayers',
52 trackingRegions =
'lowPtQuadStepTrackingRegions',
54 maxElement = 50000000,
55 produceIntermediateHitDoublets =
True,
57 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
58 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
60 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
61 lowPtQuadStepHitQuadruplets = _caHitQuadrupletEDProducer.clone(
62 doublets =
'lowPtQuadStepHitDoublets',
63 extraHitRPhitolerance = _pixelTripletHLTEDProducer.extraHitRPhitolerance,
64 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
67 value1 = 1000, value2 = 150,
69 useBendingCorrection =
True,
71 fitFastCircleChi2Cut =
True,
75 trackingPhase2PU140.toModify(lowPtQuadStepHitQuadruplets,CAThetaCut = 0.0015,CAPhiCut = 0.25)
76 highBetaStar_2018.toModify(lowPtQuadStepHitQuadruplets,CAThetaCut = 0.0034,CAPhiCut = 0.6)
78 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
79 lowPtQuadStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
80 seedingHitSets =
'lowPtQuadStepHitQuadruplets',
84 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
85 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
86 _fastSim_lowPtQuadStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
87 trackingRegions =
'lowPtQuadStepTrackingRegions',
88 hitMasks = cms.InputTag(
'lowPtQuadStepMasks'),
90 SeedComparitorPSet = dict(ComponentName =
'none')),
91 layerList = lowPtQuadStepSeedLayers.layerList.value(),
93 BPix = dict(TTRHBuilder =
'WithoutRefit', HitProducer =
'TrackingRecHitProducer',),
94 FPix = dict(TTRHBuilder =
'WithoutRefit', HitProducer =
'TrackingRecHitProducer',),
95 layerPairs = lowPtQuadStepHitDoublets.layerPairs.value()
98 fastSim.toReplaceWith(lowPtQuadStepSeeds,_fastSim_lowPtQuadStepSeeds)
102 _lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
103 minimumNumberOfHits = 3,
106 lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
108 minGoodStripCharge = dict(refToPSet_ =
'SiStripClusterChargeCutLoose')
110 trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)
112 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtQuadStepTrajectoryFilterBase, minPt=0.49)
116 lowPtQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
117 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtQuadStepTrajectoryFilterBase'))]
119 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryFilter,
120 filters = lowPtQuadStepTrajectoryFilter.filters.value() + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
123 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
124 lowPtQuadStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
125 ComponentName =
'lowPtQuadStepChi2Est',
128 clusterChargeCut = dict(refToPSet_ = (
'SiStripClusterChargeCutTight')),
130 trackingPhase2PU140.toModify(lowPtQuadStepChi2Est,
132 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutNone')
137 lowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
138 MeasurementTrackerName =
'',
139 trajectoryFilter = dict(refToPSet_ =
'lowPtQuadStepTrajectoryFilter'),
141 estimator =
'lowPtQuadStepChi2Est',
142 maxDPhiForLooperReconstruction = cms.double(2.0),
145 maxPtForLooperReconstruction = cms.double(0.7)
147 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryBuilder,
148 minNrOfHitsForRebuild = 1,
149 keepOriginalIfRebuildFails =
True,
155 lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
156 ComponentName =
'lowPtQuadStepTrajectoryCleanerBySharedHits',
157 fractionShared = 0.16,
158 allowSharedFirstHit =
True
160 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
163 lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
164 src =
'lowPtQuadStepSeeds',
166 numHitsForSeedCleaner = cms.int32(50),
167 onlyPixelHitsForSeedCleaner = cms.bool(
True),
168 TrajectoryBuilderPSet = dict(refToPSet_ =
'lowPtQuadStepTrajectoryBuilder'),
169 TrajectoryCleaner =
'lowPtQuadStepTrajectoryCleanerBySharedHits',
170 clustersToSkip = cms.InputTag(
'lowPtQuadStepClusters'),
171 doSeedingRegionRebuilding =
True,
172 useHitsSplitting =
True
174 trackingPhase2PU140.toModify(lowPtQuadStepTrackCandidates,
175 clustersToSkip =
None,
176 phase2clustersToSkip = cms.InputTag(
'lowPtQuadStepClusters')
180 import FastSimulation.Tracking.TrackCandidateProducer_cfi
181 _fastSim_lowPtQuadStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
182 src =
'lowPtQuadStepSeeds',
183 MinNumberOfCrossedLayers = 3,
184 hitMasks = cms.InputTag(
'lowPtQuadStepMasks')
186 fastSim.toReplaceWith(lowPtQuadStepTrackCandidates,_fastSim_lowPtQuadStepTrackCandidates)
190 lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
191 src =
'lowPtQuadStepTrackCandidates',
192 AlgorithmName =
'lowPtQuadStep',
193 Fitter =
'FlexibleKFFittingSmoother',
195 fastSim.toModify(lowPtQuadStepTracks,TTRHBuilder =
'WithoutRefit')
200 lowPtQuadStep = TrackMVAClassifierPrompt.clone(
201 mva = dict(GBRForestLabel =
'MVASelectorLowPtQuadStep_Phase1'),
202 src =
'lowPtQuadStepTracks',
203 qualityCuts = [-0.7,-0.35,-0.15]
208 trackdnn.toReplaceWith(lowPtQuadStep, TrackTfClassifier.clone(
209 src =
'lowPtQuadStepTracks',
210 qualityCuts = qualityCutDictionary[
"LowPtQuadStep"]
213 highBetaStar_2018.toModify(lowPtQuadStep,qualityCuts = [-0.9,-0.35,-0.15])
214 pp_on_AA.toModify(lowPtQuadStep,
215 mva = dict(GBRForestLabel =
'HIMVASelectorLowPtQuadStep_Phase1'),
216 qualityCuts = [-0.9, -0.4, 0.3],
218 fastSim.toModify(lowPtQuadStep,vertices =
'firstStepPrimaryVerticesBeforeMixing')
221 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
222 lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
223 src =
'lowPtQuadStepTracks',
225 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
226 name =
'lowPtQuadStepLoose',
228 res_par = ( 0.003, 0.002 ),
230 maxNumberLostLayers = 2,
231 minNumber3DLayers = 3,
232 d0_par1 = ( 0.8, 4.0 ),
233 dz_par1 = ( 0.7, 4.0 ),
234 d0_par2 = ( 0.6, 4.0 ),
235 dz_par2 = ( 0.6, 4.0 )
237 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
238 name =
'lowPtQuadStepTight',
239 preFilterName =
'lowPtQuadStepLoose',
241 res_par = ( 0.003, 0.002 ),
243 maxNumberLostLayers = 2,
244 minNumber3DLayers = 3,
245 d0_par1 = ( 0.7, 4.0 ),
246 dz_par1 = ( 0.6, 4.0 ),
247 d0_par2 = ( 0.5, 4.0 ),
248 dz_par2 = ( 0.5, 4.0 )
250 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
251 name =
'lowPtQuadStep',
252 preFilterName =
'lowPtQuadStepTight',
256 res_par = ( 0.003, 0.001 ),
258 maxNumberLostLayers = 2,
259 minNumber3DLayers = 3,
260 d0_par1 = ( 0.5, 4.0 ),
261 dz_par1 = ( 0.5, 4.0 ),
262 d0_par2 = ( 0.45, 4.0 ),
263 dz_par2 = ( 0.45, 4.0 )
270 LowPtQuadStepTask = cms.Task(lowPtQuadStepClusters,
271 lowPtQuadStepSeedLayers,
272 lowPtQuadStepTrackingRegions,
273 lowPtQuadStepHitDoublets,
274 lowPtQuadStepHitQuadruplets,
276 lowPtQuadStepTrackCandidates,
279 LowPtQuadStep = cms.Sequence(LowPtQuadStepTask)
281 _LowPtQuadStepTask_Phase2PU140 = LowPtQuadStepTask.copy()
282 _LowPtQuadStepTask_Phase2PU140.replace(lowPtQuadStep, lowPtQuadStepSelector)
283 trackingPhase2PU140.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_Phase2PU140)
286 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
288 fastSim.toReplaceWith(LowPtQuadStepTask,
289 cms.Task(lowPtQuadStepMasks
290 ,lowPtQuadStepTrackingRegions
292 ,lowPtQuadStepTrackCandidates