CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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  clustersToSkip = cms.InputTag('conv2Clusters'),
226  maxCand = 2
227 )
228 
229 # MAKING OF TRACK CANDIDATES
231 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
232  src = 'photonConvTrajSeedFromQuadruplets:conv2SeedCandidates',
233  TrajectoryBuilderPSet = dict(refToPSet_ = 'conv2CkfTrajectoryBuilder')
234 )
235 
237 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
238  ComponentName = 'conv2StepFitterSmoother',
239  EstimateCut = 30,
240  Smoother = 'conv2StepRKSmoother'
241 )
242 
243 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
244  ComponentName = 'conv2StepRKSmoother',
245  errorRescaling = 10.0
246 )
247 
248 # TRACK FITTING
250 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
251  src = 'conv2TrackCandidates',
252  AlgorithmName = 'conversionStep',
253  Fitter = 'conv2StepFitterSmoother',
254 )
255 
256 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
257 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
258  src='conv2StepTracks',
259  trackSelectors= cms.VPSet(
260  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
261  name = 'conv2StepLoose',
262  applyAdaptedPVCuts = False,
263  chi2n_par = 3.0,
264  res_par = ( 0.003, 0.001 ),
265  minNumberLayers = 3,
266  maxNumberLostLayers = 1,
267  minNumber3DLayers = 1,
268  d0_par1 = ( 5., 8.0 ),
269  dz_par1 = ( 5., 8.0 ),
270  d0_par2 = ( 5., 8.0 ),
271  dz_par2 = ( 5., 8.0 )
272  ),
273  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
274  name = 'conv2StepTight',
275  preFilterName = 'conv2StepLoose',
276  chi2n_par = 2.5,
277  res_par = ( 0.003, 0.001 ),
278  minNumberLayers = 3,
279  maxNumberLostLayers = 1,
280  minNumber3DLayers = 1,
281  d0_par1 = ( 5., 8.0 ),
282  dz_par1 = ( 5., 8.0 ),
283  d0_par2 = ( 5., 8.0 ),
284  dz_par2 = ( 5., 8.0 )
285  ),
286  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
287  name = 'conv2Step',
288  preFilterName = 'conv2StepTight',
289  chi2n_par = 2.0,
290  res_par = ( 0.003, 0.001 ),
291  minNumberLayers = 3,
292  maxNumberLostLayers = 1,
293  minNumber3DLayers = 1,
294  d0_par1 = ( 5., 8.0 ),
295  dz_par1 = ( 5., 8.0 ),
296  d0_par2 = ( 5., 8.0 ),
297  dz_par2 = ( 5., 8.0 )
298  ),
299  ) #end of vpset
300 ) #end of clone
301 
302 Conv2StepTask = cms.Task( conv2Clusters
303  , conv2LayerPairs
304  , photonConvTrajSeedFromQuadruplets
305  , conv2TrackCandidates
306  , conv2StepTracks
307  , conv2StepSelector)
308 Conv2Step = cms.Sequence( Conv2StepTask )