CMS 3D CMS Logo

ConversionStep2_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 
6 conv2Clusters = trackClusterRemover.clone(
7  maxChi2 = 30.0,
8  trajectories = 'convStepTracks',
9  pixelClusters = 'siPixelClusters',
10  stripClusters = 'siStripClusters',
11  oldClusterRemovalInfo = 'convClusters',
12  overrideTrkQuals = 'convStepSelector:convStep',
13  TrackQuality = 'highPurity'
14 )
15 
17 
18 conv2LayerPairs = _mod.seedingLayersEDProducer.clone(
19  layerList = ['BPix1+BPix2',
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 = dict(
92  TTRHBuilder = cms.string('WithTrackAngle'),
93  HitProducer = cms.string('siPixelRecHits'),
94  skipClusters = cms.InputTag('conv2Clusters'),
95  ),
96  FPix = dict(
97  TTRHBuilder = cms.string('WithTrackAngle'),
98  HitProducer = cms.string('siPixelRecHits'),
99  skipClusters = cms.InputTag('conv2Clusters'),
100  ),
101  TIB1 = cms.PSet(
102  TTRHBuilder = cms.string('WithTrackAngle'),
103  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
104  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
105  skipClusters = cms.InputTag('conv2Clusters'),
106  ),
107  TIB2 = cms.PSet(
108  TTRHBuilder = cms.string('WithTrackAngle'),
109  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
110  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
111  skipClusters = cms.InputTag('conv2Clusters'),
112  ),
113  TIB3 = cms.PSet(
114  TTRHBuilder = cms.string('WithTrackAngle'),
115  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
116  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
117  skipClusters = cms.InputTag('conv2Clusters'),
118  ),
119  TIB4 = cms.PSet(
120  TTRHBuilder = cms.string('WithTrackAngle'),
121  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
122  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
123  skipClusters = cms.InputTag('conv2Clusters'),
124  ),
125  TID1 = cms.PSet(
126  useSimpleRphiHitsCleaner = cms.bool(False),
127  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
128  useRingSlector = cms.bool(True),
129  TTRHBuilder = cms.string('WithTrackAngle'),
130  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
131  maxRing = cms.int32(2),
132  minRing = cms.int32(1),
133  skipClusters = cms.InputTag('conv2Clusters'),
134  ),
135  TID2 = cms.PSet(
136  useSimpleRphiHitsCleaner = cms.bool(False),
137  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
138  useRingSlector = cms.bool(True),
139  TTRHBuilder = cms.string('WithTrackAngle'),
140  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
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  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
151  maxRing = cms.int32(2),
152  minRing = cms.int32(1),
153  skipClusters = cms.InputTag('conv2Clusters'),
154  ),
155  TEC = dict(
156  useSimpleRphiHitsCleaner = cms.bool(False),
157  minRing = cms.int32(1),
158  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
159  useRingSlector = cms.bool(True),
160  TTRHBuilder = cms.string('WithTrackAngle'),
161  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
162  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHitUnmatched'),
163  maxRing = cms.int32(7),
164  stereoRecHits = cms.InputTag('siStripMatchedRecHits','stereoRecHitUnmatched'),
165  skipClusters = cms.InputTag('conv2Clusters'),
166  ),
167  TOB1 = cms.PSet(
168  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
169  TTRHBuilder = cms.string('WithTrackAngle'),
170  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
171  skipClusters = cms.InputTag('conv2Clusters'),
172  ),
173  TOB2 = cms.PSet(
174  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
175  TTRHBuilder = cms.string('WithTrackAngle'),
176  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
177  skipClusters = cms.InputTag('conv2Clusters'),
178  ),
179  TOB3 = cms.PSet(
180  TTRHBuilder = cms.string('WithTrackAngle'),
181  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
182  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
183  skipClusters = cms.InputTag('conv2Clusters'),
184  ),
185  TOB4 = cms.PSet(
186  TTRHBuilder = cms.string('WithTrackAngle'),
187  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
188  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
189  skipClusters = cms.InputTag('conv2Clusters'),
190  ),
191  TOB5 = cms.PSet(
192  TTRHBuilder = cms.string('WithTrackAngle'),
193  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
194  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
195  skipClusters = cms.InputTag('conv2Clusters'),
196  ),
197  TOB6 = cms.PSet(
198  TTRHBuilder = cms.string('WithTrackAngle'),
199  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
200  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
201  skipClusters = cms.InputTag('conv2Clusters'),
202  )
203  )
204 
205 
206 photonConvTrajSeedFromQuadruplets.TrackRefitter = 'generalTracks'
207 photonConvTrajSeedFromQuadruplets.primaryVerticesTag = 'pixelVertices'
208 
209 
210 # TRACKER DATA CONTROL
211 
212 # QUALITY CUTS DURING TRACK BUILDING
214 conv2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
215  maxLostHits = 1,
216  minimumNumberOfHits = 3,
217  minPt = 0.1
218 )
219 
220 # TRACK BUILDING
222 conv2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
223  trajectoryFilter = dict(refToPSet_ = 'conv2CkfTrajectoryFilter'),
224  minNrOfHitsForRebuild = 3,
225  maxCand = 2,
226 )
227 
228 # MAKING OF TRACK CANDIDATES
230 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
231  src = 'photonConvTrajSeedFromQuadruplets:conv2SeedCandidates',
232  TrajectoryBuilderPSet = dict(refToPSet_ = 'conv2CkfTrajectoryBuilder')
233 )
234 
236 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
237  ComponentName = 'conv2StepFitterSmoother',
238  EstimateCut = 30,
239  Smoother = 'conv2StepRKSmoother'
240 )
241 
242 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
243  ComponentName = 'conv2StepRKSmoother',
244  errorRescaling = 10.0
245 )
246 
247 # TRACK FITTING
249 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
250  src = 'conv2TrackCandidates',
251  AlgorithmName = 'conversionStep',
252  Fitter = 'conv2StepFitterSmoother',
253 )
254 
255 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
256 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
257  src='conv2StepTracks',
258  trackSelectors= cms.VPSet(
259  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
260  name = 'conv2StepLoose',
261  applyAdaptedPVCuts = False,
262  chi2n_par = 3.0,
263  res_par = ( 0.003, 0.001 ),
264  minNumberLayers = 3,
265  maxNumberLostLayers = 1,
266  minNumber3DLayers = 1,
267  d0_par1 = ( 5., 8.0 ),
268  dz_par1 = ( 5., 8.0 ),
269  d0_par2 = ( 5., 8.0 ),
270  dz_par2 = ( 5., 8.0 )
271  ),
272  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
273  name = 'conv2StepTight',
274  preFilterName = 'conv2StepLoose',
275  chi2n_par = 2.5,
276  res_par = ( 0.003, 0.001 ),
277  minNumberLayers = 3,
278  maxNumberLostLayers = 1,
279  minNumber3DLayers = 1,
280  d0_par1 = ( 5., 8.0 ),
281  dz_par1 = ( 5., 8.0 ),
282  d0_par2 = ( 5., 8.0 ),
283  dz_par2 = ( 5., 8.0 )
284  ),
285  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
286  name = 'conv2Step',
287  preFilterName = 'conv2StepTight',
288  chi2n_par = 2.0,
289  res_par = ( 0.003, 0.001 ),
290  minNumberLayers = 3,
291  maxNumberLostLayers = 1,
292  minNumber3DLayers = 1,
293  d0_par1 = ( 5., 8.0 ),
294  dz_par1 = ( 5., 8.0 ),
295  d0_par2 = ( 5., 8.0 ),
296  dz_par2 = ( 5., 8.0 )
297  ),
298  ) #end of vpset
299 ) #end of clone
300 
301 Conv2StepTask = cms.Task( conv2Clusters
302  , conv2LayerPairs
303  , photonConvTrajSeedFromQuadruplets
304  , conv2TrackCandidates
305  , conv2StepTracks
306  , conv2StepSelector)
307 Conv2Step = cms.Sequence( Conv2StepTask )