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