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 
9 # NEW CLUSTERS (remove previously used clusters)
10 lowPtTripletStepClusters = _cfg.clusterRemoverForIter("LowPtTripletStep")
11 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
12  _era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter("LowPtTripletStep", _eraName, _postfix))
13 
14 # SEEDING LAYERS
16 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
17 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
18 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
19 _layerListForPhase1 = [
20  'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
21  'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
22  'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg',
23  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
24  'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg',
25  'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
26  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
27  'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
28  'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
29  'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg',
30  'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg'
31 ]
32 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
33 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
34 
35 # combination with gap removed as only source of fakes in current geometry (kept for doc,=)
36 _layerListForPhase2 = ['BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
37 # 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
38  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
39  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
40 # 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
41  'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
42 # 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg',
43  'FPix2_pos+FPix3_pos+FPix4_pos', 'FPix2_neg+FPix3_neg+FPix4_neg',
44  'FPix3_pos+FPix4_pos+FPix5_pos', 'FPix3_neg+FPix4_neg+FPix5_neg',
45  'FPix4_pos+FPix5_pos+FPix6_pos', 'FPix4_neg+FPix5_neg+FPix6_neg',
46 # removed as redunant and covering effectively only eta>4 (here for documentation, to be optimized after TDR)
47 # 'FPix5_pos+FPix6_pos+FPix7_pos', 'FPix5_neg+FPix6_neg+FPix7_neg',
48 # 'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg'
49 ]
50 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
51 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
52 
53 # TrackingRegion
54 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
55 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
56  ptMin = 0.2,
57  originRadius = 0.02,
58  nSigmaZ = 4.0
59 ))
60 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.2))
61 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.40))
62 
63 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
64 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
65 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
66 (pp_on_XeXe_2017 | pp_on_AA_2018).toReplaceWith(lowPtTripletStepTrackingRegions,
67  _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
68  useFixedError = False,
69  ptMin = 0.49,
70  originRadius = 0.02
71  )
72  )
73 )
74 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
75 highBetaStar_2018.toModify(lowPtTripletStepTrackingRegions,RegionPSet = dict(
76  ptMin = 0.05,
77  originRadius = 0.2,
78 ))
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 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
134  trackingRegions = "lowPtTripletStepTrackingRegions",
135  hitMasks = cms.InputTag("lowPtTripletStepMasks"),
136 )
137 
138 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
139 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(lowPtTripletStepHitTriplets)
140 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName = "none"
141 _fastSim_lowPtTripletStepSeeds.seedFinderSelector.layerList = lowPtTripletStepSeedLayers.layerList.value()
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 for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
177  e.toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.49)
178 
180 # Composite filter
181 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
182  filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
183  # cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))
184  ]
185  )
186 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
187  filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
188 )
189 
190 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
191  minimumNumberOfHits = 4,
192  seedExtension = 1,
193  strictSeedExtension = False, # allow inactive
194  pixelSeedExtension = False,
195 )
196 
197 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
198 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
199  ComponentName = cms.string('lowPtTripletStepChi2Est'),
200  nSigma = cms.double(3.0),
201  MaxChi2 = cms.double(9.0),
202  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
203 )
204 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
205  clusterChargeCut = dict(refToPSet_ = "SiStripClusterChargeCutTiny")
206 )
207 
208 # TRACK BUILDING
210 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
211  MeasurementTrackerName = '',
212  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
213  maxCand = 4,
214  estimator = cms.string('lowPtTripletStepChi2Est'),
215  maxDPhiForLooperReconstruction = cms.double(2.0),
216  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
217  # of the outermost Tracker barrel layer (with B=3.8T)
218  maxPtForLooperReconstruction = cms.double(0.7)
219  )
220 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
221 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
222  inOutTrajectoryFilter = dict(refToPSet_ = "lowPtTripletStepTrajectoryFilterInOut"),
223  useSameTrajFilter = False,
224  maxCand = 3,
225 )
226 
227 # MAKING OF TRACK CANDIDATES
229 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
230  src = cms.InputTag('lowPtTripletStepSeeds'),
231  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
232  numHitsForSeedCleaner = cms.int32(50),
233  onlyPixelHitsForSeedCleaner = cms.bool(True),
234 
235  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')),
236  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
237  doSeedingRegionRebuilding = True,
238  useHitsSplitting = True,
239  TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
240 )
241 
242 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
243  clustersToSkip = None,
244  phase2clustersToSkip = cms.InputTag("lowPtTripletStepClusters")
245 )
246 
247 import FastSimulation.Tracking.TrackCandidateProducer_cfi
248 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
249  FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
250  src = cms.InputTag("lowPtTripletStepSeeds"),
251  MinNumberOfCrossedLayers = 3,
252  hitMasks = cms.InputTag("lowPtTripletStepMasks"))
253 )
254 
255 # TRACK FITTING
257 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
258  src = 'lowPtTripletStepTrackCandidates',
259  AlgorithmName = cms.string('lowPtTripletStep'),
260  Fitter = cms.string('FlexibleKFFittingSmoother')
261  )
262 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder = 'WithoutRefit')
263 
264 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
265 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
266  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
267  fractionShared = cms.double(0.16),
268  allowSharedFirstHit = cms.bool(True)
269  )
270 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
271 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
272 
273 # Final selection
275 lowPtTripletStep = TrackMVAClassifierPrompt.clone()
276 lowPtTripletStep.src = 'lowPtTripletStepTracks'
277 lowPtTripletStep.mva.GBRForestLabel = 'MVASelectorIter1_13TeV'
278 lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1]
279 
280 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
281  mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'),
282  qualityCuts = [-0.4,0.0,0.3],
283 ))
284 
287 trackdnn.toReplaceWith(lowPtTripletStep, TrackLwtnnClassifier.clone(
288  src = 'lowPtTripletStepTracks',
289  qualityCuts = [0.2, 0.5, 0.8]
290 ))
291 
292 highBetaStar_2018.toModify(lowPtTripletStep,qualityCuts = [-0.7,-0.3,-0.1])
293 pp_on_AA_2018.toModify(lowPtTripletStep,
294  mva = dict(GBRForestLabel = 'HIMVASelectorLowPtTripletStep_Phase1'),
295  qualityCuts = [-0.8, -0.4, 0.5],
296 )
297 fastSim.toModify(lowPtTripletStep, vertices = "firstStepPrimaryVerticesBeforeMixing")
298 
299 # For LowPU and Phase2PU140
300 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
301 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
302  src = 'lowPtTripletStepTracks',
303  useAnyMVA = cms.bool(False),
304  GBRForestLabel = cms.string('MVASelectorIter1'),
305  trackSelectors= [
306  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
307  name = 'lowPtTripletStepLoose',
308  ), #end of pset
309  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
310  name = 'lowPtTripletStepTight',
311  preFilterName = 'lowPtTripletStepLoose',
312  ),
313  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
314  name = 'QualityMasks',
315  preFilterName = 'lowPtTripletStepTight',
316  ),
317  ] #end of vpset
318 ) #end of clone
319 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
320  useAnyMVA = None,
321  GBRForestLabel = None,
322  trackSelectors= cms.VPSet(
323  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
324  name = 'lowPtTripletStepLoose',
325  chi2n_par = 1.2,
326  res_par = ( 0.003, 0.002 ),
327  minNumberLayers = 3,
328  maxNumberLostLayers = 2,
329  minNumber3DLayers = 3,
330  d0_par1 = ( 0.7, 4.0 ),
331  dz_par1 = ( 0.7, 4.0 ),
332  d0_par2 = ( 0.6, 4.0 ),
333  dz_par2 = ( 0.6, 4.0 )
334  ), #end of pset
335  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
336  name = 'lowPtTripletStepTight',
337  preFilterName = 'lowPtTripletStepLoose',
338  chi2n_par = 0.7,
339  res_par = ( 0.003, 0.002 ),
340  minNumberLayers = 3,
341  maxNumberLostLayers = 2,
342  minNumber3DLayers = 3,
343  d0_par1 = ( 0.6, 4.0 ),
344  dz_par1 = ( 0.6, 4.0 ),
345  d0_par2 = ( 0.5, 4.0 ),
346  dz_par2 = ( 0.5, 4.0 )
347  ),
348  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
349  name = 'lowPtTripletStep',
350  preFilterName = 'lowPtTripletStepTight',
351  chi2n_par = 0.4,
352  res_par = ( 0.003, 0.001 ),
353  min_nhits = 3,
354  minNumberLayers = 4,
355  maxNumberLostLayers = 2,
356  minNumber3DLayers = 4,
357  d0_par1 = ( 0.5, 4.0 ),
358  dz_par1 = ( 0.5, 4.0 ),
359  d0_par2 = ( 0.45, 4.0 ),
360  dz_par2 = ( 0.45, 4.0 )
361  ),
362  ), #end of vpset
363 ) #end of clone
364 
365 
366 
367 # Final sequence
368 LowPtTripletStepTask = cms.Task(lowPtTripletStepClusters,
369  lowPtTripletStepSeedLayers,
370  lowPtTripletStepTrackingRegions,
371  lowPtTripletStepHitDoublets,
372  lowPtTripletStepHitTriplets,
373  lowPtTripletStepSeeds,
374  lowPtTripletStepTrackCandidates,
375  lowPtTripletStepTracks,
376  lowPtTripletStep)
377 LowPtTripletStep = cms.Sequence(LowPtTripletStepTask)
378 
379 _LowPtTripletStepTask_LowPU_Phase2PU140 = LowPtTripletStepTask.copy()
380 _LowPtTripletStepTask_LowPU_Phase2PU140.replace(lowPtTripletStep, lowPtTripletStepSelector)
381 trackingLowPU.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
382 
383 trackingPhase2PU140.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
384 #fastsim
385 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi import maskProducerFromClusterRemover
386 lowPtTripletStepMasks = maskProducerFromClusterRemover(lowPtTripletStepClusters)
387 fastSim.toReplaceWith(LowPtTripletStepTask,
388  cms.Task(lowPtTripletStepMasks
389  ,lowPtTripletStepTrackingRegions
390  ,lowPtTripletStepSeeds
391  ,lowPtTripletStepTrackCandidates
392  ,lowPtTripletStepTracks
393  ,lowPtTripletStep
394  ))
COSMIC RUN SETTING.
def _hitSetProducerToFactoryPSet(producer)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135