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
9 lowPtQuadStepClusters = _cfg.clusterRemoverForIter(
"LowPtQuadStep")
10 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
11 _era.toReplaceWith(lowPtQuadStepClusters, _cfg.clusterRemoverForIter(
"LowPtQuadStep", _eraName, _postfix))
15 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
16 lowPtQuadStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.clone(
17 BPix =
dict(skipClusters = cms.InputTag(
'lowPtQuadStepClusters')),
18 FPix =
dict(skipClusters = cms.InputTag(
'lowPtQuadStepClusters'))
22 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
23 lowPtQuadStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet =
dict(
28 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
29 trackingPhase2PU140.toModify(lowPtQuadStepTrackingRegions, RegionPSet =
dict(ptMin = 0.35,originRadius = 0.025))
31 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
32 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
34 (pp_on_XeXe_2017 | pp_on_AA_2018).toReplaceWith(lowPtQuadStepTrackingRegions,
35 _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_lowPtQuadStepSeeds.seedFinderSelector.CAHitQuadrupletGeneratorFactory.SeedComparitorPSet.ComponentName =
"none" 99 fastSim.toReplaceWith(lowPtQuadStepSeeds,_fastSim_lowPtQuadStepSeeds)
103 _lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
104 minimumNumberOfHits = 3,
107 lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
109 minGoodStripCharge =
dict(refToPSet_ =
'SiStripClusterChargeCutLoose')
111 trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)
113 for e
in [pp_on_XeXe_2017, pp_on_AA_2018]:
114 e.toModify(lowPtQuadStepTrajectoryFilterBase, minPt=0.49)
118 lowPtQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
119 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtQuadStepTrajectoryFilterBase'))]
121 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryFilter,
122 filters = lowPtQuadStepTrajectoryFilter.filters.value() + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
125 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
126 lowPtQuadStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
127 ComponentName =
'lowPtQuadStepChi2Est',
130 clusterChargeCut =
dict(refToPSet_ = (
'SiStripClusterChargeCutTight')),
132 trackingPhase2PU140.toModify(lowPtQuadStepChi2Est,
134 clusterChargeCut =
dict(refToPSet_ =
'SiStripClusterChargeCutNone')
139 lowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
140 MeasurementTrackerName =
'',
141 trajectoryFilter =
dict(refToPSet_ =
'lowPtQuadStepTrajectoryFilter'),
143 estimator = cms.string(
'lowPtQuadStepChi2Est'),
144 maxDPhiForLooperReconstruction = cms.double(2.0),
147 maxPtForLooperReconstruction = cms.double(0.7)
149 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryBuilder,
150 minNrOfHitsForRebuild = 1,
151 keepOriginalIfRebuildFails =
True,
157 lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
158 ComponentName =
'lowPtQuadStepTrajectoryCleanerBySharedHits',
159 fractionShared = 0.16,
160 allowSharedFirstHit =
True 162 trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
165 lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
166 src =
'lowPtQuadStepSeeds',
168 numHitsForSeedCleaner = cms.int32(50),
169 onlyPixelHitsForSeedCleaner = cms.bool(
True),
170 TrajectoryBuilderPSet =
dict(refToPSet_ =
'lowPtQuadStepTrajectoryBuilder'),
171 TrajectoryCleaner =
'lowPtQuadStepTrajectoryCleanerBySharedHits',
172 clustersToSkip = cms.InputTag(
'lowPtQuadStepClusters'),
173 doSeedingRegionRebuilding =
True,
174 useHitsSplitting =
True 176 trackingPhase2PU140.toModify(lowPtQuadStepTrackCandidates,
177 clustersToSkip =
None,
178 phase2clustersToSkip = cms.InputTag(
"lowPtQuadStepClusters")
182 import FastSimulation.Tracking.TrackCandidateProducer_cfi
183 _fastSim_lowPtQuadStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
184 src = cms.InputTag(
"lowPtQuadStepSeeds"),
185 MinNumberOfCrossedLayers = 3,
186 hitMasks = cms.InputTag(
"lowPtQuadStepMasks")
188 fastSim.toReplaceWith(lowPtQuadStepTrackCandidates,_fastSim_lowPtQuadStepTrackCandidates)
192 lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
193 src =
'lowPtQuadStepTrackCandidates',
194 AlgorithmName =
'lowPtQuadStep',
195 Fitter =
'FlexibleKFFittingSmoother',
197 fastSim.toModify(lowPtQuadStepTracks,TTRHBuilder =
'WithoutRefit')
202 lowPtQuadStep = TrackMVAClassifierPrompt.clone(
203 mva =
dict(GBRForestLabel =
'MVASelectorLowPtQuadStep_Phase1'),
204 src =
'lowPtQuadStepTracks',
205 qualityCuts = [-0.7,-0.35,-0.15]
210 trackdnn.toReplaceWith(lowPtQuadStep, TrackLwtnnClassifier.clone(
211 src =
'lowPtQuadStepTracks',
212 qualityCuts = [0.2, 0.425, 0.75]
215 highBetaStar_2018.toModify(lowPtQuadStep,qualityCuts = [-0.9,-0.35,-0.15])
216 pp_on_AA_2018.toModify(lowPtQuadStep,
217 mva =
dict(GBRForestLabel =
'HIMVASelectorLowPtQuadStep_Phase1'),
218 qualityCuts = [-0.9, -0.4, 0.3],
221 fastSim.toModify(lowPtQuadStep,vertices =
"firstStepPrimaryVerticesBeforeMixing")
224 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
225 lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
226 src =
'lowPtQuadStepTracks',
228 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
229 name =
'lowPtQuadStepLoose',
231 res_par = ( 0.003, 0.002 ),
233 maxNumberLostLayers = 2,
234 minNumber3DLayers = 3,
235 d0_par1 = ( 0.8, 4.0 ),
236 dz_par1 = ( 0.7, 4.0 ),
237 d0_par2 = ( 0.6, 4.0 ),
238 dz_par2 = ( 0.6, 4.0 )
240 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
241 name =
'lowPtQuadStepTight',
242 preFilterName =
'lowPtQuadStepLoose',
244 res_par = ( 0.003, 0.002 ),
246 maxNumberLostLayers = 2,
247 minNumber3DLayers = 3,
248 d0_par1 = ( 0.7, 4.0 ),
249 dz_par1 = ( 0.6, 4.0 ),
250 d0_par2 = ( 0.5, 4.0 ),
251 dz_par2 = ( 0.5, 4.0 )
253 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
254 name =
'lowPtQuadStep',
255 preFilterName =
'lowPtQuadStepTight',
257 res_par = ( 0.003, 0.001 ),
259 maxNumberLostLayers = 2,
260 minNumber3DLayers = 3,
261 d0_par1 = ( 0.5, 4.0 ),
262 dz_par1 = ( 0.5, 4.0 ),
263 d0_par2 = ( 0.45, 4.0 ),
264 dz_par2 = ( 0.45, 4.0 )
271 LowPtQuadStepTask = cms.Task(lowPtQuadStepClusters,
272 lowPtQuadStepSeedLayers,
273 lowPtQuadStepTrackingRegions,
274 lowPtQuadStepHitDoublets,
275 lowPtQuadStepHitQuadruplets,
277 lowPtQuadStepTrackCandidates,
280 LowPtQuadStep = cms.Sequence(LowPtQuadStepTask)
282 _LowPtQuadStepTask_Phase2PU140 = LowPtQuadStepTask.copy()
283 _LowPtQuadStepTask_Phase2PU140.replace(lowPtQuadStep, lowPtQuadStepSelector)
284 trackingPhase2PU140.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_Phase2PU140)
287 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
289 fastSim.toReplaceWith(LowPtQuadStepTask,
290 cms.Task(lowPtQuadStepMasks
291 ,lowPtQuadStepTrackingRegions
293 ,lowPtQuadStepTrackCandidates
def _hitSetProducerToFactoryPSet(producer)
def maskProducerFromClusterRemover(clusterRemover)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)