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 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
6 from Configuration.ProcessModifiers.trackdnn_cff
import trackdnn
16 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
17 initialStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
18 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
19 trackingPhase1.toModify(initialStepSeedLayers,
20 layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
22 trackingPhase2PU140.toModify(initialStepSeedLayers,
23 layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
27 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
28 initialStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
33 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
34 trackingPhase1.toModify(initialStepTrackingRegions, RegionPSet = dict(ptMin = 0.5))
35 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
36 highBetaStar_2018.toModify(initialStepTrackingRegions,RegionPSet = dict(
40 trackingPhase2PU140.toModify(initialStepTrackingRegions, RegionPSet = dict(ptMin = 0.6,originRadius = 0.03))
43 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
44 initialStepHitDoublets = _hitPairEDProducer.clone(
45 seedingLayers =
"initialStepSeedLayers",
46 trackingRegions =
"initialStepTrackingRegions",
47 maxElement = 50000000,
48 produceIntermediateHitDoublets =
True,
50 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
52 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
53 initialStepHitTriplets = _pixelTripletHLTEDProducer.clone(
54 doublets =
"initialStepHitDoublets",
55 produceSeedingHitSets =
True,
56 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
58 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
59 initialStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
60 seedingHitSets =
"initialStepHitTriplets",
62 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
63 _initialStepCAHitQuadruplets = _caHitQuadrupletEDProducer.clone(
64 doublets =
"initialStepHitDoublets",
65 extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
66 SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet,
69 value1 = 200, value2 = 50,
71 useBendingCorrection =
True,
73 fitFastCircleChi2Cut =
True,
77 highBetaStar_2018.toModify(_initialStepCAHitQuadruplets,
81 initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone()
83 trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2])
85 trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2])
86 trackingPhase2PU140.toModify(initialStepHitQuadruplets,
91 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
92 _initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
93 seedingHitSets =
"initialStepHitTriplets",
94 SeedComparitorPSet = dict(
95 ComponentName =
'PixelClusterShapeSeedComparitor',
96 FilterAtHelixStage = cms.bool(
False),
97 FilterPixelHits = cms.bool(
True),
98 FilterStripHits = cms.bool(
False),
99 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
100 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
103 trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
104 seedingHitSets =
"initialStepHitQuadruplets"
106 trackingPhase2PU140.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
107 seedingHitSets =
"initialStepHitQuadruplets"
109 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
110 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
111 _fastSim_initialStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
112 trackingRegions =
"initialStepTrackingRegions",
114 layerList = initialStepSeedLayers.layerList.value())
116 _fastSim_initialStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName =
"none"
118 trackingPhase1.toModify(_fastSim_initialStepSeeds, seedFinderSelector = dict(
119 pixelTripletGeneratorFactory =
None,
123 TTRHBuilder =
'WithoutRefit',
124 HitProducer =
'TrackingRecHitProducer',
127 TTRHBuilder =
'WithoutRefit',
128 HitProducer =
'TrackingRecHitProducer',
130 layerPairs = initialStepHitDoublets.layerPairs.value()
134 fastSim.toReplaceWith(initialStepSeeds,_fastSim_initialStepSeeds)
139 _initialStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
140 minimumNumberOfHits = 3,
143 initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
145 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose'))
147 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
148 _tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2)
150 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
151 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
152 for e
in [pp_on_XeXe_2017, pp_on_AA_2018]:
153 e.toModify(initialStepTrajectoryFilterBase, minPt=0.6)
154 highBetaStar_2018.toModify(initialStepTrajectoryFilterBase, minPt = 0.05)
156 initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone(
157 minimumNumberOfHits = 4,
159 strictSeedExtension =
True,
160 pixelSeedExtension =
True,
162 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
163 trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
164 trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
166 import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
167 initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
168 initialStepTrajectoryFilter = cms.PSet(
169 ComponentType = cms.string(
'CompositeTrajectoryFilter'),
171 cms.PSet( refToPSet_ = cms.string(
'initialStepTrajectoryFilterBase')),
176 trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilter, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
177 minimumNumberOfHits = 3,
181 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
182 initialStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
183 ComponentName = cms.string(
'initialStepChi2Est'),
184 nSigma = cms.double(3.0),
185 MaxChi2 = cms.double(30.0),
186 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose')),
187 pTChargeCutThreshold = cms.double(15.)
189 _tracker_apv_vfp30_2016.toModify(initialStepChi2Est,
190 clusterChargeCut = dict(refToPSet_ =
"SiStripClusterChargeCutTiny")
192 trackingPhase2PU140.toModify(initialStepChi2Est,
193 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutNone'),
198 initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
199 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'initialStepTrajectoryFilter')),
200 alwaysUseInvalidHits =
True,
202 estimator = cms.string(
'initialStepChi2Est'),
203 maxDPhiForLooperReconstruction = cms.double(2.0),
204 maxPtForLooperReconstruction = cms.double(0.7)
206 trackingLowPU.toModify(initialStepTrajectoryBuilder, maxCand = 5)
207 trackingPhase1.toModify(initialStepTrajectoryBuilder,
208 minNrOfHitsForRebuild = 1,
209 keepOriginalIfRebuildFails =
True,
211 trackingPhase2PU140.toModify(initialStepTrajectoryBuilder,
212 minNrOfHitsForRebuild = 1,
213 keepOriginalIfRebuildFails =
True,
217 initialStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
218 src = cms.InputTag(
'initialStepSeeds'),
220 numHitsForSeedCleaner = cms.int32(50),
221 onlyPixelHitsForSeedCleaner = cms.bool(
True),
222 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'initialStepTrajectoryBuilder')),
223 doSeedingRegionRebuilding =
True,
224 useHitsSplitting =
True
227 from Configuration.ProcessModifiers.trackingMkFit_cff
import trackingMkFit
228 import RecoTracker.MkFit.mkFitInputConverter_cfi
as mkFitInputConverter_cfi
229 import RecoTracker.MkFit.mkFitProducer_cfi
as mkFitProducer_cfi
230 import RecoTracker.MkFit.mkFitOutputConverter_cfi
as mkFitOutputConverter_cfi
231 initialStepTrackCandidatesMkFitInput = mkFitInputConverter_cfi.mkFitInputConverter.clone(
232 seeds =
"initialStepSeeds",
234 initialStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
235 hitsSeeds =
"initialStepTrackCandidatesMkFitInput",
237 trackingMkFit.toReplaceWith(initialStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
238 seeds =
"initialStepSeeds",
239 hitsSeeds =
"initialStepTrackCandidatesMkFitInput",
240 tracks =
"initialStepTrackCandidatesMkFit",
243 import FastSimulation.Tracking.TrackCandidateProducer_cfi
244 fastSim.toReplaceWith(initialStepTrackCandidates,
245 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
246 src = cms.InputTag(
"initialStepSeeds"),
247 MinNumberOfCrossedLayers = 3
253 initialStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
254 src =
'initialStepTrackCandidates',
255 AlgorithmName = cms.string(
'initialStep'),
256 Fitter = cms.string(
'FlexibleKFFittingSmoother')
258 fastSim.toModify(initialStepTracks, TTRHBuilder =
'WithoutRefit')
262 firstStepPrimaryVerticesUnsorted = _offlinePrimaryVertices.clone()
263 firstStepPrimaryVerticesUnsorted.TrackLabel = cms.InputTag(
"initialStepTracks")
264 firstStepPrimaryVerticesUnsorted.vertexCollections = [_offlinePrimaryVertices.vertexCollections[0].
clone()]
266 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
267 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
268 (pp_on_XeXe_2017 | pp_on_AA_2018).toModify(firstStepPrimaryVerticesUnsorted, TkFilterParameters = dict(trackQuality =
"any"))
274 firstStepPrimaryVerticesBeforeMixing = firstStepPrimaryVerticesUnsorted.clone()
275 fastSim.toModify(firstStepPrimaryVerticesUnsorted, TrackLabel =
"generalTracks")
279 initialStepTrackRefsForJets = trackRefsForJets.clone(src = cms.InputTag(
'initialStepTracks'))
280 fastSim.toModify(initialStepTrackRefsForJets, src =
"generalTracks")
283 firstStepPrimaryVertices = _sortedPrimaryVertices.clone(
284 vertices =
"firstStepPrimaryVerticesUnsorted",
285 particles =
"initialStepTrackRefsForJets",
293 initialStepClassifier1 = TrackMVAClassifierPrompt.clone()
294 initialStepClassifier1.src =
'initialStepTracks'
295 initialStepClassifier1.mva.GBRForestLabel =
'MVASelectorIter0_13TeV'
296 initialStepClassifier1.qualityCuts = [-0.9,-0.8,-0.7]
297 fastSim.toModify(initialStepClassifier1,vertices =
"firstStepPrimaryVerticesBeforeMixing")
301 initialStepClassifier2 = detachedTripletStepClassifier1.clone()
302 initialStepClassifier2.src =
'initialStepTracks'
303 fastSim.toModify(initialStepClassifier2,vertices =
"firstStepPrimaryVerticesBeforeMixing")
304 initialStepClassifier3 = lowPtTripletStep.clone()
305 initialStepClassifier3.src =
'initialStepTracks'
306 fastSim.toModify(initialStepClassifier3,vertices =
"firstStepPrimaryVerticesBeforeMixing")
309 initialStep = ClassifierMerger.clone()
310 initialStep.inputClassifiers=[
'initialStepClassifier1',
'initialStepClassifier2',
'initialStepClassifier3']
312 trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone(
313 mva = dict(GBRForestLabel =
'MVASelectorInitialStep_Phase1'),
314 qualityCuts = [-0.95,-0.85,-0.75]
319 trackdnn.toReplaceWith(initialStep, TrackLwtnnClassifier.clone(
320 src =
'initialStepTracks',
321 qualityCuts = [0.0, 0.3, 0.6]
323 (trackdnn & fastSim).toModify(initialStep,vertices =
"firstStepPrimaryVerticesBeforeMixing")
325 pp_on_AA_2018.toModify(initialStep,
326 mva = dict(GBRForestLabel =
'HIMVASelectorInitialStep_Phase1'),
327 qualityCuts = [-0.9, -0.5, 0.2],
331 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
332 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
333 src =
'initialStepTracks',
334 useAnyMVA = cms.bool(
False),
335 GBRForestLabel = cms.string(
'MVASelectorIter0'),
337 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
338 name =
'initialStepLoose',
340 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
341 name =
'initialStepTight',
342 preFilterName =
'initialStepLoose',
344 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
345 name =
'QualityMasks',
346 preFilterName =
'initialStepTight',
350 trackingPhase2PU140.toModify(initialStepSelector,
352 GBRForestLabel =
None,
353 trackSelectors= cms.VPSet(
354 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
355 name =
'initialStepLoose',
357 res_par = ( 0.003, 0.002 ),
359 maxNumberLostLayers = 3,
360 minNumber3DLayers = 3,
361 d0_par1 = ( 0.8, 4.0 ),
362 dz_par1 = ( 0.9, 4.0 ),
363 d0_par2 = ( 0.6, 4.0 ),
364 dz_par2 = ( 0.8, 4.0 )
366 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
367 name =
'initialStepTight',
368 preFilterName =
'initialStepLoose',
370 res_par = ( 0.003, 0.002 ),
372 maxNumberLostLayers = 2,
373 minNumber3DLayers = 3,
374 d0_par1 = ( 0.7, 4.0 ),
375 dz_par1 = ( 0.8, 4.0 ),
376 d0_par2 = ( 0.5, 4.0 ),
377 dz_par2 = ( 0.7, 4.0 )
379 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
380 name =
'initialStep',
381 preFilterName =
'initialStepTight',
385 res_par = ( 0.003, 0.001 ),
387 maxNumberLostLayers = 2,
388 minNumber3DLayers = 3,
389 d0_par1 = ( 0.6, 4.0 ),
390 dz_par1 = ( 0.7, 4.0 ),
391 d0_par2 = ( 0.45, 4.0 ),
392 dz_par2 = ( 0.55, 4.0 )
400 InitialStepTask = cms.Task(initialStepSeedLayers,
401 initialStepTrackingRegions,
402 initialStepHitDoublets,
403 initialStepHitTriplets,
405 initialStepTrackCandidates,
407 firstStepPrimaryVerticesUnsorted,
408 initialStepTrackRefsForJets,
409 firstStepPrimaryVertices,
410 initialStepClassifier1,initialStepClassifier2,initialStepClassifier3,
411 initialStep,caloJetsForTrkTask)
412 InitialStep = cms.Sequence(InitialStepTask)
414 _InitialStepTask_trackingMkFit = InitialStepTask.copy()
415 _InitialStepTask_trackingMkFit.add(initialStepTrackCandidatesMkFitInput, initialStepTrackCandidatesMkFit)
416 trackingMkFit.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFit)
418 _InitialStepTask_LowPU = InitialStepTask.copyAndExclude([firstStepPrimaryVerticesUnsorted, initialStepTrackRefsForJets, caloJetsForTrkTask, firstStepPrimaryVertices, initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
419 _InitialStepTask_LowPU.replace(initialStep, initialStepSelector)
420 trackingLowPU.toReplaceWith(InitialStepTask, _InitialStepTask_LowPU)
422 _InitialStepTask_Phase1 = InitialStepTask.copyAndExclude([initialStepClassifier2, initialStepClassifier3])
423 _InitialStepTask_Phase1.replace(initialStepHitTriplets, initialStepHitQuadruplets)
424 trackingPhase1.toReplaceWith(InitialStepTask, _InitialStepTask_Phase1)
426 _InitialStepTask_trackingPhase2 = InitialStepTask.copyAndExclude([initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
427 _InitialStepTask_trackingPhase2.replace(initialStepHitTriplets, initialStepHitQuadruplets)
428 _InitialStepTask_trackingPhase2.replace(initialStep, initialStepSelector)
429 trackingPhase2PU140.toReplaceWith(InitialStepTask, _InitialStepTask_trackingPhase2)
431 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
432 _InitialStepTask_fastSim = cms.Task(initialStepTrackingRegions
434 ,initialStepTrackCandidates
436 ,firstStepPrimaryVerticesBeforeMixing
437 ,initialStepClassifier1,initialStepClassifier2,initialStepClassifier3
440 fastSim.toReplaceWith(InitialStepTask, _InitialStepTask_fastSim)