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"),
19 maxChi2 = cms.double(9.0)
25 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
26 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag(
'detachedTripletStepClusters')
27 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag(
'detachedTripletStepClusters')
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
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')
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,
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)
71 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
72 ComponentName =
'detachedTripletStepTrajectoryBuilder',
73 MeasurementTrackerName =
'',
74 trajectoryFilterName =
'detachedTripletStepTrajectoryFilter',
75 clustersToSkip = cms.InputTag(
'detachedTripletStepClusters'),
77 alwaysUseInvalidHits =
False,
78 estimator = cms.string(
'detachedTripletStepChi2Est'),
79 maxDPhiForLooperReconstruction = cms.double(2.0),
80 maxPtForLooperReconstruction = cms.double(0.7)
85 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
86 src = cms.InputTag(
'detachedTripletStepSeeds'),
88 numHitsForSeedCleaner = cms.int32(50),
89 onlyPixelHitsForSeedCleaner = cms.bool(
True),
90 TrajectoryBuilder =
'detachedTripletStepTrajectoryBuilder',
91 doSeedingRegionRebuilding =
True,
92 useHitsSplitting =
True
96 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
97 ComponentName = cms.string(
'detachedTripletStepTrajectoryCleanerBySharedHits'),
98 fractionShared = cms.double(0.13),
99 allowSharedFirstHit = cms.bool(
True)
101 detachedTripletStepTrackCandidates.TrajectoryCleaner =
'detachedTripletStepTrajectoryCleanerBySharedHits'
106 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
107 AlgorithmName = cms.string(
'iter3'),
108 src =
'detachedTripletStepTrackCandidates',
109 Fitter = cms.string(
'FlexibleKFFittingSmoother')
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',
122 res_par = ( 0.003, 0.001 ),
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 )
131 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
132 name =
'detachedTripletStepTrkLoose',
134 res_par = ( 0.003, 0.001 ),
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 )
143 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
144 name =
'detachedTripletStepVtxTight',
145 preFilterName =
'detachedTripletStepVtxLoose',
147 res_par = ( 0.003, 0.001 ),
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 )
156 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
157 name =
'detachedTripletStepTrkTight',
158 preFilterName =
'detachedTripletStepTrkLoose',
160 res_par = ( 0.003, 0.001 ),
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 )
169 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
170 name =
'detachedTripletStepVtx',
171 preFilterName =
'detachedTripletStepVtxTight',
173 res_par = ( 0.003, 0.001 ),
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 )
182 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
183 name =
'detachedTripletStepTrk',
184 preFilterName =
'detachedTripletStepTrkTight',
186 res_par = ( 0.003, 0.001 ),
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 )
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)
212 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
213 detachedTripletStepSeedLayers*
214 detachedTripletStepSeeds*
215 detachedTripletStepTrackCandidates*
216 detachedTripletStepTracks*
217 detachedTripletStepSelector*