CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TobTecStep_cff.py
Go to the documentation of this file.
2 
3 #######################################################################
4 # Very large impact parameter tracking using TOB + TEC ring 5 seeding #
5 #######################################################################
6 
7 # REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
8 
9 fourthfilter = cms.EDProducer("QualityFilter",
10  TrackQuality = cms.string('highPurity'),
11  recTracks = cms.InputTag("pixellessStep")
12 )
13 
14 fifthClusters = cms.EDProducer("TrackClusterRemover",
15  oldClusterRemovalInfo = cms.InputTag("fourthClusters"),
16  trajectories = cms.InputTag("fourthfilter"),
17  pixelClusters = cms.InputTag("fourthClusters"),
18  stripClusters = cms.InputTag("fourthClusters"),
19  Common = cms.PSet(
20  maxChi2 = cms.double(30.0)
21  )
22 
23 # For debug purposes, you can run this iteration not eliminating any hits from previous ones by
24 # instead using
25 # trajectories = cms.InputTag("zeroStepFilter"),
26 # pixelClusters = cms.InputTag("siPixelClusters"),
27 # stripClusters = cms.InputTag("siStripClusters"),
28 # Common = cms.PSet(
29 # maxChi2 = cms.double(0.0)
30 # )
31 )
32 
33 # TRACKER HITS
36 fifthPixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.siPixelRecHits.clone(
37  src = 'fifthClusters'
38  )
39 fifthStripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
40  ClusterProducer = 'fifthClusters'
41  )
42 
43 # SEEDING LAYERS
44 fifthlayerpairs = cms.ESProducer("SeedingLayersESProducer",
45  ComponentName = cms.string('fifthlayerPairs'),
46 
47  layerList = cms.vstring('TOB1+TOB2',
48  'TOB1+TEC1_pos', 'TOB1+TEC1_neg',
49  'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos',
50  'TEC3_pos+TEC4_pos', 'TEC4_pos+TEC5_pos',
51  'TEC5_pos+TEC6_pos', 'TEC6_pos+TEC7_pos',
52  'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg',
53  'TEC3_neg+TEC4_neg', 'TEC4_neg+TEC5_neg',
54  'TEC5_neg+TEC6_neg', 'TEC6_neg+TEC7_neg'),
55 
56  TOB = cms.PSet(
57  matchedRecHits = cms.InputTag("fifthStripRecHits","matchedRecHit"),
58  TTRHBuilder = cms.string('WithTrackAngle')
59  ),
60 
61  TEC = cms.PSet(
62  matchedRecHits = cms.InputTag("fifthStripRecHits","matchedRecHit"),
63  # untracked bool useSimpleRphiHitsCleaner = false
64  useRingSlector = cms.bool(True),
65  TTRHBuilder = cms.string('WithTrackAngle'),
66  minRing = cms.int32(5),
67  maxRing = cms.int32(5)
68  )
69 )
70 # SEEDS
72 fifthSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
73 fifthSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'fifthlayerPairs'
74 fifthSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
75 fifthSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 30.0
76 fifthSeeds.RegionFactoryPSet.RegionPSet.originRadius = 6.0
77 fifthSeeds.ClusterCheckPSet.PixelClusterCollectionLabel = 'fifthClusters'
78 fifthSeeds.ClusterCheckPSet.ClusterCollectionLabel = 'fifthClusters'
79 
80 
81 # TRACKER DATA CONTROL
83 fifthMeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
84  ComponentName = 'fifthMeasurementTracker',
85  pixelClusterProducer = 'fifthClusters',
86  stripClusterProducer = 'fifthClusters'
87  )
88 
89 # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
90 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
91 
92 fifthCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
93  ComponentName = 'fifthCkfTrajectoryFilter',
94  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
95  maxLostHits = 0,
96  minimumNumberOfHits = 6,
97  minPt = 0.1,
98  minHitsMinPt = 3
99  )
100  )
101 
102 fifthCkfInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
103  ComponentName = 'fifthCkfInOutTrajectoryFilter',
104  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
105  maxLostHits = 0,
106  minimumNumberOfHits = 4,
107  minPt = 0.1,
108  minHitsMinPt = 3
109  )
110  )
111 
112 # TRACK BUILDING
114 fifthCkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
115  ComponentName = 'fifthCkfTrajectoryBuilder',
116  MeasurementTrackerName = 'fifthMeasurementTracker',
117  trajectoryFilterName = 'fifthCkfTrajectoryFilter',
118  inOutTrajectoryFilterName = 'fifthCkfInOutTrajectoryFilter',
119  useSameTrajFilter = False,
120  minNrOfHitsForRebuild = 4,
121  alwaysUseInvalidHits = False
122  #startSeedHitsInRebuild = True
123  )
124 
125 # MAKING OF TRACK CANDIDATES
127 fifthTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
128  src = cms.InputTag('fifthSeeds'),
129  TrajectoryBuilder = 'fifthCkfTrajectoryBuilder',
130  doSeedingRegionRebuilding = True,
131  useHitsSplitting = True,
132  cleanTrajectoryAfterInOut = True
133  )
134 
135 # TRACK FITTING AND SMOOTHING OPTIONS
137 fifthFittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
138  ComponentName = 'fifthFittingSmootherWithOutlierRejection',
139  EstimateCut = 30,
140  MinNumberOfHits = 8,
141  Fitter = cms.string('fifthRKFitter'),
142  Smoother = cms.string('fifthRKSmoother')
143  )
144 
145 # Also necessary to specify minimum number of hits after final track fit
146 fifthRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
147  ComponentName = cms.string('fifthRKFitter'),
148  minHits = 8
149  )
150 
151 fifthRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
152  ComponentName = cms.string('fifthRKSmoother'),
153  errorRescaling = 10.0,
154  minHits = 8
155  )
156 
157 # TRACK FITTING
159 fifthWithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
160  src = 'fifthTrackCandidates',
161  clusterRemovalInfo = 'fifthClusters',
162  AlgorithmName = cms.string('iter5'),
163  Fitter = 'fifthFittingSmootherWithOutlierRejection',
164  )
165 
166 # TRACK SELECTION AND QUALITY FLAG SETTING.
167 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
168 import RecoTracker.FinalTrackSelectors.selectTight_cfi
169 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
170 
171 tobtecStepLoose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
172  src = 'fifthWithMaterialTracks',
173  keepAllTracks = False,
174  copyExtras = False,
175  copyTrajectories = True,
176  chi2n_par = 0.4,
177  res_par = ( 0.003, 0.001 ),
178  minNumberLayers = 5,
179  maxNumberLostLayers = 1,
180  minNumber3DLayers = 2,
181  d0_par1 = ( 2.0, 4.0 ),
182  dz_par1 = ( 1.8, 4.0 ),
183  d0_par2 = ( 2.0, 4.0 ),
184  dz_par2 = ( 1.8, 4.0 )
185  )
186 
187 tobtecStepTight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
188  src = 'tobtecStepLoose',
189  keepAllTracks = True,
190  copyExtras = False,
191  copyTrajectories = True,
192  chi2n_par = 0.3,
193  res_par = ( 0.003, 0.001 ),
194  minNumberLayers = 5,
195  maxNumberLostLayers = 0,
196  minNumber3DLayers = 2,
197  d0_par1 = ( 1.5, 4.0 ),
198  dz_par1 = ( 1.4, 4.0 ),
199  d0_par2 = ( 1.5, 4.0 ),
200  dz_par2 = ( 1.4, 4.0 )
201  )
202 
203 tobtecStep = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
204  src = 'tobtecStepTight',
205  keepAllTracks = True,
206  copyExtras = False,
207  copyTrajectories = True,
208  chi2n_par = 0.2,
209  res_par = ( 0.003, 0.001 ),
210  minNumberLayers = 5,
211  maxNumberLostLayers = 0,
212  minNumber3DLayers = 2,
213  d0_par1 = ( 1.4, 4.0 ),
214  dz_par1 = ( 1.3, 4.0 ),
215  d0_par2 = ( 1.4, 4.0 ),
216  dz_par2 = ( 1.3, 4.0 )
217  )
218 
219 fifthStep = cms.Sequence(fourthfilter*fifthClusters*
220  fifthPixelRecHits*fifthStripRecHits*
221  fifthSeeds*
222  fifthTrackCandidates*
223  fifthWithMaterialTracks*
224  tobtecStepLoose*
225  tobtecStepTight*
226  tobtecStep)