CMS 3D CMS Logo

RecoTrackerTopBottom_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
10 from RecoTracker.SpecialSeedGenerators.CombinatorialSeedGeneratorForCosmicsP5_cff import combinatorialcosmicseedfinderP5, combinatorialcosmicseedingtripletsP5, combinatorialcosmicseedingpairsTOBP5, combinatorialcosmicseedingpairsTECposP5, combinatorialcosmicseedingpairsTECnegP5
11 from RecoTracker.SpecialSeedGenerators.SimpleCosmicBONSeeder_cff import simpleCosmicBONSeeds, simpleCosmicBONSeedingLayers
12 from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cff import globalCombinedSeeds
14 from RecoTracker.CkfPattern.CkfTrackCandidatesP5_cff import GroupedCkfTrajectoryBuilderP5
15 from RecoTracker.CkfPattern.CkfTrackCandidatesP5_cff import ckfTrackCandidatesP5
16 from RecoTracker.TrackProducer.CTFFinalFitWithMaterialP5_cff import ctfWithMaterialTracksCosmics
18 from RecoTracker.SingleTrackPattern.CosmicTrackFinderP5_cff import cosmicCandidateFinderP5
19 from RecoTracker.SingleTrackPattern.CosmicTrackFinderP5_cff import cosmictrackfinderCosmics
20 
21 
22 siPixelRecHitsTop = siPixelRecHits.clone(src = 'siPixelClustersTop')
23 siPixelRecHitsBottom = siPixelRecHits.clone(src = 'siPixelClustersBottom')
24 siStripMatchedRecHitsTop = siStripMatchedRecHits.clone(ClusterProducer = 'siStripClustersTop')
25 siStripMatchedRecHitsBottom = siStripMatchedRecHits.clone(ClusterProducer = 'siStripClustersBottom')
26 
27 from RecoLocalTracker.SubCollectionProducers.TopBottomClusterInfoProducer_cfi import topBottomClusterInfoProducer
28 topBottomClusterInfoProducerTop = topBottomClusterInfoProducer.clone()
29 topBottomClusterInfoProducerBottom = topBottomClusterInfoProducer.clone(
30  stripClustersNew = 'siStripClustersBottom',
31  pixelClustersNew = 'siPixelClustersBottom',
32  stripMonoHitsNew = 'siStripMatchedRecHitsBottom:rphiRecHit',
33  stripStereoHitsNew = 'siStripMatchedRecHitsBottom:stereoRecHit',
34  pixelHitsNew = 'siPixelRecHitsBottom'
35 )
36 
37 trackerlocalrecoTopTask = cms.Task(siPixelClustersTop,
38  siPixelRecHitsTop,
39  siStripClustersTop,
40  siStripMatchedRecHitsTop,
41  topBottomClusterInfoProducerTop)
42 trackerlocalrecoTop = cms.Sequence(trackerlocalrecoTopTask)
43 trackerlocalrecoBottomTask = cms.Task(siPixelClustersBottom,
44  siPixelRecHitsBottom,
45  siStripClustersBottom,
46  siStripMatchedRecHitsBottom,
47  topBottomClusterInfoProducerBottom)
48 trackerlocalrecoBottom = cms.Sequence(trackerlocalrecoBottomTask)
49 
50 
51 combinatorialcosmicseedingtripletsP5Top = combinatorialcosmicseedingtripletsP5.clone(
52  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
53  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit'),
54  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
55  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit'),
56  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
57  rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit')
58 )
59 
60 combinatorialcosmicseedingpairsTOBP5Top = combinatorialcosmicseedingpairsTOBP5.clone(
61  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
62  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit'),
63  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
64  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit'),
65  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
66  rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit')
67 )
68 
69 combinatorialcosmicseedingpairsTECposP5Top = combinatorialcosmicseedingpairsTECposP5.clone(
70  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
71  rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit')
72 )
73 
74 combinatorialcosmicseedingpairsTECnegP5Top = combinatorialcosmicseedingpairsTECnegP5.clone(
75  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
76  rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit')
77 )
78 
79 combinatorialcosmicseedfinderP5Top = combinatorialcosmicseedfinderP5.clone(
80  SeedsFromPositiveY = True,
81  SeedsFromNegativeY = False,
82  ClusterCollectionLabel = 'siStripClustersTop',
83  MaxNumberOfCosmicClusters = 150,
84 
85  OrderedHitsFactoryPSets = {0: dict(LayerSrc = "combinatorialcosmicseedingtripletsP5Top"),
86  1: dict(LayerSrc = "combinatorialcosmicseedingpairsTOBP5Top"),
87  2: dict(LayerSrc = "combinatorialcosmicseedingpairsTECposP5Top"),
88  3: dict(LayerSrc = "combinatorialcosmicseedingpairsTECposP5Top"),
89  4: dict(LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Top"),
90  5: dict(LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Top")
91  }
92 
93 )
94 
95 simpleCosmicBONSeedingLayersTop = simpleCosmicBONSeedingLayers.clone(
96  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
97  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit'),
98  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
99  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit'),
100  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
101  rphiRecHits = 'siStripMatchedRecHitsTop:rphiRecHit')
102 )
103 
104 simpleCosmicBONSeedsTop = simpleCosmicBONSeeds.clone(
105  PositiveYOnly = True,
106  NegativeYOnly = False,
107  ClusterCheckPSet = dict(
108  ClusterCollectionLabel = 'siStripClustersTop',
109  MaxNumberOfCosmicClusters = 150,
110  ),
111  TripletsSrc = 'simpleCosmicBONSeedingLayersTop',
112 )
113 
114 combinedP5SeedsForCTFTop = globalCombinedSeeds.clone(
115  seedCollections = ['combinatorialcosmicseedfinderP5Top',
116  'simpleCosmicBONSeedsTop']
117 )
118 
119 MeasurementTrackerTop = MeasurementTracker.clone(
120  ComponentName = 'MeasurementTrackerTop'
121 )
122 
123 GroupedCkfTrajectoryBuilderP5Top = GroupedCkfTrajectoryBuilderP5.clone()
124 
125 ckfTrackCandidatesP5Top = ckfTrackCandidatesP5.clone(
126  TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Top'),
127  NavigationSchool = 'CosmicNavigationSchool',
128  src = 'combinedP5SeedsForCTFTop', #ok for 32X
129  useHitsSplitting = True
130 )
131 
132 ctfWithMaterialTracksP5Top = ctfWithMaterialTracksCosmics.clone(
133  src = 'ckfTrackCandidatesP5Top',
134  Fitter = 'FittingSmootherRKP5',
135  clusterRemovalInfo = 'topBottomClusterInfoProducerTop'
136 )
137 
138 ctftracksP5TopTask = cms.Task(combinatorialcosmicseedingtripletsP5Top,
139  combinatorialcosmicseedingpairsTOBP5Top,
140  combinatorialcosmicseedingpairsTECposP5Top,
141  combinatorialcosmicseedingpairsTECnegP5Top,
142  combinatorialcosmicseedfinderP5Top,
143  simpleCosmicBONSeedingLayersTop,
144  simpleCosmicBONSeedsTop,
145  combinedP5SeedsForCTFTop,
146  ckfTrackCandidatesP5Top,
147  ctfWithMaterialTracksP5Top)
148 ctftracksP5Top = cms.Sequence(ctftracksP5TopTask)
149 
150 
151 combinatorialcosmicseedingtripletsP5Bottom = combinatorialcosmicseedingtripletsP5.clone(
152  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
153  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
154  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
155  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
156  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
157  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
158 )
159 
160 combinatorialcosmicseedingpairsTOBP5Bottom = combinatorialcosmicseedingpairsTOBP5.clone(
161  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
162  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
163  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
164  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
165  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
166  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
167 )
168 
169 combinatorialcosmicseedingpairsTECposP5Bottom = combinatorialcosmicseedingpairsTECposP5.clone(
170  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
171  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
172 )
173 
174 combinatorialcosmicseedingpairsTECnegP5Bottom = combinatorialcosmicseedingpairsTECnegP5.clone(
175  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
176  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
177 )
178 
179 combinatorialcosmicseedfinderP5Bottom = combinatorialcosmicseedfinderP5.clone(
180  SeedsFromPositiveY = False,
181  SeedsFromNegativeY = True,
182  ClusterCollectionLabel = 'siStripClustersBottom',
183  MaxNumberOfCosmicClusters = 150,
184  OrderedHitsFactoryPSets = {0: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingtripletsP5Bottom"),
185  1: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTOBP5Bottom"),
186  2: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECposP5Bottom"),
187  3: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECposP5Bottom"),
188  4: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Bottom"),
189  5: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Bottom"),
190  }
191 )
192 
193 simpleCosmicBONSeedingLayersBottom = simpleCosmicBONSeedingLayers.clone(
194  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
195  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
196  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
197  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
198  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
199  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
200 )
201 
202 simpleCosmicBONSeedsBottom = simpleCosmicBONSeeds.clone(
203  PositiveYOnly = False,
204  NegativeYOnly = True,
205  ClusterCheckPSet = dict(
206  ClusterCollectionLabel = 'siStripClustersBottom',
207  MaxNumberOfCosmicClusters = 150
208  ),
209  TripletsSrc = 'simpleCosmicBONSeedingLayersBottom'
210 )
211 
212 combinedP5SeedsForCTFBottom = globalCombinedSeeds.clone(
213  seedCollections = ['combinatorialcosmicseedfinderP5Bottom',
214  'simpleCosmicBONSeedsBottom']
215 )
216 
217 MeasurementTrackerBottom = MeasurementTracker.clone(
218  ComponentName = 'MeasurementTrackerBottom'
219 )
220 
221 GroupedCkfTrajectoryBuilderP5Bottom = GroupedCkfTrajectoryBuilderP5.clone()
222 
223 ckfTrackCandidatesP5Bottom = ckfTrackCandidatesP5.clone(
224  TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Bottom'),
225  NavigationSchool = 'CosmicNavigationSchool',
226  src = 'combinedP5SeedsForCTFBottom', #ok for 32X
227  useHitsSplitting = True
228 )
229 
230 ctfWithMaterialTracksP5Bottom = ctfWithMaterialTracksCosmics.clone(
231  src = 'ckfTrackCandidatesP5Bottom',
232  Fitter = 'FittingSmootherRKP5',
233  clusterRemovalInfo = 'topBottomClusterInfoProducerBottom'
234 )
235 
236 ctftracksP5BottomTask = cms.Task(combinatorialcosmicseedingtripletsP5Bottom,
237  combinatorialcosmicseedingpairsTOBP5Bottom,
238  combinatorialcosmicseedingpairsTECposP5Bottom,
239  combinatorialcosmicseedingpairsTECnegP5Bottom,
240  combinatorialcosmicseedfinderP5Bottom,
241  simpleCosmicBONSeedingLayersBottom,
242  simpleCosmicBONSeedsBottom,
243  combinedP5SeedsForCTFBottom,
244  ckfTrackCandidatesP5Bottom,
245  ctfWithMaterialTracksP5Bottom)
246 ctftracksP5Bottom = cms.Sequence(ctftracksP5BottomTask)
247 
248 #COSMIC TOP
249 cosmicseedfinderP5Top = cosmicseedfinderP5.clone(
250  stereorecHits = 'siStripMatchedRecHitsTop:stereoRecHit',
251  matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
252  rphirecHits = 'siStripMatchedRecHitsTop:rphiRecHit',
253  ClusterCollectionLabel = 'siStripClustersTop',
254  PositiveYOnly = True,
255  NegativeYOnly = False,
256  MaxNumberOfCosmicClusters = 150
257 )
258 
259 cosmicCandidateFinderP5Top = cosmicCandidateFinderP5.clone(
260  cosmicSeeds = 'cosmicseedfinderP5Top',
261  stereorecHits = 'siStripMatchedRecHitsTop:stereoRecHit',
262  HitProducer = 'siStripRecHitsTop',
263  pixelRecHits = 'siPixelRecHitsTop',
264  matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
265  rphirecHits = 'siStripMatchedRecHitsTop:rphiRecHit'
266 )
267 
268 cosmictrackfinderP5Top = cosmictrackfinderCosmics.clone(
269  src = 'cosmicCandidateFinderP5Top',
270  clusterRemovalInfo = 'topBottomClusterInfoProducerTop'
271 )
272 
273 cosmictracksP5TopTask = cms.Task(cosmicseedfinderP5Top,
274  cosmicCandidateFinderP5Top,
275  cosmictrackfinderP5Top)
276 cosmictracksP5Top = cms.Sequence(cosmictracksP5TopTask)
277 
278 #COSMIC BOTTOM
279 cosmicseedfinderP5Bottom = cosmicseedfinderP5.clone(
280  stereorecHits = 'siStripMatchedRecHitsBottom:stereoRecHit',
281  matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
282  rphirecHits = 'siStripMatchedRecHitsBottom:rphiRecHit',
283  ClusterCollectionLabel = 'siStripClustersBottom',
284  PositiveYOnly = False,
285  NegativeYOnly = True,
286  MaxNumberOfCosmicClusters = 150
287 )
288 
289 cosmicCandidateFinderP5Bottom = cosmicCandidateFinderP5.clone(
290  cosmicSeeds = 'cosmicseedfinderP5Bottom',
291  stereorecHits = 'siStripMatchedRecHitsBottom:stereoRecHit',
292  HitProducer = 'siStripRecHitsBottom',
293  pixelRecHits = 'siPixelRecHitsBottom',
294  matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
295  rphirecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'
296 )
297 
298 cosmictrackfinderP5Bottom = cosmictrackfinderCosmics.clone(
299  src = 'cosmicCandidateFinderP5Bottom',
300  clusterRemovalInfo = 'topBottomClusterInfoProducerBottom'
301 )
302 
303 cosmictracksP5BottomTask = cms.Task(cosmicseedfinderP5Bottom,
304  cosmicCandidateFinderP5Bottom,
305  cosmictrackfinderP5Bottom)
306 cosmictracksP5Bottom = cms.Sequence(cosmictracksP5BottomTask)
307 
308 #TOP SEQUENCE
309 # (SK) keep rstracks commented out in case of resurrection
310 tracksP5TopTask = cms.Task(ctftracksP5TopTask, cosmictracksP5TopTask)
311 tracksP5Top = cms.Sequence(tracksP5TopTask)
312 #BOTTOM SEQUENCE
313 # (SK) keep rstracks commented out in case of resurrection
314 tracksP5BottomTask = cms.Task(ctftracksP5BottomTask, cosmictracksP5BottomTask)
315 tracksP5Bottom = cms.Sequence(tracksP5BottomTask)