CMS 3D CMS Logo

PixelLessStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
3 
4 from Configuration.Eras.Modifier_fastSim_cff import fastSim
5 
6 #for dnn classifier
7 from Configuration.ProcessModifiers.trackdnn_cff import trackdnn
8 
9 
12 
13 pixelLessStepClusters = _cfg.clusterRemoverForIter('PixelLessStep')
14 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
15  _era.toReplaceWith(pixelLessStepClusters, _cfg.clusterRemoverForIter('PixelLessStep', _eraName, _postfix))
16 
17 
18 
19 # SEEDING LAYERS
21 pixelLessStepSeedLayers = cms.EDProducer('SeedingLayersEDProducer',
22  layerList = cms.vstring(
23  #TIB
24  'TIB1+TIB2+MTIB3','TIB1+TIB2+MTIB4',
25  #TIB+TID
26  'TIB1+TIB2+MTID1_pos','TIB1+TIB2+MTID1_neg',
27  #TID
28  'TID1_pos+TID2_pos+TID3_pos','TID1_neg+TID2_neg+TID3_neg',#ring 1-2 (matched)
29  'TID1_pos+TID2_pos+MTID3_pos','TID1_neg+TID2_neg+MTID3_neg',#ring 3 (mono)
30  'TID1_pos+TID2_pos+MTEC1_pos','TID1_neg+TID2_neg+MTEC1_neg',
31  #TID+TEC RING 1-3
32  'TID2_pos+TID3_pos+TEC1_pos','TID2_neg+TID3_neg+TEC1_neg',#ring 1-2 (matched)
33  'TID2_pos+TID3_pos+MTEC1_pos','TID2_neg+TID3_neg+MTEC1_neg',#ring 3 (mono)
34  #TEC RING 1-3
35  'TEC1_pos+TEC2_pos+TEC3_pos', 'TEC1_neg+TEC2_neg+TEC3_neg',
36  'TEC1_pos+TEC2_pos+MTEC3_pos','TEC1_neg+TEC2_neg+MTEC3_neg',
37  'TEC1_pos+TEC2_pos+TEC4_pos', 'TEC1_neg+TEC2_neg+TEC4_neg',
38  'TEC1_pos+TEC2_pos+MTEC4_pos','TEC1_neg+TEC2_neg+MTEC4_neg',
39  'TEC2_pos+TEC3_pos+TEC4_pos', 'TEC2_neg+TEC3_neg+TEC4_neg',
40  'TEC2_pos+TEC3_pos+MTEC4_pos','TEC2_neg+TEC3_neg+MTEC4_neg',
41  'TEC2_pos+TEC3_pos+TEC5_pos', 'TEC2_neg+TEC3_neg+TEC5_neg',
42  'TEC2_pos+TEC3_pos+TEC6_pos', 'TEC2_neg+TEC3_neg+TEC6_neg',
43  'TEC3_pos+TEC4_pos+TEC5_pos', 'TEC3_neg+TEC4_neg+TEC5_neg',
44  'TEC3_pos+TEC4_pos+MTEC5_pos','TEC3_neg+TEC4_neg+MTEC5_neg',
45  'TEC3_pos+TEC5_pos+TEC6_pos', 'TEC3_neg+TEC5_neg+TEC6_neg',
46  'TEC4_pos+TEC5_pos+TEC6_pos', 'TEC4_neg+TEC5_neg+TEC6_neg'
47  ),
48  TIB = cms.PSet(
49  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
50  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
51  skipClusters = cms.InputTag('pixelLessStepClusters')
52  ),
53  MTIB = cms.PSet(
54  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
55  skipClusters = cms.InputTag('pixelLessStepClusters'),
56  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit')
57  ),
58  TID = cms.PSet(
59  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
60  skipClusters = cms.InputTag('pixelLessStepClusters'),
61  useRingSlector = cms.bool(True),
62  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
63  minRing = cms.int32(1),
64  maxRing = cms.int32(2)
65  ),
66  MTID = cms.PSet(
67  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
68  skipClusters = cms.InputTag('pixelLessStepClusters'),
69  useRingSlector = cms.bool(True),
70  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
71  minRing = cms.int32(3),
72  maxRing = cms.int32(3)
73  ),
74  TEC = cms.PSet(
75  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
76  skipClusters = cms.InputTag('pixelLessStepClusters'),
77  useRingSlector = cms.bool(True),
78  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
79  minRing = cms.int32(1),
80  maxRing = cms.int32(2)
81  ),
82  MTEC = cms.PSet(
83  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
84  skipClusters = cms.InputTag('pixelLessStepClusters'),
85  useRingSlector = cms.bool(True),
86  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
87  minRing = cms.int32(3),
88  maxRing = cms.int32(3)
89  )
90 )
91 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
92 trackingLowPU.toModify(pixelLessStepSeedLayers,
93  layerList = [
94  'TIB1+TIB2',
95  'TID1_pos+TID2_pos','TID2_pos+TID3_pos',
96  'TEC1_pos+TEC2_pos','TEC2_pos+TEC3_pos','TEC3_pos+TEC4_pos','TEC3_pos+TEC5_pos','TEC4_pos+TEC5_pos',
97  'TID1_neg+TID2_neg','TID2_neg+TID3_neg',
98  'TEC1_neg+TEC2_neg','TEC2_neg+TEC3_neg','TEC3_neg+TEC4_neg','TEC3_neg+TEC5_neg','TEC4_neg+TEC5_neg'
99  ],
100  TIB = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
101  TID = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
102  TEC = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
103  MTIB = None,
104  MTID = None,
105  MTEC = None,
106 )
107 from Configuration.ProcessModifiers.vectorHits_cff import vectorHits
108 vectorHits.toModify(pixelLessStepSeedLayers,
109  layerList = [
110  'TOB1+TOB2', 'TOB2+TOB3',
111 # 'TOB3+TOB4', 'TOB4+TOB5',
112  'TID1_pos+TID2_pos', 'TID1_neg+TID2_neg'
113  ],
114  TOB = cms.PSet(
115  TTRHBuilder = cms.string('WithTrackAngle'),
116  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
117  vectorRecHits = cms.InputTag("siPhase2VectorHits", 'vectorHitsAccepted'),
118  skipClusters = cms.InputTag('pixelLessStepClusters')
119  ),
120  TIB = None,
121  TID = dict(
122  clusterChargeCut = dict(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
123  vectorRecHits = cms.InputTag("siPhase2VectorHits", 'accepted'),
124  maxRing = cms.int32(8)
125  ),
126  TEC = None,
127  MTIB = None,
128  MTID = None,
129  MTEC = None,
130 )
131 # TrackingRegion
132 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
133 pixelLessStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
134  ptMin = 0.4,
135  originHalfLength = 12.0,
136  originRadius = 1.0
137 ))
138 trackingLowPU.toModify(pixelLessStepTrackingRegions, RegionPSet = dict(
139  ptMin = 0.7,
140  originHalfLength = 10.0,
141  originRadius = 2.0,
142 ))
143 
144 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
145 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
146 from RecoTracker.IterativeTracking.MixedTripletStep_cff import _mixedTripletStepTrackingRegionsCommon_pp_on_HI
147 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(pixelLessStepTrackingRegions,
148  _mixedTripletStepTrackingRegionsCommon_pp_on_HI.clone(RegionPSet=dict(
149  ptMinScaling4BigEvts = False,
150  fixedError = 3.0,
151  ptMin = 2.0,
152  originRadius = 1.0 )
153  )
154 )
155 
156 
157 # seeding
158 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import ClusterShapeHitFilterESProducer as _ClusterShapeHitFilterESProducer
159 pixelLessStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
160  ComponentName = 'pixelLessStepClusterShapeHitFilter',
161  doStripShapeCut = cms.bool(False),
162  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight')
163 )
164 
165 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
166 pixelLessStepHitDoublets = _hitPairEDProducer.clone(
167  seedingLayers = 'pixelLessStepSeedLayers',
168  trackingRegions = 'pixelLessStepTrackingRegions',
169  maxElement = 50000000,
170  produceIntermediateHitDoublets = True,
171 )
172 from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer
173 pixelLessStepHitTriplets = _multiHitFromChi2EDProducer.clone(
174  doublets = 'pixelLessStepHitDoublets',
175 )
176 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
177 from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter
178 pixelLessStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
179  seedingHitSets = 'pixelLessStepHitTriplets',
180  SeedComparitorPSet = dict(
181  ComponentName = 'CombinedSeedComparitor',
182  mode = cms.string('and'),
183  comparitors = cms.VPSet(
184  cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
185  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
186  FilterAtHelixStage = cms.bool(True),
187  FilterPixelHits = cms.bool(False),
188  FilterStripHits = cms.bool(True),
189  ClusterShapeHitFilterName = cms.string('pixelLessStepClusterShapeHitFilter'),
190  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache') # not really needed here since FilterPixelHits=False
191  ),
192  _StripSubClusterShapeSeedFilter.clone()
193  )
194  )
195 )
196 trackingLowPU.toModify(pixelLessStepHitDoublets, produceSeedingHitSets=True, produceIntermediateHitDoublets=False)
197 trackingLowPU.toModify(pixelLessStepSeeds,
198  seedingHitSets = 'pixelLessStepHitDoublets',
199  SeedComparitorPSet = dict(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
200  ComponentName = 'PixelClusterShapeSeedComparitor',
201  FilterAtHelixStage = cms.bool(True),
202  FilterPixelHits = cms.bool(False),
203  FilterStripHits = cms.bool(True),
204  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
205  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache') # not really needed here since FilterPixelHits=False
206  )
207 )
208 #fastsim
209 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
210 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
211 _fastSim_pixelLessStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
212  trackingRegions = 'pixelLessStepTrackingRegions',
213  hitMasks = cms.InputTag('pixelLessStepMasks'),
214  seedFinderSelector = dict( MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet(pixelLessStepHitTriplets).clone(
215  refitHits = False),
216  layerList = pixelLessStepSeedLayers.layerList.value()
217 ))
218 fastSim.toReplaceWith(pixelLessStepSeeds,_fastSim_pixelLessStepSeeds)
219 
220 vectorHits.toModify(pixelLessStepHitDoublets, produceSeedingHitSets=True, produceIntermediateHitDoublets=False)
221 vectorHits.toModify(pixelLessStepSeeds,
222  seedingHitSets = "pixelLessStepHitDoublets",
223  SeedComparitorPSet = dict(
224  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
225  FilterAtHelixStage = cms.bool(False),
226  FilterStripHits = cms.bool(False),
227  )
228 )
229 
230 # QUALITY CUTS DURING TRACK BUILDING
232 _pixelLessStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
233  maxLostHits = 0,
234  minimumNumberOfHits = 4,
235  minPt = 0.1
236 )
237 pixelLessStepTrajectoryFilter = _pixelLessStepTrajectoryFilterBase.clone(
238  seedPairPenalty = 1,
239 )
240 trackingLowPU.toReplaceWith(pixelLessStepTrajectoryFilter, _pixelLessStepTrajectoryFilterBase)
241 (pp_on_XeXe_2017 | pp_on_AA).toModify(pixelLessStepTrajectoryFilter, minPt=2.0)
242 
243 vectorHits.toReplaceWith(pixelLessStepTrajectoryFilter, _pixelLessStepTrajectoryFilterBase)
244 vectorHits.toModify(pixelLessStepTrajectoryFilter, minimumNumberOfHits = 4, maxLostHits = 1)
245 
246 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
247 pixelLessStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
248  ComponentName = 'pixelLessStepChi2Est',
249  nSigma = 3.0,
250  MaxChi2 = 16.0,
251  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
252 )
253 trackingLowPU.toModify(pixelLessStepChi2Est,
254  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
255 )
256 
257 vectorHits.toModify(pixelLessStepChi2Est,
258  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutNone'),
259  MaxChi2 = 30.0
260 )
261 
262 # TRACK BUILDING
264 pixelLessStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
265  MeasurementTrackerName = '',
266  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('pixelLessStepTrajectoryFilter')),
267  minNrOfHitsForRebuild = 4,
268  maxCand = 2,
269  alwaysUseInvalidHits = False,
270  estimator = 'pixelLessStepChi2Est',
271  maxDPhiForLooperReconstruction = cms.double(2.0),
272  maxPtForLooperReconstruction = cms.double(0.7)
273 )
274 
275 # MAKING OF TRACK CANDIDATES
277 pixelLessStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
278  src = 'pixelLessStepSeeds',
279  clustersToSkip = cms.InputTag('pixelLessStepClusters'),
280 
281  numHitsForSeedCleaner = cms.int32(50),
282  #onlyPixelHitsForSeedCleaner = cms.bool(True),
283  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('pixelLessStepTrajectoryBuilder')),
284  TrajectoryCleaner = 'pixelLessStepTrajectoryCleanerBySharedHits'
285 )
286 import FastSimulation.Tracking.TrackCandidateProducer_cfi
287 fastSim.toReplaceWith(pixelLessStepTrackCandidates,
288  FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
289  src = 'pixelLessStepSeeds',
290  MinNumberOfCrossedLayers = 6, # ?
291  hitMasks = cms.InputTag('pixelLessStepMasks')
292  )
293 )
294 
295 vectorHits.toModify(pixelLessStepTrackCandidates,
296  phase2clustersToSkip = cms.InputTag('pixelLessStepClusters'),
297  clustersToSkip = None
298 )
299 
300 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
301 pixelLessStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
302  ComponentName = 'pixelLessStepTrajectoryCleanerBySharedHits',
303  fractionShared = 0.11,
304  allowSharedFirstHit = True
305 )
306 trackingLowPU.toModify(pixelLessStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
307 
308 
309 # TRACK FITTING
311 pixelLessStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
312  src = 'pixelLessStepTrackCandidates',
313  AlgorithmName = 'pixelLessStep',
314  Fitter = 'FlexibleKFFittingSmoother'
315 )
316 fastSim.toModify(pixelLessStepTracks, TTRHBuilder = 'WithoutRefit')
317 
318 
319 # TRACK SELECTION AND QUALITY FLAG SETTING.
322 pixelLessStepClassifier1 = TrackMVAClassifierPrompt.clone(
323  src = 'pixelLessStepTracks',
324  mva = dict(GBRForestLabel = 'MVASelectorIter5_13TeV'),
325  qualityCuts = [-0.4,0.0,0.4]
326 )
327 fastSim.toModify(pixelLessStepClassifier1, vertices = 'firstStepPrimaryVerticesBeforeMixing' )
328 
329 pixelLessStepClassifier2 = TrackMVAClassifierPrompt.clone(
330  src = 'pixelLessStepTracks',
331  mva = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
332  qualityCuts = [-0.0,0.0,0.0]
333 )
334 fastSim.toModify(pixelLessStepClassifier2, vertices = 'firstStepPrimaryVerticesBeforeMixing' )
335 
337 pixelLessStep = ClassifierMerger.clone(
338  inputClassifiers=['pixelLessStepClassifier1','pixelLessStepClassifier2']
339 )
340 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
341 
342 trackingPhase1.toReplaceWith(pixelLessStep, pixelLessStepClassifier1.clone(
343  mva = dict(GBRForestLabel = 'MVASelectorPixelLessStep_Phase1'),
344  qualityCuts = [-0.4,0.0,0.4]
345 ))
346 
349 trackdnn.toReplaceWith(pixelLessStep, TrackLwtnnClassifier.clone(
350  src = 'pixelLessStepTracks',
351  qualityCuts = [-0.6, -0.05, 0.5]
352 ))
353 (trackdnn & fastSim).toModify(pixelLessStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
354 
355 pp_on_AA.toModify(pixelLessStep, qualityCuts = [-0.4,0.0,0.8])
356 
357 # For LowPU
358 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
359 pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
360  src='pixelLessStepTracks',
361  useAnyMVA = cms.bool(False),
362  GBRForestLabel = cms.string('MVASelectorIter5'),
363  trackSelectors = cms.VPSet(
364  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
365  name = 'pixelLessStepLoose',
366  chi2n_par = 0.5,
367  res_par = ( 0.003, 0.001 ),
368  minNumberLayers = 4,
369  maxNumberLostLayers = 1,
370  minNumber3DLayers = 3,
371  d0_par1 = ( 1.3, 4.0 ),
372  dz_par1 = ( 1.3, 4.0 ),
373  d0_par2 = ( 1.3, 4.0 ),
374  dz_par2 = ( 1.3, 4.0 )
375  ),
376  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
377  name = 'pixelLessStepTight',
378  preFilterName = 'pixelLessStepLoose',
379  chi2n_par = 0.35,
380  res_par = ( 0.003, 0.001 ),
381  minNumberLayers = 4,
382  maxNumberLostLayers = 0,
383  minNumber3DLayers = 3,
384  d0_par1 = ( 1.1, 4.0 ),
385  dz_par1 = ( 1.1, 4.0 ),
386  d0_par2 = ( 1.1, 4.0 ),
387  dz_par2 = ( 1.1, 4.0 )
388  ),
389  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
390  name = 'QualityMasks',
391  preFilterName = 'pixelLessStepTight',
392  chi2n_par = 0.2,
393  res_par = ( 0.003, 0.001 ),
394  minNumberLayers = 4,
395  maxNumberLostLayers = 0,
396  minNumber3DLayers = 3,
397  d0_par1 = ( 0.9, 4.0 ),
398  dz_par1 = ( 0.9, 4.0 ),
399  d0_par2 = ( 0.9, 4.0 ),
400  dz_par2 = ( 0.9, 4.0 )
401  ),
402  ),
403  vertices = 'pixelVertices'#end of vpset
404 ) #end of clone
405 
406 vectorHits.toModify(pixelLessStepSelector,
407  GBRForestLabel = None,
408  useAnyMVA = None,
409  trackSelectors= cms.VPSet(
410  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
411  name = 'pixelLessStepLoose',
412  chi2n_par = 1.0,
413  res_par = ( 0.003, 0.001 ),
414  minNumberLayers = 0,
415  maxNumberLostLayers = 1,
416  minNumber3DLayers = 0,
417  d0_par1 = ( 0.9, 4.0 ),
418  dz_par1 = ( 0.9, 4.0 ),
419  d0_par2 = ( 1.0, 4.0 ),
420  dz_par2 = ( 1.0, 4.0 )
421  ),
422  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
423  name = 'pixelLessStepTight',
424  preFilterName = 'pixelLessStepLoose',
425  chi2n_par = 0.35,
426  res_par = ( 0.003, 0.001 ),
427  minNumberLayers = 4,
428  maxNumberLostLayers = 0,
429  minNumber3DLayers = 3,
430  d0_par1 = ( 1.1, 4.0 ),
431  dz_par1 = ( 1.1, 4.0 ),
432  d0_par2 = ( 1.1, 4.0 ),
433  dz_par2 = ( 1.1, 4.0 )
434  ),
435  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
436  name = 'QualityMasks',
437  preFilterName = 'pixelLessStepTight',
438  chi2n_par = 0.2,
439  res_par = ( 0.003, 0.001 ),
440  minNumberLayers = 1,
441  maxNumberLostLayers = 2,
442  minNumber3DLayers = 0,
443  d0_par1 = ( 100., 4.0 ),
444  dz_par1 = ( 100., 4.0 ),
445  d0_par2 = ( 100., 4.0 ),
446  dz_par2 = ( 100., 4.0 )
447  ),
448  ),
449  vertices = 'firstStepPrimaryVertices'
450 )
451 
452 vectorHits.toModify(pixelLessStepSelector.trackSelectors[2], name = 'pixelLessStep')
453 
454 
455 PixelLessStepTask = cms.Task(pixelLessStepClusters,
456  pixelLessStepSeedLayers,
457  pixelLessStepTrackingRegions,
458  pixelLessStepHitDoublets,
459  pixelLessStepHitTriplets,
460  pixelLessStepSeeds,
461  pixelLessStepTrackCandidates,
462  pixelLessStepTracks,
463  pixelLessStepClassifier1,pixelLessStepClassifier2,
464  pixelLessStep)
465 PixelLessStep = cms.Sequence(PixelLessStepTask)
466 
467 _PixelLessStepTask_LowPU = PixelLessStepTask.copyAndExclude([pixelLessStepHitTriplets, pixelLessStepClassifier1, pixelLessStepClassifier2])
468 _PixelLessStepTask_LowPU.replace(pixelLessStep, pixelLessStepSelector)
469 trackingLowPU.toReplaceWith(PixelLessStepTask, _PixelLessStepTask_LowPU)
470 #fastsim
471 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi import maskProducerFromClusterRemover
472 pixelLessStepMasks = maskProducerFromClusterRemover(pixelLessStepClusters)
473 fastSim.toReplaceWith(PixelLessStepTask,
474  cms.Task(pixelLessStepMasks
475  ,pixelLessStepTrackingRegions
476  ,pixelLessStepSeeds
477  ,pixelLessStepTrackCandidates
478  ,pixelLessStepTracks
479  ,pixelLessStepClassifier1,pixelLessStepClassifier2
480  ,pixelLessStep
481  )
482 )
484 from RecoTracker.TkSeedGenerator.SeedingOTEDProducer_cfi import SeedingOTEDProducer as _SeedingOTEDProducer
485 pixelLessStepSeeds_vectorHits = _SeedingOTEDProducer.clone()
486 
487 _PixelLessStepTask_vectorHits = cms.Task(siPhase2VectorHits,
488  pixelLessStepClusters,
489  pixelLessStepSeeds,
490  pixelLessStepTrackCandidates,
491  pixelLessStepTracks,
492  pixelLessStepSelector)
493 _PixelLessStep_vectorHits = cms.Sequence(_PixelLessStepTask_vectorHits)
494 vectorHits.toReplaceWith(pixelLessStepSeeds,pixelLessStepSeeds_vectorHits)
495 vectorHits.toReplaceWith(PixelLessStepTask, _PixelLessStepTask_vectorHits)
496 vectorHits.toReplaceWith(PixelLessStep, _PixelLessStep_vectorHits)
TrajectoryFilter_cff
TrackLwtnnClassifier_cfi
GroupedCkfTrajectoryBuilder_cfi
MixedTripletStep_cff
ClusterShapeHitFilterESProducer_cfi
SeedingMigration._hitSetProducerToFactoryPSet
def _hitSetProducerToFactoryPSet(producer)
Definition: SeedingMigration.py:10
FastTrackerRecHitMaskProducer_cfi.maskProducerFromClusterRemover
def maskProducerFromClusterRemover(clusterRemover)
Definition: FastTrackerRecHitMaskProducer_cfi.py:11
SiStripClusterChargeCut_cfi
clone
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
TrackMVAClassifierDetached_cfi
siPhase2VectorHits_cfi
trackSelectionLwtnn_cfi
ClassifierMerger_cfi
TrackProducer_cfi
TrackMVAClassifierPrompt_cfi
TrajectoryCleanerBySharedHits_cfi
CkfTrackCandidates_cfi