CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 ###LOCAL RECO TASK and SEQUENCE
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 ###CKF TOP
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  MeasurementTrackerName = 'MeasurementTrackerTop'
125 )
126 
127 ckfTrackCandidatesP5Top = ckfTrackCandidatesP5.clone(
128  TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Top'),
129  NavigationSchool = 'CosmicNavigationSchool',
130  src = 'combinedP5SeedsForCTFTop', #ok for 32X
131  useHitsSplitting = True
132 )
133 
134 ctfWithMaterialTracksP5Top = ctfWithMaterialTracksCosmics.clone(
135  src = 'ckfTrackCandidatesP5Top',
136  Fitter = 'FittingSmootherRKP5',
137  clusterRemovalInfo = 'topBottomClusterInfoProducerTop'
138 )
139 
140 ctftracksP5TopTask = cms.Task(combinatorialcosmicseedingtripletsP5Top,
141  combinatorialcosmicseedingpairsTOBP5Top,
142  combinatorialcosmicseedingpairsTECposP5Top,
143  combinatorialcosmicseedingpairsTECnegP5Top,
144  combinatorialcosmicseedfinderP5Top,
145  simpleCosmicBONSeedingLayersTop,
146  simpleCosmicBONSeedsTop,
147  combinedP5SeedsForCTFTop,
148  ckfTrackCandidatesP5Top,
149  ctfWithMaterialTracksP5Top)
150 ctftracksP5Top = cms.Sequence(ctftracksP5TopTask)
151 
152 ###CKF BOTTOM
153 combinatorialcosmicseedingtripletsP5Bottom = combinatorialcosmicseedingtripletsP5.clone(
154  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
155  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
156  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
157  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
158  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
159  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
160 )
161 
162 combinatorialcosmicseedingpairsTOBP5Bottom = combinatorialcosmicseedingpairsTOBP5.clone(
163  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
164  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
165  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
166  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
167  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
168  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
169 )
170 
171 combinatorialcosmicseedingpairsTECposP5Bottom = combinatorialcosmicseedingpairsTECposP5.clone(
172  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
173  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
174 )
175 
176 combinatorialcosmicseedingpairsTECnegP5Bottom = combinatorialcosmicseedingpairsTECnegP5.clone(
177  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
178  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
179 )
180 
181 combinatorialcosmicseedfinderP5Bottom = combinatorialcosmicseedfinderP5.clone(
182  SeedsFromPositiveY = False,
183  SeedsFromNegativeY = True,
184  ClusterCollectionLabel = 'siStripClustersBottom',
185  MaxNumberOfCosmicClusters = 150,
186  OrderedHitsFactoryPSets = {0: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingtripletsP5Bottom"),
187  1: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTOBP5Bottom"),
188  2: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECposP5Bottom"),
189  3: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECposP5Bottom"),
190  4: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Bottom"),
191  5: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Bottom"),
192  }
193 )
194 
195 simpleCosmicBONSeedingLayersBottom = simpleCosmicBONSeedingLayers.clone(
196  TIB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
197  MTIB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
198  TOB = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
199  MTOB = dict(rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'),
200  TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
201  rphiRecHits = 'siStripMatchedRecHitsBottom:rphiRecHit')
202 )
203 
204 simpleCosmicBONSeedsBottom = simpleCosmicBONSeeds.clone(
205  PositiveYOnly = False,
206  NegativeYOnly = True,
207  ClusterCheckPSet = dict(
208  ClusterCollectionLabel = 'siStripClustersBottom',
209  MaxNumberOfCosmicClusters = 150
210  ),
211  TripletsSrc = 'simpleCosmicBONSeedingLayersBottom'
212 )
213 
214 combinedP5SeedsForCTFBottom = globalCombinedSeeds.clone(
215  seedCollections = ['combinatorialcosmicseedfinderP5Bottom',
216  'simpleCosmicBONSeedsBottom']
217 )
218 
219 MeasurementTrackerBottom = MeasurementTracker.clone(
220  ComponentName = 'MeasurementTrackerBottom'
221 )
222 
223 GroupedCkfTrajectoryBuilderP5Bottom = GroupedCkfTrajectoryBuilderP5.clone(
224  MeasurementTrackerName = 'MeasurementTrackerBottom'
225 )
226 
227 ckfTrackCandidatesP5Bottom = ckfTrackCandidatesP5.clone(
228  TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Bottom'),
229  NavigationSchool = 'CosmicNavigationSchool',
230  src = 'combinedP5SeedsForCTFBottom', #ok for 32X
231  useHitsSplitting = True
232 )
233 
234 ctfWithMaterialTracksP5Bottom = ctfWithMaterialTracksCosmics.clone(
235  src = 'ckfTrackCandidatesP5Bottom',
236  Fitter = 'FittingSmootherRKP5',
237  clusterRemovalInfo = 'topBottomClusterInfoProducerBottom'
238 )
239 
240 ctftracksP5BottomTask = cms.Task(combinatorialcosmicseedingtripletsP5Bottom,
241  combinatorialcosmicseedingpairsTOBP5Bottom,
242  combinatorialcosmicseedingpairsTECposP5Bottom,
243  combinatorialcosmicseedingpairsTECnegP5Bottom,
244  combinatorialcosmicseedfinderP5Bottom,
245  simpleCosmicBONSeedingLayersBottom,
246  simpleCosmicBONSeedsBottom,
247  combinedP5SeedsForCTFBottom,
248  ckfTrackCandidatesP5Bottom,
249  ctfWithMaterialTracksP5Bottom)
250 ctftracksP5Bottom = cms.Sequence(ctftracksP5BottomTask)
251 
252 #COSMIC TOP
253 cosmicseedfinderP5Top = cosmicseedfinderP5.clone(
254  stereorecHits = 'siStripMatchedRecHitsTop:stereoRecHit',
255  matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
256  rphirecHits = 'siStripMatchedRecHitsTop:rphiRecHit',
257  ClusterCollectionLabel = 'siStripClustersTop',
258  PositiveYOnly = True,
259  NegativeYOnly = False,
260  MaxNumberOfCosmicClusters = 150
261 )
262 
263 cosmicCandidateFinderP5Top = cosmicCandidateFinderP5.clone(
264  cosmicSeeds = 'cosmicseedfinderP5Top',
265  stereorecHits = 'siStripMatchedRecHitsTop:stereoRecHit',
266  HitProducer = 'siStripRecHitsTop',
267  pixelRecHits = 'siPixelRecHitsTop',
268  matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
269  rphirecHits = 'siStripMatchedRecHitsTop:rphiRecHit'
270 )
271 
272 cosmictrackfinderP5Top = cosmictrackfinderCosmics.clone(
273  src = 'cosmicCandidateFinderP5Top',
274  clusterRemovalInfo = 'topBottomClusterInfoProducerTop'
275 )
276 
277 cosmictracksP5TopTask = cms.Task(cosmicseedfinderP5Top,
278  cosmicCandidateFinderP5Top,
279  cosmictrackfinderP5Top)
280 cosmictracksP5Top = cms.Sequence(cosmictracksP5TopTask)
281 
282 #COSMIC BOTTOM
283 cosmicseedfinderP5Bottom = cosmicseedfinderP5.clone(
284  stereorecHits = 'siStripMatchedRecHitsBottom:stereoRecHit',
285  matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
286  rphirecHits = 'siStripMatchedRecHitsBottom:rphiRecHit',
287  ClusterCollectionLabel = 'siStripClustersBottom',
288  PositiveYOnly = False,
289  NegativeYOnly = True,
290  MaxNumberOfCosmicClusters = 150
291 )
292 
293 cosmicCandidateFinderP5Bottom = cosmicCandidateFinderP5.clone(
294  cosmicSeeds = 'cosmicseedfinderP5Bottom',
295  stereorecHits = 'siStripMatchedRecHitsBottom:stereoRecHit',
296  HitProducer = 'siStripRecHitsBottom',
297  pixelRecHits = 'siPixelRecHitsBottom',
298  matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
299  rphirecHits = 'siStripMatchedRecHitsBottom:rphiRecHit'
300 )
301 
302 cosmictrackfinderP5Bottom = cosmictrackfinderCosmics.clone(
303  src = 'cosmicCandidateFinderP5Bottom',
304  clusterRemovalInfo = 'topBottomClusterInfoProducerBottom'
305 )
306 
307 cosmictracksP5BottomTask = cms.Task(cosmicseedfinderP5Bottom,
308  cosmicCandidateFinderP5Bottom,
309  cosmictrackfinderP5Bottom)
310 cosmictracksP5Bottom = cms.Sequence(cosmictracksP5BottomTask)
311 
312 #TOP SEQUENCE
313 # (SK) keep rstracks commented out in case of resurrection
314 tracksP5TopTask = cms.Task(ctftracksP5TopTask, cosmictracksP5TopTask)
315 tracksP5Top = cms.Sequence(tracksP5TopTask)
316 #BOTTOM SEQUENCE
317 # (SK) keep rstracks commented out in case of resurrection
318 tracksP5BottomTask = cms.Task(ctftracksP5BottomTask, cosmictracksP5BottomTask)
319 tracksP5Bottom = cms.Sequence(tracksP5BottomTask)