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
13 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
14 initialStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
15 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
16 trackingPhase1.toModify(initialStepSeedLayers,
17 layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
19 trackingPhase2PU140.toModify(initialStepSeedLayers,
20 layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
24 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
25 initialStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet =
dict(
30 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
31 trackingPhase1.toModify(initialStepTrackingRegions, RegionPSet =
dict(ptMin = 0.5))
32 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
33 highBetaStar_2018.toModify(initialStepTrackingRegions,RegionPSet =
dict(
37 trackingPhase2PU140.toModify(initialStepTrackingRegions, RegionPSet =
dict(ptMin = 0.6,originRadius = 0.03))
40 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
41 initialStepHitDoublets = _hitPairEDProducer.clone(
42 seedingLayers =
"initialStepSeedLayers",
43 trackingRegions =
"initialStepTrackingRegions",
45 produceIntermediateHitDoublets =
True,
47 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
49 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
50 initialStepHitTriplets = _pixelTripletHLTEDProducer.clone(
51 doublets =
"initialStepHitDoublets",
52 produceSeedingHitSets =
True,
53 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
55 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
56 initialStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
57 seedingHitSets =
"initialStepHitTriplets",
59 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
60 _initialStepCAHitQuadruplets = _caHitQuadrupletEDProducer.clone(
61 doublets =
"initialStepHitDoublets",
62 extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
63 SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet,
66 value1 = 200, value2 = 50,
68 useBendingCorrection =
True,
70 fitFastCircleChi2Cut =
True,
74 highBetaStar_2018.toModify(_initialStepCAHitQuadruplets,
78 initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone()
80 trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2])
82 trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2])
83 trackingPhase2PU140.toModify(initialStepHitQuadruplets,
88 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
89 _initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
90 seedingHitSets =
"initialStepHitTriplets",
91 SeedComparitorPSet =
dict(
92 ComponentName =
'PixelClusterShapeSeedComparitor',
93 FilterAtHelixStage = cms.bool(
False),
94 FilterPixelHits = cms.bool(
True),
95 FilterStripHits = cms.bool(
False),
96 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
97 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
100 trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
101 seedingHitSets =
"initialStepHitQuadruplets" 103 trackingPhase2PU140.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
104 seedingHitSets =
"initialStepHitQuadruplets" 106 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
107 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
108 _fastSim_initialStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
109 trackingRegions =
"initialStepTrackingRegions",
111 layerList = initialStepSeedLayers.layerList.value())
113 _fastSim_initialStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName =
"none" 115 trackingPhase1.toModify(_fastSim_initialStepSeeds, seedFinderSelector =
dict(
116 pixelTripletGeneratorFactory =
None,
120 TTRHBuilder =
'WithoutRefit',
121 HitProducer =
'TrackingRecHitProducer',
124 TTRHBuilder =
'WithoutRefit',
125 HitProducer =
'TrackingRecHitProducer',
127 layerPairs = initialStepHitDoublets.layerPairs.value()
131 fastSim.toReplaceWith(initialStepSeeds,_fastSim_initialStepSeeds)
136 _initialStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
137 minimumNumberOfHits = 3,
140 initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
142 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose'))
144 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
145 _tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2)
147 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
148 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
149 for e
in [pp_on_XeXe_2017, pp_on_AA_2018]:
150 e.toModify(initialStepTrajectoryFilterBase, minPt=0.6)
151 highBetaStar_2018.toModify(initialStepTrajectoryFilterBase, minPt = 0.05)
153 initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone(
154 minimumNumberOfHits = 4,
156 strictSeedExtension =
True,
157 pixelSeedExtension =
True,
159 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
160 trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
161 trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
163 import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
164 initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
165 initialStepTrajectoryFilter = cms.PSet(
166 ComponentType = cms.string(
'CompositeTrajectoryFilter'),
168 cms.PSet( refToPSet_ = cms.string(
'initialStepTrajectoryFilterBase')),
173 trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilter, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
174 minimumNumberOfHits = 3,
178 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
179 initialStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
180 ComponentName = cms.string(
'initialStepChi2Est'),
181 nSigma = cms.double(3.0),
182 MaxChi2 = cms.double(30.0),
183 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose')),
184 pTChargeCutThreshold = cms.double(15.)
186 _tracker_apv_vfp30_2016.toModify(initialStepChi2Est,
187 clusterChargeCut =
dict(refToPSet_ =
"SiStripClusterChargeCutTiny")
189 trackingPhase2PU140.toModify(initialStepChi2Est,
190 clusterChargeCut =
dict(refToPSet_ =
'SiStripClusterChargeCutNone'),
195 initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
196 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'initialStepTrajectoryFilter')),
197 alwaysUseInvalidHits =
True,
199 estimator = cms.string(
'initialStepChi2Est'),
200 maxDPhiForLooperReconstruction = cms.double(2.0),
201 maxPtForLooperReconstruction = cms.double(0.7)
203 trackingLowPU.toModify(initialStepTrajectoryBuilder, maxCand = 5)
204 trackingPhase1.toModify(initialStepTrajectoryBuilder,
205 minNrOfHitsForRebuild = 1,
206 keepOriginalIfRebuildFails =
True,
208 trackingPhase2PU140.toModify(initialStepTrajectoryBuilder,
209 minNrOfHitsForRebuild = 1,
210 keepOriginalIfRebuildFails =
True,
214 initialStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
215 src = cms.InputTag(
'initialStepSeeds'),
217 numHitsForSeedCleaner = cms.int32(50),
218 onlyPixelHitsForSeedCleaner = cms.bool(
True),
219 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'initialStepTrajectoryBuilder')),
220 doSeedingRegionRebuilding =
True,
221 useHitsSplitting =
True 224 import FastSimulation.Tracking.TrackCandidateProducer_cfi
225 fastSim.toReplaceWith(initialStepTrackCandidates,
226 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
227 src = cms.InputTag(
"initialStepSeeds"),
228 MinNumberOfCrossedLayers = 3
234 initialStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
235 src =
'initialStepTrackCandidates',
236 AlgorithmName = cms.string(
'initialStep'),
237 Fitter = cms.string(
'FlexibleKFFittingSmoother')
239 fastSim.toModify(initialStepTracks, TTRHBuilder =
'WithoutRefit')
243 firstStepPrimaryVerticesUnsorted = _offlinePrimaryVertices.clone()
244 firstStepPrimaryVerticesUnsorted.TrackLabel = cms.InputTag(
"initialStepTracks")
245 firstStepPrimaryVerticesUnsorted.vertexCollections = [_offlinePrimaryVertices.vertexCollections[0].
clone()]
247 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
248 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
249 (pp_on_XeXe_2017 | pp_on_AA_2018).toModify(firstStepPrimaryVerticesUnsorted, TkFilterParameters =
dict(trackQuality =
"any"))
255 firstStepPrimaryVerticesBeforeMixing = firstStepPrimaryVerticesUnsorted.clone()
256 fastSim.toModify(firstStepPrimaryVerticesUnsorted, TrackLabel =
"generalTracks")
260 initialStepTrackRefsForJets = trackRefsForJets.clone(src = cms.InputTag(
'initialStepTracks'))
261 fastSim.toModify(initialStepTrackRefsForJets, src =
"generalTracks")
264 firstStepPrimaryVertices = _sortedPrimaryVertices.clone(
265 vertices =
"firstStepPrimaryVerticesUnsorted",
266 particles =
"initialStepTrackRefsForJets",
275 initialStepClassifier1 = TrackMVAClassifierPrompt.clone()
276 initialStepClassifier1.src =
'initialStepTracks' 277 initialStepClassifier1.mva.GBRForestLabel =
'MVASelectorIter0_13TeV' 278 initialStepClassifier1.qualityCuts = [-0.9,-0.8,-0.7]
279 fastSim.toModify(initialStepClassifier1,vertices =
"firstStepPrimaryVerticesBeforeMixing")
283 initialStepClassifier2 = detachedTripletStepClassifier1.clone()
284 initialStepClassifier2.src =
'initialStepTracks' 285 fastSim.toModify(initialStepClassifier2,vertices =
"firstStepPrimaryVerticesBeforeMixing")
286 initialStepClassifier3 = lowPtTripletStep.clone()
287 initialStepClassifier3.src =
'initialStepTracks' 288 fastSim.toModify(initialStepClassifier3,vertices =
"firstStepPrimaryVerticesBeforeMixing")
291 initialStep = ClassifierMerger.clone()
292 initialStep.inputClassifiers=[
'initialStepClassifier1',
'initialStepClassifier2',
'initialStepClassifier3']
294 trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone(
295 mva =
dict(GBRForestLabel =
'MVASelectorInitialStep_Phase1'),
296 qualityCuts = [-0.95,-0.85,-0.75],
299 pp_on_AA_2018.toModify(initialStep,
300 mva =
dict(GBRForestLabel =
'HIMVASelectorInitialStep_Phase1'),
301 qualityCuts = [-0.9, -0.5, 0.2],
305 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
306 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
307 src =
'initialStepTracks',
308 useAnyMVA = cms.bool(
False),
309 GBRForestLabel = cms.string(
'MVASelectorIter0'),
311 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
312 name =
'initialStepLoose',
314 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
315 name =
'initialStepTight',
316 preFilterName =
'initialStepLoose',
318 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
319 name =
'QualityMasks',
320 preFilterName =
'initialStepTight',
324 trackingPhase2PU140.toModify(initialStepSelector,
326 GBRForestLabel =
None,
327 trackSelectors= cms.VPSet(
328 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
329 name =
'initialStepLoose',
331 res_par = ( 0.003, 0.002 ),
333 maxNumberLostLayers = 3,
334 minNumber3DLayers = 3,
335 d0_par1 = ( 0.8, 4.0 ),
336 dz_par1 = ( 0.9, 4.0 ),
337 d0_par2 = ( 0.6, 4.0 ),
338 dz_par2 = ( 0.8, 4.0 )
340 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
341 name =
'initialStepTight',
342 preFilterName =
'initialStepLoose',
344 res_par = ( 0.003, 0.002 ),
346 maxNumberLostLayers = 2,
347 minNumber3DLayers = 3,
348 d0_par1 = ( 0.7, 4.0 ),
349 dz_par1 = ( 0.8, 4.0 ),
350 d0_par2 = ( 0.5, 4.0 ),
351 dz_par2 = ( 0.7, 4.0 )
353 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
354 name =
'initialStep',
355 preFilterName =
'initialStepTight',
357 res_par = ( 0.003, 0.001 ),
359 maxNumberLostLayers = 2,
360 minNumber3DLayers = 3,
361 d0_par1 = ( 0.6, 4.0 ),
362 dz_par1 = ( 0.7, 4.0 ),
363 d0_par2 = ( 0.45, 4.0 ),
364 dz_par2 = ( 0.55, 4.0 )
372 InitialStepTask = cms.Task(initialStepSeedLayers,
373 initialStepTrackingRegions,
374 initialStepHitDoublets,
375 initialStepHitTriplets,
377 initialStepTrackCandidates,
379 firstStepPrimaryVerticesUnsorted,
380 initialStepTrackRefsForJets,
381 firstStepPrimaryVertices,
382 initialStepClassifier1,initialStepClassifier2,initialStepClassifier3,
383 initialStep,caloJetsForTrkTask)
384 InitialStep = cms.Sequence(InitialStepTask)
386 _InitialStepTask_LowPU = InitialStepTask.copyAndExclude([firstStepPrimaryVerticesUnsorted, initialStepTrackRefsForJets, caloJetsForTrkTask, firstStepPrimaryVertices, initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
387 _InitialStepTask_LowPU.replace(initialStep, initialStepSelector)
388 trackingLowPU.toReplaceWith(InitialStepTask, _InitialStepTask_LowPU)
390 _InitialStepTask_Phase1 = InitialStepTask.copyAndExclude([initialStepClassifier2, initialStepClassifier3])
391 _InitialStepTask_Phase1.replace(initialStepHitTriplets, initialStepHitQuadruplets)
392 trackingPhase1.toReplaceWith(InitialStepTask, _InitialStepTask_Phase1)
394 _InitialStepTask_trackingPhase2 = InitialStepTask.copyAndExclude([initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
395 _InitialStepTask_trackingPhase2.replace(initialStepHitTriplets, initialStepHitQuadruplets)
396 _InitialStepTask_trackingPhase2.replace(initialStep, initialStepSelector)
397 trackingPhase2PU140.toReplaceWith(InitialStepTask, _InitialStepTask_trackingPhase2)
399 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
400 _InitialStepTask_fastSim = cms.Task(initialStepTrackingRegions
402 ,initialStepTrackCandidates
404 ,firstStepPrimaryVerticesBeforeMixing
405 ,initialStepClassifier1,initialStepClassifier2,initialStepClassifier3
408 fastSim.toReplaceWith(InitialStepTask, _InitialStepTask_fastSim)
def _hitSetProducerToFactoryPSet(producer)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)