1 import FWCore.ParameterSet.Config
as cms
2 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
as _tracker_apv_vfp30_2016
3 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
4 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
7 from Configuration.ProcessModifiers.trackdnn_cff
import trackdnn
10 lowPtTripletStepClusters = _cfg.clusterRemoverForIter(
"LowPtTripletStep")
11 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
12 _era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter(
"LowPtTripletStep", _eraName, _postfix))
16 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
17 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag(
'lowPtTripletStepClusters')
18 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag(
'lowPtTripletStepClusters')
19 _layerListForPhase1 = [
20 'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
21 'BPix1+BPix3+BPix4',
'BPix1+BPix2+BPix4',
22 'BPix2+BPix3+FPix1_pos',
'BPix2+BPix3+FPix1_neg',
23 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
24 'BPix1+BPix3+FPix1_pos',
'BPix1+BPix3+FPix1_neg',
25 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
26 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
27 'BPix1+BPix2+FPix2_pos',
'BPix1+BPix2+FPix2_neg',
28 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
29 'BPix1+FPix2_pos+FPix3_pos',
'BPix1+FPix2_neg+FPix3_neg',
30 'BPix1+FPix1_pos+FPix3_pos',
'BPix1+FPix1_neg+FPix3_neg'
32 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
33 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
36 _layerListForPhase2 = [
'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
38 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
39 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
41 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
43 'FPix2_pos+FPix3_pos+FPix4_pos',
'FPix2_neg+FPix3_neg+FPix4_neg',
44 'FPix3_pos+FPix4_pos+FPix5_pos',
'FPix3_neg+FPix4_neg+FPix5_neg',
45 'FPix4_pos+FPix5_pos+FPix6_pos',
'FPix4_neg+FPix5_neg+FPix6_neg',
50 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
51 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
54 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
55 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
60 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.2))
61 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.40))
63 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
64 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
66 (pp_on_XeXe_2017 | pp_on_AA_2018).toReplaceWith(lowPtTripletStepTrackingRegions,
67 _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
68 useFixedError =
False,
74 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
75 highBetaStar_2018.toModify(lowPtTripletStepTrackingRegions,RegionPSet = dict(
82 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
83 lowPtTripletStepHitDoublets = _hitPairEDProducer.clone(
84 seedingLayers =
"lowPtTripletStepSeedLayers",
85 trackingRegions =
"lowPtTripletStepTrackingRegions",
86 maxElement = 50000000,
87 produceIntermediateHitDoublets =
True,
89 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
91 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
92 lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone(
93 doublets =
"lowPtTripletStepHitDoublets",
94 produceSeedingHitSets =
True,
95 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
97 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
98 lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
99 seedingHitSets =
"lowPtTripletStepHitTriplets",
102 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi
import caHitTripletEDProducer
as _caHitTripletEDProducer
103 trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
104 trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
105 doublets =
"lowPtTripletStepHitDoublets",
106 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
107 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
110 value1 = 70 , value2 = 8,
112 useBendingCorrection =
True,
117 trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
118 trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
119 doublets =
"lowPtTripletStepHitDoublets",
120 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
121 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
124 value1 = 70 , value2 = 8,
126 useBendingCorrection =
True,
130 highBetaStar_2018.toModify(lowPtTripletStepHitTriplets,CAThetaCut = 0.004,CAPhiCut = 0.1)
132 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
133 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
134 trackingRegions =
"lowPtTripletStepTrackingRegions",
135 hitMasks = cms.InputTag(
"lowPtTripletStepMasks"),
138 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
140 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName =
"none"
141 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.layerList = lowPtTripletStepSeedLayers.layerList.value()
143 trackingPhase1.toModify(_fastSim_lowPtTripletStepSeeds, seedFinderSelector = dict(
144 pixelTripletGeneratorFactory =
None,
148 TTRHBuilder =
'WithoutRefit',
149 HitProducer =
'TrackingRecHitProducer',
152 TTRHBuilder =
'WithoutRefit',
153 HitProducer =
'TrackingRecHitProducer',
155 layerPairs = lowPtTripletStepHitDoublets.layerPairs.value()
158 fastSim.toReplaceWith(lowPtTripletStepSeeds,_fastSim_lowPtTripletStepSeeds)
162 _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
163 minimumNumberOfHits = 3,
166 lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
168 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose'))
170 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
171 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
172 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
173 trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
174 trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
176 for e
in [pp_on_XeXe_2017, pp_on_AA_2018]:
177 e.toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.49)
181 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
182 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepStandardTrajectoryFilter')),
186 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
187 filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
190 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
191 minimumNumberOfHits = 4,
193 strictSeedExtension =
False,
194 pixelSeedExtension =
False,
197 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
198 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
199 ComponentName = cms.string(
'lowPtTripletStepChi2Est'),
200 nSigma = cms.double(3.0),
201 MaxChi2 = cms.double(9.0),
202 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
204 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
205 clusterChargeCut = dict(refToPSet_ =
"SiStripClusterChargeCutTiny")
210 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
211 MeasurementTrackerName =
'',
212 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryFilter')),
214 estimator = cms.string(
'lowPtTripletStepChi2Est'),
215 maxDPhiForLooperReconstruction = cms.double(2.0),
218 maxPtForLooperReconstruction = cms.double(0.7)
220 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
221 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
222 inOutTrajectoryFilter = dict(refToPSet_ =
"lowPtTripletStepTrajectoryFilterInOut"),
223 useSameTrajFilter =
False,
229 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
230 src = cms.InputTag(
'lowPtTripletStepSeeds'),
232 numHitsForSeedCleaner = cms.int32(50),
233 onlyPixelHitsForSeedCleaner = cms.bool(
True),
235 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryBuilder')),
236 clustersToSkip = cms.InputTag(
'lowPtTripletStepClusters'),
237 doSeedingRegionRebuilding =
True,
238 useHitsSplitting =
True,
239 TrajectoryCleaner =
'lowPtTripletStepTrajectoryCleanerBySharedHits'
242 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
243 clustersToSkip =
None,
244 phase2clustersToSkip = cms.InputTag(
"lowPtTripletStepClusters")
247 import FastSimulation.Tracking.TrackCandidateProducer_cfi
248 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
249 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
250 src = cms.InputTag(
"lowPtTripletStepSeeds"),
251 MinNumberOfCrossedLayers = 3,
252 hitMasks = cms.InputTag(
"lowPtTripletStepMasks"))
257 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
258 src =
'lowPtTripletStepTrackCandidates',
259 AlgorithmName = cms.string(
'lowPtTripletStep'),
260 Fitter = cms.string(
'FlexibleKFFittingSmoother')
262 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder =
'WithoutRefit')
265 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
266 ComponentName = cms.string(
'lowPtTripletStepTrajectoryCleanerBySharedHits'),
267 fractionShared = cms.double(0.16),
268 allowSharedFirstHit = cms.bool(
True)
270 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
271 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
275 lowPtTripletStep = TrackMVAClassifierPrompt.clone()
276 lowPtTripletStep.src =
'lowPtTripletStepTracks'
277 lowPtTripletStep.mva.GBRForestLabel =
'MVASelectorIter1_13TeV'
278 lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1]
280 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
281 mva = dict(GBRForestLabel =
'MVASelectorLowPtTripletStep_Phase1'),
282 qualityCuts = [-0.4,0.0,0.3],
287 trackdnn.toReplaceWith(lowPtTripletStep, TrackLwtnnClassifier.clone(
288 src =
'lowPtTripletStepTracks',
289 qualityCuts = [0.2, 0.5, 0.8]
292 highBetaStar_2018.toModify(lowPtTripletStep,qualityCuts = [-0.7,-0.3,-0.1])
293 pp_on_AA_2018.toModify(lowPtTripletStep,
294 mva = dict(GBRForestLabel =
'HIMVASelectorLowPtTripletStep_Phase1'),
295 qualityCuts = [-0.8, -0.4, 0.5],
297 fastSim.toModify(lowPtTripletStep, vertices =
"firstStepPrimaryVerticesBeforeMixing")
300 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
301 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
302 src =
'lowPtTripletStepTracks',
303 useAnyMVA = cms.bool(
False),
304 GBRForestLabel = cms.string(
'MVASelectorIter1'),
306 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
307 name =
'lowPtTripletStepLoose',
309 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
310 name =
'lowPtTripletStepTight',
311 preFilterName =
'lowPtTripletStepLoose',
313 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
314 name =
'QualityMasks',
315 preFilterName =
'lowPtTripletStepTight',
319 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
321 GBRForestLabel =
None,
322 trackSelectors= cms.VPSet(
323 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
324 name =
'lowPtTripletStepLoose',
326 res_par = ( 0.003, 0.002 ),
328 maxNumberLostLayers = 2,
329 minNumber3DLayers = 3,
330 d0_par1 = ( 0.7, 4.0 ),
331 dz_par1 = ( 0.7, 4.0 ),
332 d0_par2 = ( 0.6, 4.0 ),
333 dz_par2 = ( 0.6, 4.0 )
335 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
336 name =
'lowPtTripletStepTight',
337 preFilterName =
'lowPtTripletStepLoose',
339 res_par = ( 0.003, 0.002 ),
341 maxNumberLostLayers = 2,
342 minNumber3DLayers = 3,
343 d0_par1 = ( 0.6, 4.0 ),
344 dz_par1 = ( 0.6, 4.0 ),
345 d0_par2 = ( 0.5, 4.0 ),
346 dz_par2 = ( 0.5, 4.0 )
348 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
349 name =
'lowPtTripletStep',
350 preFilterName =
'lowPtTripletStepTight',
354 res_par = ( 0.003, 0.001 ),
357 maxNumberLostLayers = 2,
358 minNumber3DLayers = 4,
359 d0_par1 = ( 0.5, 4.0 ),
360 dz_par1 = ( 0.5, 4.0 ),
361 d0_par2 = ( 0.45, 4.0 ),
362 dz_par2 = ( 0.45, 4.0 )
370 LowPtTripletStepTask = cms.Task(lowPtTripletStepClusters,
371 lowPtTripletStepSeedLayers,
372 lowPtTripletStepTrackingRegions,
373 lowPtTripletStepHitDoublets,
374 lowPtTripletStepHitTriplets,
375 lowPtTripletStepSeeds,
376 lowPtTripletStepTrackCandidates,
377 lowPtTripletStepTracks,
379 LowPtTripletStep = cms.Sequence(LowPtTripletStepTask)
381 _LowPtTripletStepTask_LowPU_Phase2PU140 = LowPtTripletStepTask.copy()
382 _LowPtTripletStepTask_LowPU_Phase2PU140.replace(lowPtTripletStep, lowPtTripletStepSelector)
383 trackingLowPU.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
385 trackingPhase2PU140.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
387 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
389 fastSim.toReplaceWith(LowPtTripletStepTask,
390 cms.Task(lowPtTripletStepMasks
391 ,lowPtTripletStepTrackingRegions
392 ,lowPtTripletStepSeeds
393 ,lowPtTripletStepTrackCandidates
394 ,lowPtTripletStepTracks