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_cff
import highBetaStar
46 highBetaStar.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 RecoTracker.PixelSeeding.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
61 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
63 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
64 lowPtQuadStepHitQuadruplets = _caHitQuadrupletEDProducer.clone(
65 doublets =
'lowPtQuadStepHitDoublets',
66 extraHitRPhitolerance = _pixelTripletHLTEDProducer.extraHitRPhitolerance,
67 SeedComparitorPSet = RecoTracker.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.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.GroupedCkfTrajectoryBuilderIterativeDefault.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.ckfTrackCandidatesIterativeDefault.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.TrackProducerIterativeDefault.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]
235 pp_on_AA.toModify(lowPtQuadStep,
236 mva = dict(GBRForestLabel =
'HIMVASelectorLowPtQuadStep_Phase1'),
237 qualityCuts = [-0.9, -0.4, 0.3],
243 trackdnn.toReplaceWith(lowPtQuadStep, trackTfClassifier.clone(
244 src =
'lowPtQuadStepTracks',
245 qualityCuts = qualityCutDictionary.LowPtQuadStep.value()
247 highBetaStar.toModify(lowPtQuadStep,qualityCuts = [-0.9,-0.35,-0.15])
248 fastSim.toModify(lowPtQuadStep,vertices =
'firstStepPrimaryVerticesBeforeMixing')
250 ((~trackingMkFitLowPtQuadStep) & trackdnn).toModify(lowPtQuadStep, mva = dict(tfDnnLabel =
'trackSelectionTf_CKF'),
251 qualityCuts = [-0.33, 0.13, 0.35])
253 (pp_on_AA & trackdnn).toModify(lowPtQuadStep, qualityCuts = [-0.35, 0.8, 0.98] )
256 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
257 lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
258 src =
'lowPtQuadStepTracks',
260 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
261 name =
'lowPtQuadStepLoose',
263 res_par = ( 0.003, 0.002 ),
265 maxNumberLostLayers = 2,
266 minNumber3DLayers = 3,
267 d0_par1 = ( 0.8, 4.0 ),
268 dz_par1 = ( 0.7, 4.0 ),
269 d0_par2 = ( 0.6, 4.0 ),
270 dz_par2 = ( 0.6, 4.0 )
272 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
273 name =
'lowPtQuadStepTight',
274 preFilterName =
'lowPtQuadStepLoose',
276 res_par = ( 0.003, 0.002 ),
278 maxNumberLostLayers = 2,
279 minNumber3DLayers = 3,
280 d0_par1 = ( 0.7, 4.0 ),
281 dz_par1 = ( 0.6, 4.0 ),
282 d0_par2 = ( 0.5, 4.0 ),
283 dz_par2 = ( 0.5, 4.0 )
285 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
286 name =
'lowPtQuadStep',
287 preFilterName =
'lowPtQuadStepTight',
291 res_par = ( 0.003, 0.001 ),
293 maxNumberLostLayers = 2,
294 minNumber3DLayers = 3,
295 d0_par1 = ( 0.5, 4.0 ),
296 dz_par1 = ( 0.5, 4.0 ),
297 d0_par2 = ( 0.45, 4.0 ),
298 dz_par2 = ( 0.45, 4.0 )
305 LowPtQuadStepTask = cms.Task(lowPtQuadStepClusters,
306 lowPtQuadStepSeedLayers,
307 lowPtQuadStepTrackingRegions,
308 lowPtQuadStepHitDoublets,
309 lowPtQuadStepHitQuadruplets,
311 lowPtQuadStepTrackCandidates,
314 LowPtQuadStep = cms.Sequence(LowPtQuadStepTask)
316 _LowPtQuadStepTask_trackingMkFit = LowPtQuadStepTask.copy()
317 _LowPtQuadStepTask_trackingMkFit.add(lowPtQuadStepTrackCandidatesMkFitSeeds, lowPtQuadStepTrackCandidatesMkFit, lowPtQuadStepTrackCandidatesMkFitConfig)
318 trackingMkFitLowPtQuadStep.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_trackingMkFit)
320 _LowPtQuadStepTask_Phase2PU140 = LowPtQuadStepTask.copy()
321 _LowPtQuadStepTask_Phase2PU140.replace(lowPtQuadStep, lowPtQuadStepSelector)
322 trackingPhase2PU140.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_Phase2PU140)
325 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
327 fastSim.toReplaceWith(LowPtQuadStepTask,
328 cms.Task(lowPtQuadStepMasks
329 ,lowPtQuadStepTrackingRegions
331 ,lowPtQuadStepTrackCandidates
def _hitSetProducerToFactoryPSet(producer)
def maskProducerFromClusterRemover(clusterRemover)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)