CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LowPU_DetachedTripletStep_cff.py
Go to the documentation of this file.
2 
3 ###############################################
4 # Low pT and detached tracks from pixel triplets
5 ###############################################
6 
7 # REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
8 
9 detachedTripletStepClusters = cms.EDProducer("TrackClusterRemover",
10  clusterLessSolution = cms.bool(True),
11  oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
12  trajectories = cms.InputTag("pixelPairStepTracks"),
13  overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep'),
14  TrackQuality = cms.string('highPurity'),
15  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
16  pixelClusters = cms.InputTag("siPixelClusters"),
17  stripClusters = cms.InputTag("siStripClusters"),
18  Common = cms.PSet(
19  maxChi2 = cms.double(9.0)
20  )
21 )
22 
23 # SEEDING LAYERS
25 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
26 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
27 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
28 
29 # SEEDS
31 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
32 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
34 detachedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
35 detachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'detachedTripletStepSeedLayers'
36 detachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
37 detachedTripletStepSeeds.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
38 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.5
39 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
40 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.0
41 
42 detachedTripletStepSeeds.SeedComparitorPSet = cms.PSet(
43  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
44  FilterAtHelixStage = cms.bool(False),
45  FilterPixelHits = cms.bool(True),
46  FilterStripHits = cms.bool(False),
47  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
48  )
49 
50 # QUALITY CUTS DURING TRACK BUILDING
51 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
52 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
53  ComponentName = 'detachedTripletStepTrajectoryFilter',
54  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
55  maxLostHitsFraction = cms.double(1./10.),
56  constantValueForLostHitsFractionFilter = cms.double(0.601),
57  minimumNumberOfHits = 3,
58  minPt = 0.075
59  )
60  )
61 
63 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
64  ComponentName = cms.string('detachedTripletStepChi2Est'),
65  nSigma = cms.double(3.0),
66  MaxChi2 = cms.double(9.0)
67 )
68 
69 # TRACK BUILDING
71 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
72  ComponentName = 'detachedTripletStepTrajectoryBuilder',
73  MeasurementTrackerName = '',
74  trajectoryFilterName = 'detachedTripletStepTrajectoryFilter',
75  clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
76  maxCand = 2,
77  alwaysUseInvalidHits = False,
78  estimator = cms.string('detachedTripletStepChi2Est'),
79  maxDPhiForLooperReconstruction = cms.double(2.0),
80  maxPtForLooperReconstruction = cms.double(0.7)
81  )
82 
83 # MAKING OF TRACK CANDIDATES
85 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
86  src = cms.InputTag('detachedTripletStepSeeds'),
87  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
88  numHitsForSeedCleaner = cms.int32(50),
89  onlyPixelHitsForSeedCleaner = cms.bool(True),
90  TrajectoryBuilder = 'detachedTripletStepTrajectoryBuilder',
91  doSeedingRegionRebuilding = True,
92  useHitsSplitting = True
93  )
94 
95 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
96 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
97  ComponentName = cms.string('detachedTripletStepTrajectoryCleanerBySharedHits'),
98  fractionShared = cms.double(0.13),
99  allowSharedFirstHit = cms.bool(True)
100  )
101 detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
102 
103 
104 # TRACK FITTING
106 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
107  AlgorithmName = cms.string('iter3'),
108  src = 'detachedTripletStepTrackCandidates',
109  Fitter = cms.string('FlexibleKFFittingSmoother')
110  )
111 
112 # TRACK SELECTION AND QUALITY FLAG SETTING.
113 
114 # TRACK SELECTION AND QUALITY FLAG SETTING.
115 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
116 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
117  src='detachedTripletStepTracks',
118  trackSelectors= cms.VPSet(
119  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
120  name = 'detachedTripletStepVtxLoose',
121  chi2n_par = 0.9,
122  res_par = ( 0.003, 0.001 ),
123  minNumberLayers = 3,
124  maxNumberLostLayers = 3,
125  minNumber3DLayers = 3,
126  d0_par1 = ( 0.9, 3.0 ),
127  dz_par1 = ( 0.9, 3.0 ),
128  d0_par2 = ( 1.0, 3.0 ),
129  dz_par2 = ( 1.0, 3.0 )
130  ),
131  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
132  name = 'detachedTripletStepTrkLoose',
133  chi2n_par = 0.6,
134  res_par = ( 0.003, 0.001 ),
135  minNumberLayers = 3,
136  maxNumberLostLayers = 2,
137  minNumber3DLayers = 3,
138  d0_par1 = ( 1.3, 4.0 ),
139  dz_par1 = ( 1.4, 4.0 ),
140  d0_par2 = ( 1.4, 4.0 ),
141  dz_par2 = ( 1.4, 4.0 )
142  ),
143  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
144  name = 'detachedTripletStepVtxTight',
145  preFilterName = 'detachedTripletStepVtxLoose',
146  chi2n_par = 0.9,
147  res_par = ( 0.003, 0.001 ),
148  minNumberLayers = 3,
149  maxNumberLostLayers = 1,
150  minNumber3DLayers = 3,
151  d0_par1 = ( 0.95, 3.0 ),
152  dz_par1 = ( 0.9, 3.0 ),
153  d0_par2 = ( 1.0, 3.0 ),
154  dz_par2 = ( 1.0, 3.0 )
155  ),
156  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
157  name = 'detachedTripletStepTrkTight',
158  preFilterName = 'detachedTripletStepTrkLoose',
159  chi2n_par = 0.5,
160  res_par = ( 0.003, 0.001 ),
161  minNumberLayers = 5,
162  maxNumberLostLayers = 1,
163  minNumber3DLayers = 4,
164  d0_par1 = ( 1.1, 4.0 ),
165  dz_par1 = ( 1.1, 4.0 ),
166  d0_par2 = ( 1.1, 4.0 ),
167  dz_par2 = ( 1.1, 4.0 )
168  ),
169  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
170  name = 'detachedTripletStepVtx',
171  preFilterName = 'detachedTripletStepVtxTight',
172  chi2n_par = 0.9,
173  res_par = ( 0.003, 0.001 ),
174  minNumberLayers = 3,
175  maxNumberLostLayers = 1,
176  minNumber3DLayers = 3,
177  d0_par1 = ( 0.8, 3.0 ),
178  dz_par1 = ( 0.8, 3.0 ),
179  d0_par2 = ( 0.8, 3.0 ),
180  dz_par2 = ( 0.8, 3.0 )
181  ),
182  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
183  name = 'detachedTripletStepTrk',
184  preFilterName = 'detachedTripletStepTrkTight',
185  chi2n_par = 0.25,
186  res_par = ( 0.003, 0.001 ),
187  minNumberLayers = 5,
188  maxNumberLostLayers = 0,
189  minNumber3DLayers = 4,
190  d0_par1 = ( 1.0, 4.0 ),
191  dz_par1 = ( 1.0, 4.0 ),
192  d0_par2 = ( 0.9, 4.0 ),
193  dz_par2 = ( 0.9, 4.0 )
194  )
195  ) #end of vpset
196  ) #end of clone
197 
198 
199 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
200 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
201  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
202  cms.InputTag('detachedTripletStepTracks')),
203  hasSelector=cms.vint32(1,1),
204  shareFrac = cms.double(0.13),
205  indivShareFrac=cms.vdouble(0.13,0.13),
206  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
207  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
208  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
209  writeOnlyTrkQuals=cms.bool(True)
210 )
211 
212 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
213  detachedTripletStepSeedLayers*
214  detachedTripletStepSeeds*
215  detachedTripletStepTrackCandidates*
216  detachedTripletStepTracks*
217  detachedTripletStepSelector*
218  detachedTripletStep)