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 
16 conv2LayerPairs = cms.EDProducer('SeedingLayersEDProducer',
17  layerList = cms.vstring('BPix1+BPix2',
18 
19  'BPix2+BPix3',
20  'BPix2+FPix1_pos',
21  'BPix2+FPix1_neg',
22  'BPix2+FPix2_pos',
23  'BPix2+FPix2_neg',
24 
25  'FPix1_pos+FPix2_pos',
26  'FPix1_neg+FPix2_neg',
27 
28  'BPix3+TIB1',
29 
30  'TIB1+TID1_pos',
31  'TIB1+TID1_neg',
32  'TIB1+TID2_pos',
33  'TIB1+TID2_neg',
34  'TIB1+TIB2',
35 
36  'TIB2+TID1_pos',
37  'TIB2+TID1_neg',
38  'TIB2+TID2_pos',
39  'TIB2+TID2_neg',
40  'TIB2+TIB3',
41 
42  'TIB3+TIB4',
43  'TIB3+TID1_pos',
44  'TIB3+TID1_neg',
45 
46  'TIB4+TOB1',
47 
48  'TOB1+TOB2',
49  'TOB1+TEC1_pos',
50  'TOB1+TEC1_neg',
51 
52  'TOB2+TOB3',
53  'TOB2+TEC1_pos',
54  'TOB2+TEC1_neg',
55 
56  'TOB3+TOB4',
57  'TOB3+TEC1_pos',
58  'TOB3+TEC1_neg',
59 
60  'TOB4+TOB5',
61 
62  'TOB5+TOB6',
63 
64  'TID1_pos+TID2_pos',
65  'TID2_pos+TID3_pos',
66  'TID3_pos+TEC1_pos',
67 
68  'TID1_neg+TID2_neg',
69  'TID2_neg+TID3_neg',
70  'TID3_neg+TEC1_neg',
71 
72  'TEC1_pos+TEC2_pos',
73  'TEC2_pos+TEC3_pos',
74  'TEC3_pos+TEC4_pos',
75  'TEC4_pos+TEC5_pos',
76  'TEC5_pos+TEC6_pos',
77  'TEC6_pos+TEC7_pos',
78  'TEC7_pos+TEC8_pos',
79 
80  'TEC1_neg+TEC2_neg',
81  'TEC2_neg+TEC3_neg',
82  'TEC3_neg+TEC4_neg',
83  'TEC4_neg+TEC5_neg',
84  'TEC5_neg+TEC6_neg',
85  'TEC6_neg+TEC7_neg',
86  'TEC7_neg+TEC8_neg'
87  #other combinations could be added
88  ),
89 
90  BPix = cms.PSet(
91  TTRHBuilder = cms.string('WithTrackAngle'),
92  HitProducer = cms.string('siPixelRecHits'),
93  skipClusters = cms.InputTag('conv2Clusters'),
94  ),
95  FPix = cms.PSet(
96  TTRHBuilder = cms.string('WithTrackAngle'),
97  HitProducer = cms.string('siPixelRecHits'),
98  skipClusters = cms.InputTag('conv2Clusters'),
99  ),
100  TIB1 = cms.PSet(
101  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
102  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
103  skipClusters = cms.InputTag('conv2Clusters'),
104  ),
105  TIB2 = cms.PSet(
106  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
107  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
108  skipClusters = cms.InputTag('conv2Clusters'),
109  ),
110  TIB3 = cms.PSet(
111  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
112  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
113  skipClusters = cms.InputTag('conv2Clusters'),
114  ),
115  TIB4 = cms.PSet(
116  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
117  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
118  skipClusters = cms.InputTag('conv2Clusters'),
119  ),
120  TID1 = cms.PSet(
121  useSimpleRphiHitsCleaner = cms.bool(False),
122  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
123  useRingSlector = cms.bool(True),
124  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
125  maxRing = cms.int32(2),
126  minRing = cms.int32(1),
127  skipClusters = cms.InputTag('conv2Clusters'),
128  ),
129  TID2 = cms.PSet(
130  useSimpleRphiHitsCleaner = cms.bool(False),
131  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
132  useRingSlector = cms.bool(True),
133  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
134  maxRing = cms.int32(2),
135  minRing = cms.int32(1),
136  skipClusters = cms.InputTag('conv2Clusters'),
137  ),
138  TID3 = cms.PSet(
139  useSimpleRphiHitsCleaner = cms.bool(False),
140  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
141  useRingSlector = cms.bool(True),
142  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
143  maxRing = cms.int32(2),
144  minRing = cms.int32(1),
145  skipClusters = cms.InputTag('conv2Clusters'),
146  ),
147  TEC = cms.PSet(
148  useSimpleRphiHitsCleaner = cms.bool(False),
149  minRing = cms.int32(1),
150  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
151  useRingSlector = cms.bool(True),
152  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
153  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHitUnmatched'),
154  maxRing = cms.int32(7),
155  stereoRecHits = cms.InputTag('siStripMatchedRecHits','stereoRecHitUnmatched'),
156  skipClusters = cms.InputTag('conv2Clusters'),
157  ),
158  TOB1 = cms.PSet(
159  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
160  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
161  skipClusters = cms.InputTag('conv2Clusters'),
162  ),
163  TOB2 = cms.PSet(
164  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
165  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
166  skipClusters = cms.InputTag('conv2Clusters'),
167  ),
168  TOB3 = cms.PSet(
169  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
170  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
171  skipClusters = cms.InputTag('conv2Clusters'),
172  ),
173  TOB4 = cms.PSet(
174  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
175  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
176  skipClusters = cms.InputTag('conv2Clusters'),
177  ),
178  TOB5 = cms.PSet(
179  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
180  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
181  skipClusters = cms.InputTag('conv2Clusters'),
182  ),
183  TOB6 = cms.PSet(
184  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
185  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
186  skipClusters = cms.InputTag('conv2Clusters'),
187  )
188  )
189 
190 
191 photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('generalTracks')
192 photonConvTrajSeedFromQuadruplets.primaryVerticesTag = cms.InputTag('pixelVertices')
193 
194 
195 # TRACKER DATA CONTROL
196 
197 # QUALITY CUTS DURING TRACK BUILDING
199 conv2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
200  maxLostHits = 1,
201  minimumNumberOfHits = 3,
202  minPt = 0.1
203 )
204 
205 # TRACK BUILDING
207 conv2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
208  trajectoryFilter = dict(refToPSet_ = 'conv2CkfTrajectoryFilter'),
209  minNrOfHitsForRebuild = 3,
210  clustersToSkip = cms.InputTag('conv2Clusters'),
211  maxCand = 2
212 )
213 
214 # MAKING OF TRACK CANDIDATES
216 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
217  src = 'photonConvTrajSeedFromQuadruplets:conv2SeedCandidates',
218  TrajectoryBuilderPSet = dict(refToPSet_ = 'conv2CkfTrajectoryBuilder')
219 )
220 
222 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
223  ComponentName = 'conv2StepFitterSmoother',
224  EstimateCut = 30,
225  Smoother = 'conv2StepRKSmoother'
226 )
227 
228 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
229  ComponentName = 'conv2StepRKSmoother',
230  errorRescaling = 10.0
231 )
232 
233 # TRACK FITTING
235 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
236  src = 'conv2TrackCandidates',
237  AlgorithmName = 'conversionStep',
238  Fitter = 'conv2StepFitterSmoother',
239 )
240 
241 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
242 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
243  src='conv2StepTracks',
244  trackSelectors= cms.VPSet(
245  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
246  name = 'conv2StepLoose',
247  applyAdaptedPVCuts = False,
248  chi2n_par = 3.0,
249  res_par = ( 0.003, 0.001 ),
250  minNumberLayers = 3,
251  maxNumberLostLayers = 1,
252  minNumber3DLayers = 1,
253  d0_par1 = ( 5., 8.0 ),
254  dz_par1 = ( 5., 8.0 ),
255  d0_par2 = ( 5., 8.0 ),
256  dz_par2 = ( 5., 8.0 )
257  ),
258  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
259  name = 'conv2StepTight',
260  preFilterName = 'conv2StepLoose',
261  chi2n_par = 2.5,
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.highpurityMTS.clone(
272  name = 'conv2Step',
273  preFilterName = 'conv2StepTight',
274  chi2n_par = 2.0,
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  ) #end of vpset
285 ) #end of clone
286 
287 Conv2StepTask = cms.Task( conv2Clusters
288  , conv2LayerPairs
289  , photonConvTrajSeedFromQuadruplets
290  , conv2TrackCandidates
291  , conv2StepTracks
292  , conv2StepSelector)
293 Conv2Step = cms.Sequence( Conv2StepTask )
TrajectoryFilter_cff
GroupedCkfTrajectoryBuilder_cfi
TrackProducer_cfi
RungeKuttaFitters_cff
PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi
CkfTrackCandidates_cfi
trackClusterRemover_cfi