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 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
4 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
7 lowPtTripletStepClusters = _cfg.clusterRemoverForIter(
"LowPtTripletStep")
8 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
9 _era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter(
"LowPtTripletStep", _eraName, _postfix))
13 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
14 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag(
'lowPtTripletStepClusters')
15 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag(
'lowPtTripletStepClusters')
16 _layerListForPhase1 = [
17 'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
18 'BPix1+BPix3+BPix4',
'BPix1+BPix2+BPix4',
19 'BPix2+BPix3+FPix1_pos',
'BPix2+BPix3+FPix1_neg',
20 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
21 'BPix1+BPix3+FPix1_pos',
'BPix1+BPix3+FPix1_neg',
22 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
23 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
24 'BPix1+BPix2+FPix2_pos',
'BPix1+BPix2+FPix2_neg',
25 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
26 'BPix1+FPix2_pos+FPix3_pos',
'BPix1+FPix2_neg+FPix3_neg',
27 'BPix1+FPix1_pos+FPix3_pos',
'BPix1+FPix1_neg+FPix3_neg' 29 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
30 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff
import trackingPhase1QuadProp
31 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
32 trackingPhase1QuadProp.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
35 _layerListForPhase2 = [
'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
37 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
38 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
40 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
42 'FPix2_pos+FPix3_pos+FPix4_pos',
'FPix2_neg+FPix3_neg+FPix4_neg',
43 'FPix3_pos+FPix4_pos+FPix5_pos',
'FPix3_neg+FPix4_neg+FPix5_neg',
44 'FPix4_pos+FPix5_pos+FPix6_pos',
'FPix4_neg+FPix5_neg+FPix6_neg',
49 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
50 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
53 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
54 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet =
dict(
59 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet =
dict(ptMin = 0.2))
60 trackingPhase1QuadProp.toModify(lowPtTripletStepTrackingRegions, RegionPSet =
dict(ptMin = 0.35))
61 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet =
dict(ptMin = 0.40))
63 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
64 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff
import globalTrackingRegionWithVertices
as _globalTrackingRegionWithVertices
65 pp_on_XeXe_2017.toReplaceWith(lowPtTripletStepTrackingRegions,
66 _globalTrackingRegionWithVertices.clone(RegionPSet=
dict(
75 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
76 lowPtTripletStepHitDoublets = _hitPairEDProducer.clone(
77 seedingLayers =
"lowPtTripletStepSeedLayers",
78 trackingRegions =
"lowPtTripletStepTrackingRegions",
80 produceIntermediateHitDoublets =
True,
82 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
84 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
85 lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone(
86 doublets =
"lowPtTripletStepHitDoublets",
87 produceSeedingHitSets =
True,
88 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
90 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
91 lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
92 seedingHitSets =
"lowPtTripletStepHitTriplets",
95 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi
import caHitTripletEDProducer
as _caHitTripletEDProducer
96 trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
97 trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
98 doublets =
"lowPtTripletStepHitDoublets",
99 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
100 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
103 value1 = 70 , value2 = 8,
105 useBendingCorrection =
True,
110 trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
111 trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
112 doublets =
"lowPtTripletStepHitDoublets",
113 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
114 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
117 value1 = 70 , value2 = 8,
119 useBendingCorrection =
True,
124 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
125 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
126 trackingRegions =
"lowPtTripletStepTrackingRegions",
127 hitMasks = cms.InputTag(
"lowPtTripletStepMasks"),
130 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
132 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName =
"none" 133 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.layerList = lowPtTripletStepSeedLayers.layerList.value()
135 trackingPhase1.toModify(_fastSim_lowPtTripletStepSeeds, seedFinderSelector =
dict(
136 pixelTripletGeneratorFactory =
None,
140 TTRHBuilder =
'WithoutRefit',
141 HitProducer =
'TrackingRecHitProducer',
144 TTRHBuilder =
'WithoutRefit',
145 HitProducer =
'TrackingRecHitProducer',
147 layerPairs = lowPtTripletStepHitDoublets.layerPairs.value()
150 fastSim.toReplaceWith(lowPtTripletStepSeeds,_fastSim_lowPtTripletStepSeeds)
154 _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
155 minimumNumberOfHits = 3,
158 lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
160 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose'))
162 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
163 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
164 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
165 trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
166 trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
168 pp_on_XeXe_2017.toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.3)
172 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
173 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepStandardTrajectoryFilter')),
177 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
178 filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
181 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
182 minimumNumberOfHits = 4,
184 strictSeedExtension =
False,
185 pixelSeedExtension =
False,
188 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
189 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
190 ComponentName = cms.string(
'lowPtTripletStepChi2Est'),
191 nSigma = cms.double(3.0),
192 MaxChi2 = cms.double(9.0),
193 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
195 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
196 clusterChargeCut =
dict(refToPSet_ =
"SiStripClusterChargeCutTiny")
201 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
202 MeasurementTrackerName =
'',
203 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryFilter')),
205 estimator = cms.string(
'lowPtTripletStepChi2Est'),
206 maxDPhiForLooperReconstruction = cms.double(2.0),
209 maxPtForLooperReconstruction = cms.double(0.7)
211 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
212 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
213 inOutTrajectoryFilter =
dict(refToPSet_ =
"lowPtTripletStepTrajectoryFilterInOut"),
214 useSameTrajFilter =
False,
220 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
221 src = cms.InputTag(
'lowPtTripletStepSeeds'),
223 numHitsForSeedCleaner = cms.int32(50),
224 onlyPixelHitsForSeedCleaner = cms.bool(
True),
226 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryBuilder')),
227 clustersToSkip = cms.InputTag(
'lowPtTripletStepClusters'),
228 doSeedingRegionRebuilding =
True,
229 useHitsSplitting =
True,
230 TrajectoryCleaner =
'lowPtTripletStepTrajectoryCleanerBySharedHits' 233 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
234 clustersToSkip =
None,
235 phase2clustersToSkip = cms.InputTag(
"lowPtTripletStepClusters")
238 import FastSimulation.Tracking.TrackCandidateProducer_cfi
239 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
240 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
241 src = cms.InputTag(
"lowPtTripletStepSeeds"),
242 MinNumberOfCrossedLayers = 3,
243 hitMasks = cms.InputTag(
"lowPtTripletStepMasks"))
248 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
249 src =
'lowPtTripletStepTrackCandidates',
250 AlgorithmName = cms.string(
'lowPtTripletStep'),
251 Fitter = cms.string(
'FlexibleKFFittingSmoother')
253 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder =
'WithoutRefit')
256 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
257 ComponentName = cms.string(
'lowPtTripletStepTrajectoryCleanerBySharedHits'),
258 fractionShared = cms.double(0.16),
259 allowSharedFirstHit = cms.bool(
True)
261 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
262 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
266 lowPtTripletStep = TrackMVAClassifierPrompt.clone()
267 lowPtTripletStep.src =
'lowPtTripletStepTracks' 268 lowPtTripletStep.mva.GBRForestLabel =
'MVASelectorIter1_13TeV' 269 lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1]
271 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
272 mva =
dict(GBRForestLabel =
'MVASelectorLowPtTripletStep_Phase1'),
273 qualityCuts = [-0.4,0.0,0.3],
275 trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
276 mva =
dict(GBRForestLabel =
'MVASelectorLowPtTripletStep_Phase1'),
277 qualityCuts = [-0.4,0.0,0.3],
279 fastSim.toModify(lowPtTripletStep, vertices =
"firstStepPrimaryVerticesBeforeMixing")
283 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
284 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
285 src =
'lowPtTripletStepTracks',
286 useAnyMVA = cms.bool(
False),
287 GBRForestLabel = cms.string(
'MVASelectorIter1'),
289 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
290 name =
'lowPtTripletStepLoose',
292 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
293 name =
'lowPtTripletStepTight',
294 preFilterName =
'lowPtTripletStepLoose',
296 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
297 name =
'QualityMasks',
298 preFilterName =
'lowPtTripletStepTight',
302 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
304 GBRForestLabel =
None,
305 trackSelectors= cms.VPSet(
306 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
307 name =
'lowPtTripletStepLoose',
309 res_par = ( 0.003, 0.002 ),
311 maxNumberLostLayers = 2,
312 minNumber3DLayers = 3,
313 d0_par1 = ( 0.7, 4.0 ),
314 dz_par1 = ( 0.7, 4.0 ),
315 d0_par2 = ( 0.6, 4.0 ),
316 dz_par2 = ( 0.6, 4.0 )
318 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
319 name =
'lowPtTripletStepTight',
320 preFilterName =
'lowPtTripletStepLoose',
322 res_par = ( 0.003, 0.002 ),
324 maxNumberLostLayers = 2,
325 minNumber3DLayers = 3,
326 d0_par1 = ( 0.6, 4.0 ),
327 dz_par1 = ( 0.6, 4.0 ),
328 d0_par2 = ( 0.5, 4.0 ),
329 dz_par2 = ( 0.5, 4.0 )
331 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
332 name =
'lowPtTripletStep',
333 preFilterName =
'lowPtTripletStepTight',
335 res_par = ( 0.003, 0.001 ),
338 maxNumberLostLayers = 2,
339 minNumber3DLayers = 4,
340 d0_par1 = ( 0.5, 4.0 ),
341 dz_par1 = ( 0.5, 4.0 ),
342 d0_par2 = ( 0.45, 4.0 ),
343 dz_par2 = ( 0.45, 4.0 )
351 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
352 lowPtTripletStepSeedLayers*
353 lowPtTripletStepTrackingRegions*
354 lowPtTripletStepHitDoublets*
355 lowPtTripletStepHitTriplets*
356 lowPtTripletStepSeeds*
357 lowPtTripletStepTrackCandidates*
358 lowPtTripletStepTracks*
360 _LowPtTripletStep_LowPU_Phase2PU140 = LowPtTripletStep.copy()
361 _LowPtTripletStep_LowPU_Phase2PU140.replace(lowPtTripletStep, lowPtTripletStepSelector)
362 trackingLowPU.toReplaceWith(LowPtTripletStep, _LowPtTripletStep_LowPU_Phase2PU140)
363 trackingPhase2PU140.toReplaceWith(LowPtTripletStep, _LowPtTripletStep_LowPU_Phase2PU140)
365 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
367 fastSim.toReplaceWith(LowPtTripletStep,
368 cms.Sequence(lowPtTripletStepMasks
369 +lowPtTripletStepTrackingRegions
370 +lowPtTripletStepSeeds
371 +lowPtTripletStepTrackCandidates
372 +lowPtTripletStepTracks
def _hitSetProducerToFactoryPSet(producer)
def maskProducerFromClusterRemover(clusterRemover)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)