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 = cms.PSet(
92  TTRHBuilder = cms.string('WithTrackAngle'),
93  HitProducer = cms.string('siPixelRecHits'),
94  skipClusters = cms.InputTag('conv2Clusters'),
95  ),
96  FPix = cms.PSet(
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'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
103  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
104  skipClusters = cms.InputTag('conv2Clusters'),
105  ),
106  TIB2 = cms.PSet(
107  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
108  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
109  skipClusters = cms.InputTag('conv2Clusters'),
110  ),
111  TIB3 = cms.PSet(
112  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
113  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
114  skipClusters = cms.InputTag('conv2Clusters'),
115  ),
116  TIB4 = cms.PSet(
117  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
118  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
119  skipClusters = cms.InputTag('conv2Clusters'),
120  ),
121  TID1 = cms.PSet(
122  useSimpleRphiHitsCleaner = cms.bool(False),
123  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
124  useRingSlector = cms.bool(True),
125  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
126  maxRing = cms.int32(2),
127  minRing = cms.int32(1),
128  skipClusters = cms.InputTag('conv2Clusters'),
129  ),
130  TID2 = cms.PSet(
131  useSimpleRphiHitsCleaner = cms.bool(False),
132  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
133  useRingSlector = cms.bool(True),
134  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
135  maxRing = cms.int32(2),
136  minRing = cms.int32(1),
137  skipClusters = cms.InputTag('conv2Clusters'),
138  ),
139  TID3 = cms.PSet(
140  useSimpleRphiHitsCleaner = cms.bool(False),
141  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
142  useRingSlector = cms.bool(True),
143  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
144  maxRing = cms.int32(2),
145  minRing = cms.int32(1),
146  skipClusters = cms.InputTag('conv2Clusters'),
147  ),
148  TEC = cms.PSet(
149  useSimpleRphiHitsCleaner = cms.bool(False),
150  minRing = cms.int32(1),
151  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
152  useRingSlector = cms.bool(True),
153  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
154  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHitUnmatched'),
155  maxRing = cms.int32(7),
156  stereoRecHits = cms.InputTag('siStripMatchedRecHits','stereoRecHitUnmatched'),
157  skipClusters = cms.InputTag('conv2Clusters'),
158  ),
159  TOB1 = cms.PSet(
160  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
161  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
162  skipClusters = cms.InputTag('conv2Clusters'),
163  ),
164  TOB2 = cms.PSet(
165  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
166  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
167  skipClusters = cms.InputTag('conv2Clusters'),
168  ),
169  TOB3 = cms.PSet(
170  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
171  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
172  skipClusters = cms.InputTag('conv2Clusters'),
173  ),
174  TOB4 = cms.PSet(
175  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
176  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
177  skipClusters = cms.InputTag('conv2Clusters'),
178  ),
179  TOB5 = cms.PSet(
180  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
181  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
182  skipClusters = cms.InputTag('conv2Clusters'),
183  ),
184  TOB6 = cms.PSet(
185  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
186  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
187  skipClusters = cms.InputTag('conv2Clusters'),
188  )
189  )
190 
191 
192 photonConvTrajSeedFromQuadruplets.TrackRefitter = 'generalTracks'
193 photonConvTrajSeedFromQuadruplets.primaryVerticesTag = 'pixelVertices'
194 
195 
196 # TRACKER DATA CONTROL
197 
198 # QUALITY CUTS DURING TRACK BUILDING
200 conv2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
201  maxLostHits = 1,
202  minimumNumberOfHits = 3,
203  minPt = 0.1
204 )
205 
206 # TRACK BUILDING
208 conv2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
209  trajectoryFilter = dict(refToPSet_ = 'conv2CkfTrajectoryFilter'),
210  minNrOfHitsForRebuild = 3,
211  clustersToSkip = cms.InputTag('conv2Clusters'),
212  maxCand = 2
213 )
214 
215 # MAKING OF TRACK CANDIDATES
217 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
218  src = 'photonConvTrajSeedFromQuadruplets:conv2SeedCandidates',
219  TrajectoryBuilderPSet = dict(refToPSet_ = 'conv2CkfTrajectoryBuilder')
220 )
221 
223 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
224  ComponentName = 'conv2StepFitterSmoother',
225  EstimateCut = 30,
226  Smoother = 'conv2StepRKSmoother'
227 )
228 
229 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
230  ComponentName = 'conv2StepRKSmoother',
231  errorRescaling = 10.0
232 )
233 
234 # TRACK FITTING
236 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
237  src = 'conv2TrackCandidates',
238  AlgorithmName = 'conversionStep',
239  Fitter = 'conv2StepFitterSmoother',
240 )
241 
242 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
243 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
244  src='conv2StepTracks',
245  trackSelectors= cms.VPSet(
246  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
247  name = 'conv2StepLoose',
248  applyAdaptedPVCuts = False,
249  chi2n_par = 3.0,
250  res_par = ( 0.003, 0.001 ),
251  minNumberLayers = 3,
252  maxNumberLostLayers = 1,
253  minNumber3DLayers = 1,
254  d0_par1 = ( 5., 8.0 ),
255  dz_par1 = ( 5., 8.0 ),
256  d0_par2 = ( 5., 8.0 ),
257  dz_par2 = ( 5., 8.0 )
258  ),
259  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
260  name = 'conv2StepTight',
261  preFilterName = 'conv2StepLoose',
262  chi2n_par = 2.5,
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.highpurityMTS.clone(
273  name = 'conv2Step',
274  preFilterName = 'conv2StepTight',
275  chi2n_par = 2.0,
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  ) #end of vpset
286 ) #end of clone
287 
288 Conv2StepTask = cms.Task( conv2Clusters
289  , conv2LayerPairs
290  , photonConvTrajSeedFromQuadruplets
291  , conv2TrackCandidates
292  , conv2StepTracks
293  , conv2StepSelector)
294 Conv2Step = cms.Sequence( Conv2StepTask )
TrajectoryFilter_cff
GroupedCkfTrajectoryBuilder_cfi
TrackProducer_cfi
RungeKuttaFitters_cff
PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi
CkfTrackCandidates_cfi
trackClusterRemover_cfi
seedingLayersEDProducer_cfi