CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ConversionStep2_cff.py
Go to the documentation of this file.
2 
4 
5 conv2Clusters = cms.EDProducer("TrackClusterRemover",
6  clusterLessSolution = cms.bool(True),
7  oldClusterRemovalInfo = cms.InputTag("convClusters"),
8  trajectories = cms.InputTag("convStepTracks"),
9  overrideTrkQuals = cms.InputTag('convStepSelector','convStep'),
10  TrackQuality = cms.string('highPurity'),
11  pixelClusters = cms.InputTag("siPixelClusters"),
12  stripClusters = cms.InputTag("siStripClusters"),
13  Common = cms.PSet(maxChi2 = cms.double(30.0))
14  )
15 
16 conv2LayerPairs = cms.ESProducer("SeedingLayersESProducer",
17  ComponentName = cms.string('conv2LayerPairs'),
18  layerList = cms.vstring('BPix1+BPix2',
19 
20  'BPix2+BPix3',
21  'BPix2+FPix1_pos',
22  'BPix2+FPix1_neg',
23  'BPix2+FPix2_pos',
24  'BPix2+FPix2_neg',
25 
26  'FPix1_pos+FPix2_pos',
27  'FPix1_neg+FPix2_neg',
28 
29  'BPix3+TIB1',
30 
31  'TIB1+TID1_pos',
32  'TIB1+TID1_neg',
33  'TIB1+TID2_pos',
34  'TIB1+TID2_neg',
35  'TIB1+TIB2',
36 
37  'TIB2+TID1_pos',
38  'TIB2+TID1_neg',
39  'TIB2+TID2_pos',
40  'TIB2+TID2_neg',
41  'TIB2+TIB3',
42 
43  'TIB3+TIB4',
44  'TIB3+TID1_pos',
45  'TIB3+TID1_neg',
46 
47  'TIB4+TOB1',
48 
49  'TOB1+TOB2',
50  'TOB1+TEC1_pos',
51  'TOB1+TEC1_neg',
52 
53  'TOB2+TOB3',
54  'TOB2+TEC1_pos',
55  'TOB2+TEC1_neg',
56 
57  'TOB3+TOB4',
58  'TOB3+TEC1_pos',
59  'TOB3+TEC1_neg',
60 
61  'TOB4+TOB5',
62 
63  'TOB5+TOB6',
64 
65  'TID1_pos+TID2_pos',
66  'TID2_pos+TID3_pos',
67  'TID3_pos+TEC1_pos',
68 
69  'TID1_neg+TID2_neg',
70  'TID2_neg+TID3_neg',
71  'TID3_neg+TEC1_neg',
72 
73  'TEC1_pos+TEC2_pos',
74  'TEC2_pos+TEC3_pos',
75  'TEC3_pos+TEC4_pos',
76  'TEC4_pos+TEC5_pos',
77  'TEC5_pos+TEC6_pos',
78  'TEC6_pos+TEC7_pos',
79  'TEC7_pos+TEC8_pos',
80 
81  'TEC1_neg+TEC2_neg',
82  'TEC2_neg+TEC3_neg',
83  'TEC3_neg+TEC4_neg',
84  'TEC4_neg+TEC5_neg',
85  'TEC5_neg+TEC6_neg',
86  'TEC6_neg+TEC7_neg',
87  'TEC7_neg+TEC8_neg'
88  #other combinations could be added
89  ),
90 
91  BPix = cms.PSet(
92  hitErrorRZ = cms.double(0.006),
93  hitErrorRPhi = cms.double(0.0027),
94  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
95  HitProducer = cms.string('siPixelRecHits'),
96  useErrorsFromParam = cms.bool(True),
97  skipClusters = cms.InputTag('conv2Clusters'),
98  ),
99  FPix = cms.PSet(
100  hitErrorRZ = cms.double(0.0036),
101  hitErrorRPhi = cms.double(0.0051),
102  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
103  HitProducer = cms.string('siPixelRecHits'),
104  useErrorsFromParam = cms.bool(True),
105  skipClusters = cms.InputTag('conv2Clusters'),
106  ),
107  TIB1 = cms.PSet(
108  TTRHBuilder = cms.string('WithTrackAngle'),
109  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
110  skipClusters = cms.InputTag('conv2Clusters'),
111  ),
112  TIB2 = cms.PSet(
113  TTRHBuilder = cms.string('WithTrackAngle'),
114  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
115  skipClusters = cms.InputTag('conv2Clusters'),
116  ),
117  TIB3 = cms.PSet(
118  TTRHBuilder = cms.string('WithTrackAngle'),
119  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"),
120  skipClusters = cms.InputTag('conv2Clusters'),
121  ),
122  TIB4 = cms.PSet(
123  TTRHBuilder = cms.string('WithTrackAngle'),
124  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"),
125  skipClusters = cms.InputTag('conv2Clusters'),
126  ),
127  TID1 = cms.PSet(
128  useSimpleRphiHitsCleaner = cms.bool(False),
129  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
130  useRingSlector = cms.bool(True),
131  TTRHBuilder = cms.string('WithTrackAngle'),
132  maxRing = cms.int32(2),
133  minRing = cms.int32(1),
134  skipClusters = cms.InputTag('conv2Clusters'),
135  ),
136  TID2 = cms.PSet(
137  useSimpleRphiHitsCleaner = cms.bool(False),
138  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
139  useRingSlector = cms.bool(True),
140  TTRHBuilder = cms.string('WithTrackAngle'),
141  maxRing = cms.int32(2),
142  minRing = cms.int32(1),
143  skipClusters = cms.InputTag('conv2Clusters'),
144  ),
145  TID3 = cms.PSet(
146  useSimpleRphiHitsCleaner = cms.bool(False),
147  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
148  useRingSlector = cms.bool(True),
149  TTRHBuilder = cms.string('WithTrackAngle'),
150  maxRing = cms.int32(2),
151  minRing = cms.int32(1),
152  skipClusters = cms.InputTag('conv2Clusters'),
153  ),
154  TEC = cms.PSet(
155  useSimpleRphiHitsCleaner = cms.bool(False),
156  minRing = cms.int32(1),
157  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
158  useRingSlector = cms.bool(True),
159  TTRHBuilder = cms.string('WithTrackAngle'),
160  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHitUnmatched"),
161  maxRing = cms.int32(7),
162  stereoRecHits = cms.InputTag("siStripMatchedRecHits","stereoRecHitUnmatched"),
163  skipClusters = cms.InputTag('conv2Clusters'),
164  ),
165  TOB1 = cms.PSet(
166  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
167  TTRHBuilder = cms.string('WithTrackAngle'),
168  skipClusters = cms.InputTag('conv2Clusters'),
169  ),
170  TOB2 = cms.PSet(
171  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
172  TTRHBuilder = cms.string('WithTrackAngle'),
173  skipClusters = cms.InputTag('conv2Clusters'),
174  ),
175  TOB3 = cms.PSet(
176  TTRHBuilder = cms.string('WithTrackAngle'),
177  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"),
178  skipClusters = cms.InputTag('conv2Clusters'),
179  ),
180  TOB4 = cms.PSet(
181  TTRHBuilder = cms.string('WithTrackAngle'),
182  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"),
183  skipClusters = cms.InputTag('conv2Clusters'),
184  ),
185  TOB5 = cms.PSet(
186  TTRHBuilder = cms.string('WithTrackAngle'),
187  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"),
188  skipClusters = cms.InputTag('conv2Clusters'),
189  ),
190  TOB6 = cms.PSet(
191  TTRHBuilder = cms.string('WithTrackAngle'),
192  rphiRecHits = cms.InputTag("siStripMatchedRecHits","rphiRecHit"),
193  skipClusters = cms.InputTag('conv2Clusters'),
194  )
195  )
196 
197 
198 photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('generalTracks')
199 photonConvTrajSeedFromQuadruplets.primaryVerticesTag = cms.InputTag('pixelVertices')
200 
201 
202 # TRACKER DATA CONTROL
203 
204 # QUALITY CUTS DURING TRACK BUILDING
205 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
206 conv2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
207  ComponentName = 'conv2CkfTrajectoryFilter',
208  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
209  maxLostHits = 1,
210  minimumNumberOfHits = 3,
211  minPt = 0.1
212  )
213  )
214 
215 # TRACK BUILDING
217 conv2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
218  ComponentName = 'conv2CkfTrajectoryBuilder',
219  trajectoryFilterName = 'conv2CkfTrajectoryFilter',
220  minNrOfHitsForRebuild = 3,
221  clustersToSkip = cms.InputTag('conv2Clusters'),
222  maxCand = 2
223  )
224 
225 # MAKING OF TRACK CANDIDATES
227 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
228  src = cms.InputTag('photonConvTrajSeedFromQuadruplets:conv2SeedCandidates'),
229  TrajectoryBuilder = 'conv2CkfTrajectoryBuilder'
230 )
231 
233 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
234  ComponentName = 'conv2StepFitterSmoother',
235  EstimateCut = 30,
236  Smoother = cms.string('conv2StepRKSmoother')
237  )
238 
239 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
240  ComponentName = cms.string('conv2StepRKSmoother'),
241  errorRescaling = 10.0
242  )
243 
244 
245 # TRACK FITTING
247 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
248  src = 'conv2TrackCandidates',
249  AlgorithmName = cms.string('iter9'),
250  Fitter = 'conv2StepFitterSmoother',
251  )
252 
253 
254 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
255 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
256  src='conv2StepTracks',
257  trackSelectors= cms.VPSet(
258  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
259  name = 'conv2StepLoose',
260  applyAdaptedPVCuts = False,
261  chi2n_par = 3.0,
262  res_par = ( 0.003, 0.001 ),
263  minNumberLayers = 3,
264  maxNumberLostLayers = 1,
265  minNumber3DLayers = 1,
266  d0_par1 = ( 5., 8.0 ),
267  dz_par1 = ( 5., 8.0 ),
268  d0_par2 = ( 5., 8.0 ),
269  dz_par2 = ( 5., 8.0 )
270  ),
271  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
272  name = 'conv2StepTight',
273  preFilterName = 'conv2StepLoose',
274  chi2n_par = 2.5,
275  res_par = ( 0.003, 0.001 ),
276  minNumberLayers = 3,
277  maxNumberLostLayers = 1,
278  minNumber3DLayers = 1,
279  d0_par1 = ( 5., 8.0 ),
280  dz_par1 = ( 5., 8.0 ),
281  d0_par2 = ( 5., 8.0 ),
282  dz_par2 = ( 5., 8.0 )
283  ),
284  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
285  name = 'conv2Step',
286  preFilterName = 'conv2StepTight',
287  chi2n_par = 2.0,
288  res_par = ( 0.003, 0.001 ),
289  minNumberLayers = 3,
290  maxNumberLostLayers = 1,
291  minNumber3DLayers = 1,
292  d0_par1 = ( 5., 8.0 ),
293  dz_par1 = ( 5., 8.0 ),
294  d0_par2 = ( 5., 8.0 ),
295  dz_par2 = ( 5., 8.0 )
296  ),
297  ) #end of vpset
298  ) #end of clone
299 
300 Conv2Step = cms.Sequence( conv2Clusters
301  + photonConvTrajSeedFromQuadruplets
302  + conv2TrackCandidates
303  + conv2StepTracks
304  + conv2StepSelector)