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 from Configuration.ProcessModifiers.trackingNoLoopers_cff
import trackingNoLoopers
13 lowPtQuadStepClusters = _cfg.clusterRemoverForIter(
'LowPtQuadStep')
14 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
15 _era.toReplaceWith(lowPtQuadStepClusters, _cfg.clusterRemoverForIter(
'LowPtQuadStep', _eraName, _postfix))
19 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
20 lowPtQuadStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.clone(
21 BPix = dict(skipClusters = cms.InputTag(
'lowPtQuadStepClusters')),
22 FPix = dict(skipClusters = cms.InputTag(
'lowPtQuadStepClusters'))
26 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
27 lowPtQuadStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
32 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
33 trackingPhase2PU140.toModify(lowPtQuadStepTrackingRegions, RegionPSet = dict(ptMin = 0.35,originRadius = 0.025))
35 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
36 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
38 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(lowPtQuadStepTrackingRegions,
39 _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
45 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
46 highBetaStar_2018.toModify(lowPtQuadStepTrackingRegions,RegionPSet = dict(
52 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
53 lowPtQuadStepHitDoublets = _hitPairEDProducer.clone(
54 seedingLayers =
'lowPtQuadStepSeedLayers',
55 trackingRegions =
'lowPtQuadStepTrackingRegions',
57 maxElement = 50000000,
58 produceIntermediateHitDoublets =
True,
60 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
61 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
63 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
64 lowPtQuadStepHitQuadruplets = _caHitQuadrupletEDProducer.clone(
65 doublets =
'lowPtQuadStepHitDoublets',
66 extraHitRPhitolerance = _pixelTripletHLTEDProducer.extraHitRPhitolerance,
67 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
70 value1 = 1000, value2 = 150,
72 useBendingCorrection =
True,
74 fitFastCircleChi2Cut =
True,
78 trackingPhase2PU140.toModify(lowPtQuadStepHitQuadruplets,CAThetaCut = 0.0015,CAPhiCut = 0.25)
79 highBetaStar_2018.toModify(lowPtQuadStepHitQuadruplets,CAThetaCut = 0.0034,CAPhiCut = 0.6)
81 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
82 lowPtQuadStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
83 seedingHitSets =
'lowPtQuadStepHitQuadruplets',
87 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
88 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
89 _fastSim_lowPtQuadStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
90 trackingRegions =
'lowPtQuadStepTrackingRegions',
91 hitMasks = cms.InputTag(
'lowPtQuadStepMasks'),
93 SeedComparitorPSet = dict(ComponentName =
'none')),
94 layerList = lowPtQuadStepSeedLayers.layerList.value(),
96 BPix = dict(TTRHBuilder =
'WithoutRefit', HitProducer =
'TrackingRecHitProducer',),
97 FPix = dict(TTRHBuilder =
'WithoutRefit', HitProducer =
'TrackingRecHitProducer',),
98 layerPairs = lowPtQuadStepHitDoublets.layerPairs.value()
101 fastSim.toReplaceWith(lowPtQuadStepSeeds,_fastSim_lowPtQuadStepSeeds)
105 _lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
106 minimumNumberOfHits = 3,
109 lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
111 minGoodStripCharge = dict(refToPSet_ =
'SiStripClusterChargeCutLoose')
113 trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)
115 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtQuadStepTrajectoryFilterBase, minPt=0.49)
119 lowPtQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
120 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtQuadStepTrajectoryFilterBase'))]
122 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryFilter,
123 filters = lowPtQuadStepTrajectoryFilter.filters.value() + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
126 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
127 lowPtQuadStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
128 ComponentName =
'lowPtQuadStepChi2Est',
131 clusterChargeCut = dict(refToPSet_ = (
'SiStripClusterChargeCutTight')),
133 trackingPhase2PU140.toModify(lowPtQuadStepChi2Est,
135 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutNone')
140 lowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
141 trajectoryFilter = dict(refToPSet_ =
'lowPtQuadStepTrajectoryFilter'),
143 estimator =
'lowPtQuadStepChi2Est',
144 maxDPhiForLooperReconstruction = 2.0,
147 maxPtForLooperReconstruction = 0.7,
149 trackingNoLoopers.toModify(lowPtQuadStepTrajectoryBuilder,
150 maxPtForLooperReconstruction = 0.0)
151 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryBuilder,
152 minNrOfHitsForRebuild = 1,
153 keepOriginalIfRebuildFails =
True,
159 lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
160 ComponentName =
'lowPtQuadStepTrajectoryCleanerBySharedHits',
161 fractionShared = 0.16,
162 allowSharedFirstHit =
True 164 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
167 lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
168 src =
'lowPtQuadStepSeeds',
170 numHitsForSeedCleaner = 50,
171 onlyPixelHitsForSeedCleaner =
True,
172 TrajectoryBuilderPSet = dict(refToPSet_ =
'lowPtQuadStepTrajectoryBuilder'),
173 TrajectoryCleaner =
'lowPtQuadStepTrajectoryCleanerBySharedHits',
174 clustersToSkip =
'lowPtQuadStepClusters',
175 doSeedingRegionRebuilding =
True,
176 useHitsSplitting =
True,
178 trackingPhase2PU140.toModify(lowPtQuadStepTrackCandidates,
180 phase2clustersToSkip =
'lowPtQuadStepClusters' 184 import RecoTracker.MkFit.mkFitSeedConverter_cfi
as mkFitSeedConverter_cfi
185 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi
as mkFitIterationConfigESProducer_cfi
186 import RecoTracker.MkFit.mkFitProducer_cfi
as mkFitProducer_cfi
187 import RecoTracker.MkFit.mkFitOutputConverter_cfi
as mkFitOutputConverter_cfi
188 lowPtQuadStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
189 seeds =
'lowPtQuadStepSeeds',
191 lowPtQuadStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
192 ComponentName =
'lowPtQuadStepTrackCandidatesMkFitConfig',
193 config =
'RecoTracker/MkFit/data/mkfit-phase1-lowPtQuadStep.json',
195 lowPtQuadStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
196 seeds =
'lowPtQuadStepTrackCandidatesMkFitSeeds',
197 config = (
'',
'lowPtQuadStepTrackCandidatesMkFitConfig'),
198 clustersToSkip =
'lowPtQuadStepClusters',
200 trackingMkFitLowPtQuadStep.toReplaceWith(lowPtQuadStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
201 seeds =
'lowPtQuadStepSeeds',
202 mkFitSeeds =
'lowPtQuadStepTrackCandidatesMkFitSeeds',
203 tracks =
'lowPtQuadStepTrackCandidatesMkFit',
205 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtQuadStepTrackCandidatesMkFitConfig, minPt=0.49)
208 import FastSimulation.Tracking.TrackCandidateProducer_cfi
209 _fastSim_lowPtQuadStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
210 src =
'lowPtQuadStepSeeds',
211 MinNumberOfCrossedLayers = 3,
212 hitMasks = cms.InputTag(
'lowPtQuadStepMasks')
214 fastSim.toReplaceWith(lowPtQuadStepTrackCandidates,_fastSim_lowPtQuadStepTrackCandidates)
217 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
218 lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducer.clone(
219 src =
'lowPtQuadStepTrackCandidates',
220 AlgorithmName =
'lowPtQuadStep',
221 Fitter =
'FlexibleKFFittingSmoother',
223 fastSim.toModify(lowPtQuadStepTracks,TTRHBuilder =
'WithoutRefit')
225 from Configuration.Eras.Modifier_phase2_timing_layer_cff
import phase2_timing_layer
226 phase2_timing_layer.toModify(lowPtQuadStepTracks, TrajectoryInEvent =
True)
230 lowPtQuadStep = TrackMVAClassifierPrompt.clone(
231 mva = dict(GBRForestLabel =
'MVASelectorLowPtQuadStep_Phase1'),
232 src =
'lowPtQuadStepTracks',
233 qualityCuts = [-0.7,-0.35,-0.15]
239 trackdnn.toReplaceWith(lowPtQuadStep, trackTfClassifier.clone(
240 src =
'lowPtQuadStepTracks',
241 qualityCuts = qualityCutDictionary.LowPtQuadStep.value()
243 highBetaStar_2018.toModify(lowPtQuadStep,qualityCuts = [-0.9,-0.35,-0.15])
244 pp_on_AA.toModify(lowPtQuadStep,
245 mva = dict(GBRForestLabel =
'HIMVASelectorLowPtQuadStep_Phase1'),
246 qualityCuts = [-0.9, -0.4, 0.3],
248 fastSim.toModify(lowPtQuadStep,vertices =
'firstStepPrimaryVerticesBeforeMixing')
250 ((~trackingMkFitLowPtQuadStep) & trackdnn).toModify(lowPtQuadStep, mva = dict(tfDnnLabel =
'trackSelectionTf_CKF'),
251 qualityCuts = [-0.33, 0.13, 0.35])
254 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
255 lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
256 src =
'lowPtQuadStepTracks',
258 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
259 name =
'lowPtQuadStepLoose',
261 res_par = ( 0.003, 0.002 ),
263 maxNumberLostLayers = 2,
264 minNumber3DLayers = 3,
265 d0_par1 = ( 0.8, 4.0 ),
266 dz_par1 = ( 0.7, 4.0 ),
267 d0_par2 = ( 0.6, 4.0 ),
268 dz_par2 = ( 0.6, 4.0 )
270 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
271 name =
'lowPtQuadStepTight',
272 preFilterName =
'lowPtQuadStepLoose',
274 res_par = ( 0.003, 0.002 ),
276 maxNumberLostLayers = 2,
277 minNumber3DLayers = 3,
278 d0_par1 = ( 0.7, 4.0 ),
279 dz_par1 = ( 0.6, 4.0 ),
280 d0_par2 = ( 0.5, 4.0 ),
281 dz_par2 = ( 0.5, 4.0 )
283 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
284 name =
'lowPtQuadStep',
285 preFilterName =
'lowPtQuadStepTight',
289 res_par = ( 0.003, 0.001 ),
291 maxNumberLostLayers = 2,
292 minNumber3DLayers = 3,
293 d0_par1 = ( 0.5, 4.0 ),
294 dz_par1 = ( 0.5, 4.0 ),
295 d0_par2 = ( 0.45, 4.0 ),
296 dz_par2 = ( 0.45, 4.0 )
303 LowPtQuadStepTask = cms.Task(lowPtQuadStepClusters,
304 lowPtQuadStepSeedLayers,
305 lowPtQuadStepTrackingRegions,
306 lowPtQuadStepHitDoublets,
307 lowPtQuadStepHitQuadruplets,
309 lowPtQuadStepTrackCandidates,
312 LowPtQuadStep = cms.Sequence(LowPtQuadStepTask)
314 _LowPtQuadStepTask_trackingMkFit = LowPtQuadStepTask.copy()
315 _LowPtQuadStepTask_trackingMkFit.add(lowPtQuadStepTrackCandidatesMkFitSeeds, lowPtQuadStepTrackCandidatesMkFit, lowPtQuadStepTrackCandidatesMkFitConfig)
316 trackingMkFitLowPtQuadStep.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_trackingMkFit)
318 _LowPtQuadStepTask_Phase2PU140 = LowPtQuadStepTask.copy()
319 _LowPtQuadStepTask_Phase2PU140.replace(lowPtQuadStep, lowPtQuadStepSelector)
320 trackingPhase2PU140.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_Phase2PU140)
323 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
325 fastSim.toReplaceWith(LowPtQuadStepTask,
326 cms.Task(lowPtQuadStepMasks
327 ,lowPtQuadStepTrackingRegions
329 ,lowPtQuadStepTrackCandidates
def _hitSetProducerToFactoryPSet(producer)
def maskProducerFromClusterRemover(clusterRemover)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)