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  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
49  )
50 
51 # QUALITY CUTS DURING TRACK BUILDING
53 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
54  maxLostHitsFraction = cms.double(1./10.),
55  constantValueForLostHitsFractionFilter = cms.double(0.601),
56  minimumNumberOfHits = 3,
57  minPt = 0.075
58  )
59 
61 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
62  ComponentName = cms.string('detachedTripletStepChi2Est'),
63  nSigma = cms.double(3.0),
64  MaxChi2 = cms.double(9.0)
65 )
66 
67 # TRACK BUILDING
69 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
70  MeasurementTrackerName = '',
71  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryFilter')),
72  clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
73  maxCand = 2,
74  alwaysUseInvalidHits = False,
75  estimator = cms.string('detachedTripletStepChi2Est'),
76  maxDPhiForLooperReconstruction = cms.double(2.0),
77  maxPtForLooperReconstruction = cms.double(0.7)
78  )
79 
80 # MAKING OF TRACK CANDIDATES
82 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
83  src = cms.InputTag('detachedTripletStepSeeds'),
84  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
85  numHitsForSeedCleaner = cms.int32(50),
86  onlyPixelHitsForSeedCleaner = cms.bool(True),
87  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryBuilder')),
88  doSeedingRegionRebuilding = True,
89  useHitsSplitting = True
90  )
91 
92 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
93 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
94  ComponentName = cms.string('detachedTripletStepTrajectoryCleanerBySharedHits'),
95  fractionShared = cms.double(0.13),
96  allowSharedFirstHit = cms.bool(True)
97  )
98 detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
99 
100 
101 # TRACK FITTING
103 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
104  AlgorithmName = cms.string('iter3'),
105  src = 'detachedTripletStepTrackCandidates',
106  Fitter = cms.string('FlexibleKFFittingSmoother')
107  )
108 
109 # TRACK SELECTION AND QUALITY FLAG SETTING.
110 
111 # TRACK SELECTION AND QUALITY FLAG SETTING.
112 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
113 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
114  src='detachedTripletStepTracks',
115  trackSelectors= cms.VPSet(
116  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
117  name = 'detachedTripletStepVtxLoose',
118  chi2n_par = 0.9,
119  res_par = ( 0.003, 0.001 ),
120  minNumberLayers = 3,
121  maxNumberLostLayers = 3,
122  minNumber3DLayers = 3,
123  d0_par1 = ( 0.9, 3.0 ),
124  dz_par1 = ( 0.9, 3.0 ),
125  d0_par2 = ( 1.0, 3.0 ),
126  dz_par2 = ( 1.0, 3.0 )
127  ),
128  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
129  name = 'detachedTripletStepTrkLoose',
130  chi2n_par = 0.6,
131  res_par = ( 0.003, 0.001 ),
132  minNumberLayers = 3,
133  maxNumberLostLayers = 2,
134  minNumber3DLayers = 3,
135  d0_par1 = ( 1.3, 4.0 ),
136  dz_par1 = ( 1.4, 4.0 ),
137  d0_par2 = ( 1.4, 4.0 ),
138  dz_par2 = ( 1.4, 4.0 )
139  ),
140  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
141  name = 'detachedTripletStepVtxTight',
142  preFilterName = 'detachedTripletStepVtxLoose',
143  chi2n_par = 0.9,
144  res_par = ( 0.003, 0.001 ),
145  minNumberLayers = 3,
146  maxNumberLostLayers = 1,
147  minNumber3DLayers = 3,
148  d0_par1 = ( 0.95, 3.0 ),
149  dz_par1 = ( 0.9, 3.0 ),
150  d0_par2 = ( 1.0, 3.0 ),
151  dz_par2 = ( 1.0, 3.0 )
152  ),
153  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
154  name = 'detachedTripletStepTrkTight',
155  preFilterName = 'detachedTripletStepTrkLoose',
156  chi2n_par = 0.5,
157  res_par = ( 0.003, 0.001 ),
158  minNumberLayers = 5,
159  maxNumberLostLayers = 1,
160  minNumber3DLayers = 4,
161  d0_par1 = ( 1.1, 4.0 ),
162  dz_par1 = ( 1.1, 4.0 ),
163  d0_par2 = ( 1.1, 4.0 ),
164  dz_par2 = ( 1.1, 4.0 )
165  ),
166  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
167  name = 'detachedTripletStepVtx',
168  preFilterName = 'detachedTripletStepVtxTight',
169  chi2n_par = 0.9,
170  res_par = ( 0.003, 0.001 ),
171  minNumberLayers = 3,
172  maxNumberLostLayers = 1,
173  minNumber3DLayers = 3,
174  d0_par1 = ( 0.8, 3.0 ),
175  dz_par1 = ( 0.8, 3.0 ),
176  d0_par2 = ( 0.8, 3.0 ),
177  dz_par2 = ( 0.8, 3.0 )
178  ),
179  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
180  name = 'detachedTripletStepTrk',
181  preFilterName = 'detachedTripletStepTrkTight',
182  chi2n_par = 0.25,
183  res_par = ( 0.003, 0.001 ),
184  minNumberLayers = 5,
185  maxNumberLostLayers = 0,
186  minNumber3DLayers = 4,
187  d0_par1 = ( 1.0, 4.0 ),
188  dz_par1 = ( 1.0, 4.0 ),
189  d0_par2 = ( 0.9, 4.0 ),
190  dz_par2 = ( 0.9, 4.0 )
191  )
192  ) #end of vpset
193  ) #end of clone
194 
195 
196 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
197 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
198  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
199  cms.InputTag('detachedTripletStepTracks')),
200  hasSelector=cms.vint32(1,1),
201  shareFrac = cms.double(0.13),
202  indivShareFrac=cms.vdouble(0.13,0.13),
203  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
204  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
205  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
206  writeOnlyTrkQuals=cms.bool(True)
207 )
208 
209 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
210  detachedTripletStepSeedLayers*
211  detachedTripletStepSeeds*
212  detachedTripletStepTrackCandidates*
213  detachedTripletStepTracks*
214  detachedTripletStepSelector*
215  detachedTripletStep)