CMS 3D CMS Logo

LowPtBarrelTripletStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # for no-loopers
4 from Configuration.ProcessModifiers.trackingNoLoopers_cff import trackingNoLoopers
5 
6 # NEW CLUSTERS (remove previously used clusters)
8 lowPtBarrelTripletStepClusters = trackClusterRemover.clone(
9  maxChi2 = 9.0,
10  trajectories = 'lowPtForwardTripletStepTracks',
11  pixelClusters = 'siPixelClusters',
12  stripClusters = 'siStripClusters',
13  oldClusterRemovalInfo = 'lowPtForwardTripletStepClusters',
14  overrideTrkQuals = 'lowPtForwardTripletStepSelector:lowPtForwardTripletStep',
15  TrackQuality = 'highPurity'
16 )
17 
18 # SEEDING LAYERS
20 lowPtBarrelTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
21  BPix = dict(skipClusters = cms.InputTag('lowPtBarrelTripletStepClusters')),
22  FPix = dict(skipClusters = cms.InputTag('lowPtBarrelTripletStepClusters')),
23  layerList = ['BPix1+BPix2+BPix3']
24 )
25 
26 # SEEDS
28 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
29 lowPtBarrelTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
30  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
31  ComponentName = 'GlobalRegionProducerFromBeamSpot',
32  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
33  ptMin = 0.2,
34  originRadius = 0.03,
35  nSigmaZ = 4.0 )
36  )
37 )
38 lowPtBarrelTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtBarrelTripletStepSeedLayers'
39 
41 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
42 lowPtBarrelTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
43 
44 
45 # QUALITY CUTS DURING TRACK BUILDING
47 lowPtBarrelTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
48  #maxLostHits = 3, # use LostHitFraction filter instead
49  minimumNumberOfHits = 3,
50  minPt = 0.1
51 )
52 
54 lowPtBarrelTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
55  ComponentName = 'lowPtBarrelTripletStepChi2Est',
56  nSigma = 3.0,
57  MaxChi2 = 9.0
58 )
59 
60 # TRACK BUILDING
62 lowPtBarrelTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
63  trajectoryFilter = dict(refToPSet_ = 'lowPtBarrelTripletStepTrajectoryFilter'),
64  clustersToSkip = 'lowPtBarrelTripletStepClusters',
65  maxCand = 3,
66  #lostHitPenalty = 10.,
67  estimator = 'lowPtBarrelTripletStepChi2Est',
68  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
69  # of the outermost Tracker barrel layer (with B=3.8T)
70  maxPtForLooperReconstruction = 0.63,
71  # set the variable to a negative value to turn-off the looper reconstruction
72  #maxPtForLooperReconstruction = -1.,
73 )
74 trackingNoLoopers.toModify(lowPtBarrelTripletStepTrajectoryBuilder,
75  maxPtForLooperReconstruction = 0.0)
76 # MAKING OF TRACK CANDIDATES
78 lowPtBarrelTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
79  src = 'lowPtBarrelTripletStepSeeds',
80 
81  numHitsForSeedCleaner = 50,
82  onlyPixelHitsForSeedCleaner = True,
83  TrajectoryBuilderPSet = dict(refToPSet_ = 'lowPtBarrelTripletStepTrajectoryBuilder'),
84  doSeedingRegionRebuilding = True,
85  useHitsSplitting = True,
86  TransientInitialStateEstimatorParameters = cms.PSet(
87  propagatorAlongTISE = 'PropagatorWithMaterialForLoopers',
88  propagatorOppositeTISE = 'PropagatorWithMaterialForLoopersOpposite',
89  numberMeasurementsForFit = 4,
90  )
91 )
92 
93 
95 
96 # TRACK FITTING
98 lowPtBarrelTripletStepKFTrajectoryFitter = TrackingTools.TrackFitters.KFTrajectoryFitter_cfi.KFTrajectoryFitter.clone(
99  ComponentName = 'lowPtBarrelTripletStepKFTrajectoryFitter',
100  Propagator = 'PropagatorWithMaterialForLoopers'
101 )
102 
104 lowPtBarrelTripletStepKFTrajectorySmoother = TrackingTools.TrackFitters.KFTrajectorySmoother_cfi.KFTrajectorySmoother.clone(
105  ComponentName = 'lowPtBarrelTripletStepKFTrajectorySmoother',
106  Propagator = 'PropagatorWithMaterialForLoopers',
107  errorRescaling = 10.0
108 )
109 
111 lowPtBarrelTripletStepKFFittingSmoother = TrackingTools.TrackFitters.KFFittingSmoother_cfi.KFFittingSmoother.clone(
112  ComponentName = 'lowPtBarrelTripletStepKFFittingSmoother',
113  Fitter = 'lowPtBarrelTripletStepKFTrajectoryFitter',
114  Smoother = 'lowPtBarrelTripletStepKFTrajectorySmoother',
115  EstimateCut = 20.0,
116  LogPixelProbabilityCut = -14.0,
117  MinNumberOfHits = 3
118 )
119 
121 lowPtBarrelTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
122  src = 'lowPtBarrelTripletStepTrackCandidates',
123  AlgorithmName = 'lowPtTripletStep',
124  Fitter = 'lowPtBarrelTripletStepKFFittingSmoother',
125  #Propagator = cms.string('PropagatorWithMaterialForLoopers'),
126  #NavigationSchool = cms.string('') ### Is the outerHitPattern filled correctly for loopers???
127 )
128 
129 
130 # Final selection
131 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
132 lowPtBarrelTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
133  src = 'lowPtBarrelTripletStepTracks',
134  trackSelectors= cms.VPSet(
135  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
136  name = 'lowPtBarrelTripletStepLoose',
137  ), #end of pset
138  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
139  name = 'lowPtBarrelTripletStepTight',
140  preFilterName = 'lowPtBarrelTripletStepLoose',
141  ),
142  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
143  name = 'lowPtBarrelTripletStep',
144  preFilterName = 'lowPtBarrelTripletStepTight',
145  ),
146  ) #end of vpset
147 ) #end of clone
148 
149 # Final sequence
150 LowPtBarrelTripletStepTask = cms.Task(lowPtBarrelTripletStepClusters,
151  lowPtBarrelTripletStepSeedLayers,
152  lowPtBarrelTripletStepSeeds,
153  lowPtBarrelTripletStepTrackCandidates,
154  lowPtBarrelTripletStepTracks,
155  lowPtBarrelTripletStepSelector)
156 LowPtBarrelTripletStep = cms.Sequence(LowPtBarrelTripletStep)
TRIGGER SELECTION #####.