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