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 BPix = dict(skipClusters = cms.InputTag(
'lowPtTripletStepClusters')),
18 FPix = dict(skipClusters = cms.InputTag(
'lowPtTripletStepClusters'))
20 _layerListForPhase1 = [
21 'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
22 'BPix1+BPix3+BPix4',
'BPix1+BPix2+BPix4',
23 'BPix2+BPix3+FPix1_pos',
'BPix2+BPix3+FPix1_neg',
24 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
25 'BPix1+BPix3+FPix1_pos',
'BPix1+BPix3+FPix1_neg',
26 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
27 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
28 'BPix1+BPix2+FPix2_pos',
'BPix1+BPix2+FPix2_neg',
29 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
30 'BPix1+FPix2_pos+FPix3_pos',
'BPix1+FPix2_neg+FPix3_neg',
31 'BPix1+FPix1_pos+FPix3_pos',
'BPix1+FPix1_neg+FPix3_neg'
33 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
34 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
37 _layerListForPhase2 = [
'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
39 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
40 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
42 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
44 'FPix2_pos+FPix3_pos+FPix4_pos',
'FPix2_neg+FPix3_neg+FPix4_neg',
45 'FPix3_pos+FPix4_pos+FPix5_pos',
'FPix3_neg+FPix4_neg+FPix5_neg',
46 'FPix4_pos+FPix5_pos+FPix6_pos',
'FPix4_neg+FPix5_neg+FPix6_neg',
51 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
52 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
55 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
56 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
61 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.2))
62 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.40))
64 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
65 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
67 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(lowPtTripletStepTrackingRegions,
68 _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
69 useFixedError =
False,
74 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
75 highBetaStar_2018.toModify(lowPtTripletStepTrackingRegions,RegionPSet = dict(
81 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
82 lowPtTripletStepHitDoublets = _hitPairEDProducer.clone(
83 seedingLayers =
'lowPtTripletStepSeedLayers',
84 trackingRegions =
'lowPtTripletStepTrackingRegions',
85 maxElement = 50000000,
86 produceIntermediateHitDoublets =
True,
88 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
90 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
91 lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone(
92 doublets =
'lowPtTripletStepHitDoublets',
93 produceSeedingHitSets =
True,
94 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
96 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
97 lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
98 seedingHitSets =
'lowPtTripletStepHitTriplets',
101 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi
import caHitTripletEDProducer
as _caHitTripletEDProducer
102 trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
103 trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
104 doublets =
'lowPtTripletStepHitDoublets',
105 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
106 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
109 value1 = 70 , value2 = 8,
111 useBendingCorrection =
True,
116 trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
117 trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
118 doublets =
'lowPtTripletStepHitDoublets',
119 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
120 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
123 value1 = 70 , value2 = 8,
125 useBendingCorrection =
True,
129 highBetaStar_2018.toModify(lowPtTripletStepHitTriplets,CAThetaCut = 0.004,CAPhiCut = 0.1)
131 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
132 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
133 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
134 trackingRegions =
'lowPtTripletStepTrackingRegions',
135 hitMasks = cms.InputTag(
'lowPtTripletStepMasks'),
137 SeedComparitorPSet = dict(ComponentName =
'none')),
138 layerList = lowPtTripletStepSeedLayers.layerList.value()
142 trackingPhase1.toModify(_fastSim_lowPtTripletStepSeeds, seedFinderSelector = dict(
143 pixelTripletGeneratorFactory =
None,
147 TTRHBuilder =
'WithoutRefit',
148 HitProducer =
'TrackingRecHitProducer',
151 TTRHBuilder =
'WithoutRefit',
152 HitProducer =
'TrackingRecHitProducer',
154 layerPairs = lowPtTripletStepHitDoublets.layerPairs.value()
157 fastSim.toReplaceWith(lowPtTripletStepSeeds,_fastSim_lowPtTripletStepSeeds)
161 _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
162 minimumNumberOfHits = 3,
165 lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
167 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose'))
169 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
170 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
171 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
172 trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
173 trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
175 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.49)
179 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
180 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepStandardTrajectoryFilter')),
184 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
185 filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
188 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
189 minimumNumberOfHits = 4,
191 strictSeedExtension =
False,
192 pixelSeedExtension =
False,
195 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
196 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
197 ComponentName =
'lowPtTripletStepChi2Est',
200 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
202 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
203 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTiny')
208 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
209 MeasurementTrackerName =
'',
210 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryFilter')),
212 estimator =
'lowPtTripletStepChi2Est',
213 maxDPhiForLooperReconstruction = cms.double(2.0),
216 maxPtForLooperReconstruction = cms.double(0.7)
218 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
219 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
220 inOutTrajectoryFilter = dict(refToPSet_ =
'lowPtTripletStepTrajectoryFilterInOut'),
221 useSameTrajFilter =
False,
227 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
228 src =
'lowPtTripletStepSeeds',
230 numHitsForSeedCleaner = cms.int32(50),
231 onlyPixelHitsForSeedCleaner = cms.bool(
True),
232 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryBuilder')),
233 clustersToSkip = cms.InputTag(
'lowPtTripletStepClusters'),
234 doSeedingRegionRebuilding =
True,
235 useHitsSplitting =
True,
236 TrajectoryCleaner =
'lowPtTripletStepTrajectoryCleanerBySharedHits'
239 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
240 clustersToSkip =
None,
241 phase2clustersToSkip = cms.InputTag(
'lowPtTripletStepClusters')
244 import FastSimulation.Tracking.TrackCandidateProducer_cfi
245 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
246 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
247 src =
'lowPtTripletStepSeeds',
248 MinNumberOfCrossedLayers = 3,
249 hitMasks = cms.InputTag(
'lowPtTripletStepMasks'))
254 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
255 src =
'lowPtTripletStepTrackCandidates',
256 AlgorithmName =
'lowPtTripletStep',
257 Fitter =
'FlexibleKFFittingSmoother'
259 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder =
'WithoutRefit')
262 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
263 ComponentName =
'lowPtTripletStepTrajectoryCleanerBySharedHits',
264 fractionShared = 0.16,
265 allowSharedFirstHit =
True
267 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
268 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
272 lowPtTripletStep = TrackMVAClassifierPrompt.clone(
273 src =
'lowPtTripletStepTracks',
274 mva = dict(GBRForestLabel =
'MVASelectorIter1_13TeV'),
275 qualityCuts = [-0.6,-0.3,-0.1]
277 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
278 mva = dict(GBRForestLabel =
'MVASelectorLowPtTripletStep_Phase1'),
279 qualityCuts = [-0.4,0.0,0.3],
284 trackdnn.toReplaceWith(lowPtTripletStep, TrackLwtnnClassifier.clone(
285 src =
'lowPtTripletStepTracks',
286 qualityCuts = [0.2, 0.5, 0.8]
289 highBetaStar_2018.toModify(lowPtTripletStep,qualityCuts = [-0.7,-0.3,-0.1])
290 pp_on_AA.toModify(lowPtTripletStep,
291 mva = dict(GBRForestLabel =
'HIMVASelectorLowPtTripletStep_Phase1'),
292 qualityCuts = [-0.8, -0.4, 0.5],
294 fastSim.toModify(lowPtTripletStep, vertices =
'firstStepPrimaryVerticesBeforeMixing')
297 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
298 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
299 src =
'lowPtTripletStepTracks',
300 useAnyMVA = cms.bool(
False),
301 GBRForestLabel = cms.string(
'MVASelectorIter1'),
303 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
304 name =
'lowPtTripletStepLoose',
306 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
307 name =
'lowPtTripletStepTight',
308 preFilterName =
'lowPtTripletStepLoose',
310 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
311 name =
'QualityMasks',
312 preFilterName =
'lowPtTripletStepTight',
316 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
318 GBRForestLabel =
None,
319 trackSelectors= cms.VPSet(
320 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
321 name =
'lowPtTripletStepLoose',
323 res_par = ( 0.003, 0.002 ),
325 maxNumberLostLayers = 2,
326 minNumber3DLayers = 3,
327 d0_par1 = ( 0.7, 4.0 ),
328 dz_par1 = ( 0.7, 4.0 ),
329 d0_par2 = ( 0.6, 4.0 ),
330 dz_par2 = ( 0.6, 4.0 )
332 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
333 name =
'lowPtTripletStepTight',
334 preFilterName =
'lowPtTripletStepLoose',
336 res_par = ( 0.003, 0.002 ),
338 maxNumberLostLayers = 2,
339 minNumber3DLayers = 3,
340 d0_par1 = ( 0.6, 4.0 ),
341 dz_par1 = ( 0.6, 4.0 ),
342 d0_par2 = ( 0.5, 4.0 ),
343 dz_par2 = ( 0.5, 4.0 )
345 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
346 name =
'lowPtTripletStep',
347 preFilterName =
'lowPtTripletStepTight',
351 res_par = ( 0.003, 0.001 ),
354 maxNumberLostLayers = 2,
355 minNumber3DLayers = 4,
356 d0_par1 = ( 0.5, 4.0 ),
357 dz_par1 = ( 0.5, 4.0 ),
358 d0_par2 = ( 0.45, 4.0 ),
359 dz_par2 = ( 0.45, 4.0 )
365 from Configuration.ProcessModifiers.vectorHits_cff
import vectorHits
366 vectorHits.toModify(lowPtTripletStepSelector.trackSelectors[2], minNumberLayers = 3, minNumber3DLayers = 3)
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