CMS 3D CMS Logo

LowPtTripletStep_cff.py
Go to the documentation of this file.
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
5 
6 #for dnn classifier
7 from Configuration.ProcessModifiers.trackdnn_cff import trackdnn
8 from RecoTracker.IterativeTracking.dnnQualityCuts import qualityCutDictionary
9 
10 # NEW CLUSTERS (remove previously used clusters)
11 lowPtTripletStepClusters = _cfg.clusterRemoverForIter('LowPtTripletStep')
12 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
13  _era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter('LowPtTripletStep', _eraName, _postfix))
14 
15 # SEEDING LAYERS
17 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
18  BPix = dict(skipClusters = cms.InputTag('lowPtTripletStepClusters')),
19  FPix = dict(skipClusters = cms.InputTag('lowPtTripletStepClusters'))
20 )
21 _layerListForPhase1 = [
22  'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
23  'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
24  'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg',
25  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
26  'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg',
27  'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
28  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
29  'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
30  'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
31  'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg',
32  'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg'
33 ]
34 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
35 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
36 
37 # combination with gap removed as only source of fakes in current geometry (kept for doc,=)
38 _layerListForPhase2 = ['BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
39 # 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
40  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
41  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
42 # 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
43  'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
44 # 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg',
45  'FPix2_pos+FPix3_pos+FPix4_pos', 'FPix2_neg+FPix3_neg+FPix4_neg',
46  'FPix3_pos+FPix4_pos+FPix5_pos', 'FPix3_neg+FPix4_neg+FPix5_neg',
47  'FPix4_pos+FPix5_pos+FPix6_pos', 'FPix4_neg+FPix5_neg+FPix6_neg',
48 # removed as redunant and covering effectively only eta>4 (here for documentation, to be optimized after TDR)
49 # 'FPix5_pos+FPix6_pos+FPix7_pos', 'FPix5_neg+FPix6_neg+FPix7_neg',
50 # 'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg'
51 ]
52 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
53 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
54 
55 # TrackingRegion
56 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
57 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
58  ptMin = 0.2,
59  originRadius = 0.02,
60  nSigmaZ = 4.0
61 ))
62 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.2))
63 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.40))
64 
65 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
66 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
67 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
68 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(lowPtTripletStepTrackingRegions,
69  _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
70  useFixedError = False,
71  ptMin = 0.49,
72  originRadius = 0.02 )
73  )
74 )
75 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
76 highBetaStar_2018.toModify(lowPtTripletStepTrackingRegions,RegionPSet = dict(
77  ptMin = 0.05,
78  originRadius = 0.2 )
79 )
80 
81 # seeding
82 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
83 lowPtTripletStepHitDoublets = _hitPairEDProducer.clone(
84  seedingLayers = 'lowPtTripletStepSeedLayers',
85  trackingRegions = 'lowPtTripletStepTrackingRegions',
86  maxElement = 50000000,
87  produceIntermediateHitDoublets = True,
88 )
89 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
91 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
92 lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone(
93  doublets = 'lowPtTripletStepHitDoublets',
94  produceSeedingHitSets = True,
95  SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
96 )
97 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
98 lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
99  seedingHitSets = 'lowPtTripletStepHitTriplets',
100 )
101 
102 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer
103 trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1]) # layer pairs (0,1), (1,2)
104 trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
105  doublets = 'lowPtTripletStepHitDoublets',
106  extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
107  SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
108  maxChi2 = dict(
109  pt1 = 0.8, pt2 = 2,
110  value1 = 70 , value2 = 8,
111  ),
112  useBendingCorrection = True,
113  CAThetaCut = 0.002,
114  CAPhiCut = 0.05 )
115 )
116 
117 trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1]) # layer pairs (0,1), (1,2)
118 trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
119  doublets = 'lowPtTripletStepHitDoublets',
120  extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
121  SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
122  maxChi2 = dict(
123  pt1 = 0.8, pt2 = 2,
124  value1 = 70 , value2 = 8,
125  ),
126  useBendingCorrection = True,
127  CAThetaCut = 0.002,
128  CAPhiCut = 0.05 )
129 )
130 highBetaStar_2018.toModify(lowPtTripletStepHitTriplets,CAThetaCut = 0.004,CAPhiCut = 0.1)
131 
132 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
133 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
134 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
135  trackingRegions = 'lowPtTripletStepTrackingRegions',
136  hitMasks = cms.InputTag('lowPtTripletStepMasks'),
137  seedFinderSelector = dict(pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(lowPtTripletStepHitTriplets).clone(
138  SeedComparitorPSet = dict(ComponentName = 'none')),
139  layerList = lowPtTripletStepSeedLayers.layerList.value()
140  )
141 )
142 #new for phase1
143 trackingPhase1.toModify(_fastSim_lowPtTripletStepSeeds, seedFinderSelector = dict(
144  pixelTripletGeneratorFactory = None,
145  CAHitTripletGeneratorFactory = _hitSetProducerToFactoryPSet(lowPtTripletStepHitTriplets).clone(SeedComparitorPSet = dict(ComponentName = 'none')),
146  #new parameters required for phase1 seeding
147  BPix = dict(
148  TTRHBuilder = 'WithoutRefit',
149  HitProducer = 'TrackingRecHitProducer',
150  ),
151  FPix = dict(
152  TTRHBuilder = 'WithoutRefit',
153  HitProducer = 'TrackingRecHitProducer',
154  ),
155  layerPairs = lowPtTripletStepHitDoublets.layerPairs.value()
156  )
157 )
158 fastSim.toReplaceWith(lowPtTripletStepSeeds,_fastSim_lowPtTripletStepSeeds)
159 
160 # QUALITY CUTS DURING TRACK BUILDING
161 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
162 _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
163  minimumNumberOfHits = 3,
164  minPt = 0.075,
165 )
166 lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
167  maxCCCLostHits = 0,
168  minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
169 )
170 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
171 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
172 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
173 trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
174 trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
175 
176 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.49)
177 
179 # Composite filter
180 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
181  filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
182  # cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))
183  ]
184  )
185 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
186  filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
187 )
188 
189 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
190  minimumNumberOfHits = 4,
191  seedExtension = 1,
192  strictSeedExtension = False, # allow inactive
193  pixelSeedExtension = False,
194 )
195 
196 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
197 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
198  ComponentName = 'lowPtTripletStepChi2Est',
199  nSigma = 3.0,
200  MaxChi2 = 9.0,
201  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
202 )
203 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
204  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
205 )
206 
207 # TRACK BUILDING
209 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
210  MeasurementTrackerName = '',
211  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
212  maxCand = 4,
213  estimator = 'lowPtTripletStepChi2Est',
214  maxDPhiForLooperReconstruction = cms.double(2.0),
215  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
216  # of the outermost Tracker barrel layer (with B=3.8T)
217  maxPtForLooperReconstruction = cms.double(0.7)
218 )
219 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
220 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
221  inOutTrajectoryFilter = dict(refToPSet_ = 'lowPtTripletStepTrajectoryFilterInOut'),
222  useSameTrajFilter = False,
223  maxCand = 3,
224 )
225 
226 # MAKING OF TRACK CANDIDATES
228 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
229  src = 'lowPtTripletStepSeeds',
230 
231  numHitsForSeedCleaner = cms.int32(50),
232  onlyPixelHitsForSeedCleaner = cms.bool(True),
233  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')),
234  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
235  doSeedingRegionRebuilding = True,
236  useHitsSplitting = True,
237  TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
238 )
239 
240 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
241  clustersToSkip = None,
242  phase2clustersToSkip = cms.InputTag('lowPtTripletStepClusters')
243 )
244 
245 from Configuration.ProcessModifiers.trackingMkFitLowPtTripletStep_cff import trackingMkFitLowPtTripletStep
246 import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
247 import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
248 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
249 import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
250 lowPtTripletStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
251  seeds = 'lowPtTripletStepSeeds',
252 )
253 lowPtTripletStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
254  ComponentName = 'lowPtTripletStepTrackCandidatesMkFitConfig',
255  config = 'RecoTracker/MkFit/data/mkfit-phase1-lowPtTripletStep.json',
256 )
257 lowPtTripletStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
258  seeds = 'lowPtTripletStepTrackCandidatesMkFitSeeds',
259  config = ('', 'lowPtTripletStepTrackCandidatesMkFitConfig'),
260  clustersToSkip = 'lowPtTripletStepClusters',
261 )
262 trackingMkFitLowPtTripletStep.toReplaceWith(lowPtTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
263  seeds = 'lowPtTripletStepSeeds',
264  mkFitSeeds = 'lowPtTripletStepTrackCandidatesMkFitSeeds',
265  tracks = 'lowPtTripletStepTrackCandidatesMkFit',
266 ))
267 
268 import FastSimulation.Tracking.TrackCandidateProducer_cfi
269 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
270  FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
271  src = 'lowPtTripletStepSeeds',
272  MinNumberOfCrossedLayers = 3,
273  hitMasks = cms.InputTag('lowPtTripletStepMasks'))
274 )
275 
276 # TRACK FITTING
278 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
279  src = 'lowPtTripletStepTrackCandidates',
280  AlgorithmName = 'lowPtTripletStep',
281  Fitter = 'FlexibleKFFittingSmoother'
282 )
283 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder = 'WithoutRefit')
284 
285 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
286 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
287  ComponentName = 'lowPtTripletStepTrajectoryCleanerBySharedHits',
288  fractionShared = 0.16,
289  allowSharedFirstHit = True
290 )
291 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
292 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
293 
294 # Final selection
296 lowPtTripletStep = TrackMVAClassifierPrompt.clone(
297  src = 'lowPtTripletStepTracks',
298  mva = dict(GBRForestLabel = 'MVASelectorIter1_13TeV'),
299  qualityCuts = [-0.6,-0.3,-0.1]
300 )
301 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
302  mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'),
303  qualityCuts = [-0.4,0.0,0.3],
304 ))
305 
308 trackdnn.toReplaceWith(lowPtTripletStep, TrackTfClassifier.clone(
309  src = 'lowPtTripletStepTracks',
310  qualityCuts = qualityCutDictionary['LowPtTripletStep']
311 ))
312 
313 highBetaStar_2018.toModify(lowPtTripletStep,qualityCuts = [-0.7,-0.3,-0.1])
314 pp_on_AA.toModify(lowPtTripletStep,
315  mva = dict(GBRForestLabel = 'HIMVASelectorLowPtTripletStep_Phase1'),
316  qualityCuts = [-0.8, -0.4, 0.5],
317 )
318 fastSim.toModify(lowPtTripletStep, vertices = 'firstStepPrimaryVerticesBeforeMixing')
319 
320 # For LowPU and Phase2PU140
321 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
322 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
323  src = 'lowPtTripletStepTracks',
324  useAnyMVA = cms.bool(False),
325  GBRForestLabel = cms.string('MVASelectorIter1'),
326  trackSelectors= [
327  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
328  name = 'lowPtTripletStepLoose',
329  ), #end of pset
330  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
331  name = 'lowPtTripletStepTight',
332  preFilterName = 'lowPtTripletStepLoose',
333  ),
334  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
335  name = 'QualityMasks',
336  preFilterName = 'lowPtTripletStepTight',
337  ),
338  ] #end of vpset
339 ) #end of clone
340 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
341  useAnyMVA = None,
342  GBRForestLabel = None,
343  trackSelectors= cms.VPSet(
344  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
345  name = 'lowPtTripletStepLoose',
346  chi2n_par = 1.2,
347  res_par = ( 0.003, 0.002 ),
348  minNumberLayers = 3,
349  maxNumberLostLayers = 2,
350  minNumber3DLayers = 3,
351  d0_par1 = ( 0.7, 4.0 ),
352  dz_par1 = ( 0.7, 4.0 ),
353  d0_par2 = ( 0.6, 4.0 ),
354  dz_par2 = ( 0.6, 4.0 )
355  ), #end of pset
356  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
357  name = 'lowPtTripletStepTight',
358  preFilterName = 'lowPtTripletStepLoose',
359  chi2n_par = 0.7,
360  res_par = ( 0.003, 0.002 ),
361  minNumberLayers = 3,
362  maxNumberLostLayers = 2,
363  minNumber3DLayers = 3,
364  d0_par1 = ( 0.6, 4.0 ),
365  dz_par1 = ( 0.6, 4.0 ),
366  d0_par2 = ( 0.5, 4.0 ),
367  dz_par2 = ( 0.5, 4.0 )
368  ),
369  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
370  name = 'lowPtTripletStep',
371  preFilterName = 'lowPtTripletStepTight',
372  min_eta = -4.0,
373  max_eta = 4.0,
374  chi2n_par = 0.4,
375  res_par = ( 0.003, 0.001 ),
376  min_nhits = 3,
377  minNumberLayers = 4,
378  maxNumberLostLayers = 2,
379  minNumber3DLayers = 4,
380  d0_par1 = ( 0.5, 4.0 ),
381  dz_par1 = ( 0.5, 4.0 ),
382  d0_par2 = ( 0.45, 4.0 ),
383  dz_par2 = ( 0.45, 4.0 )
384  ),
385  ), #end of vpset
386 ) #end of clone
387 
388 
389 from Configuration.ProcessModifiers.vectorHits_cff import vectorHits
390 vectorHits.toModify(lowPtTripletStepSelector.trackSelectors[2], minNumberLayers = 3, minNumber3DLayers = 3)
391 
392 
393 # Final sequence
394 LowPtTripletStepTask = cms.Task(lowPtTripletStepClusters,
395  lowPtTripletStepSeedLayers,
396  lowPtTripletStepTrackingRegions,
397  lowPtTripletStepHitDoublets,
398  lowPtTripletStepHitTriplets,
399  lowPtTripletStepSeeds,
400  lowPtTripletStepTrackCandidates,
401  lowPtTripletStepTracks,
402  lowPtTripletStep)
403 LowPtTripletStep = cms.Sequence(LowPtTripletStepTask)
404 
405 _LowPtTripletStepTask_trackingMkFit = LowPtTripletStepTask.copy()
406 _LowPtTripletStepTask_trackingMkFit.add(lowPtTripletStepTrackCandidatesMkFitSeeds, lowPtTripletStepTrackCandidatesMkFit)
407 trackingMkFitLowPtTripletStep.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_trackingMkFit)
408 
409 _LowPtTripletStepTask_LowPU_Phase2PU140 = LowPtTripletStepTask.copy()
410 _LowPtTripletStepTask_LowPU_Phase2PU140.replace(lowPtTripletStep, lowPtTripletStepSelector)
411 trackingLowPU.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
412 
413 trackingPhase2PU140.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
414 #fastsim
415 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi import maskProducerFromClusterRemover
416 lowPtTripletStepMasks = maskProducerFromClusterRemover(lowPtTripletStepClusters)
417 fastSim.toReplaceWith(LowPtTripletStepTask,
418  cms.Task(lowPtTripletStepMasks
419  ,lowPtTripletStepTrackingRegions
420  ,lowPtTripletStepSeeds
421  ,lowPtTripletStepTrackCandidates
422  ,lowPtTripletStepTracks
423  ,lowPtTripletStep
424  ))
TrajectoryFilter_cff
GroupedCkfTrajectoryBuilder_cfi
ClusterShapeTrajectoryFilter_cfi
ClusterShapeHitFilterESProducer_cfi
SeedingMigration._hitSetProducerToFactoryPSet
def _hitSetProducerToFactoryPSet(producer)
Definition: SeedingMigration.py:10
FastTrackerRecHitMaskProducer_cfi.maskProducerFromClusterRemover
def maskProducerFromClusterRemover(clusterRemover)
Definition: FastTrackerRecHitMaskProducer_cfi.py:11
globalTrackingRegionWithVertices_cff
clone
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
PixelLayerTriplets_cfi
TRIGGER SELECTION #####.
TrackTfClassifier_cfi
TrackProducer_cfi
trackingMkFitLowPtTripletStep_cff
TrackMVAClassifierPrompt_cfi
TrajectoryCleanerBySharedHits_cfi
CkfTrackCandidates_cfi
trackSelectionTf_cfi