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.3
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.701),
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 d0_par1 = ( 0.9, 3.0 ),
125 dz_par1 = ( 0.9, 3.0 ),
126 d0_par2 = ( 1.0, 3.0 ),
127 dz_par2 = ( 1.0, 3.0 )
129 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
130 name =
'detachedTripletStepTrkLoose',
132 res_par = ( 0.003, 0.001 ),
134 d0_par1 = ( 1.3, 4.0 ),
135 dz_par1 = ( 1.4, 4.0 ),
136 d0_par2 = ( 1.4, 4.0 ),
137 dz_par2 = ( 1.4, 4.0 )
139 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
140 name =
'detachedTripletStepVtxTight',
141 preFilterName =
'detachedTripletStepVtxLoose',
143 res_par = ( 0.003, 0.001 ),
145 maxNumberLostLayers = 1,
146 minNumber3DLayers = 3,
147 d0_par1 = ( 0.9, 3.0 ),
148 dz_par1 = ( 0.9, 3.0 ),
149 d0_par2 = ( 0.9, 3.0 ),
150 dz_par2 = ( 0.9, 3.0 )
152 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
153 name =
'detachedTripletStepTrkTight',
154 preFilterName =
'detachedTripletStepTrkLoose',
156 res_par = ( 0.003, 0.001 ),
158 maxNumberLostLayers = 1,
159 minNumber3DLayers = 4,
160 d0_par1 = ( 1.1, 4.0 ),
161 dz_par1 = ( 1.1, 4.0 ),
162 d0_par2 = ( 1.1, 4.0 ),
163 dz_par2 = ( 1.1, 4.0 )
165 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
166 name =
'detachedTripletStepVtx',
167 preFilterName =
'detachedTripletStepVtxTight',
169 res_par = ( 0.003, 0.001 ),
171 maxNumberLostLayers = 1,
172 minNumber3DLayers = 3,
173 d0_par1 = ( 0.8, 3.0 ),
174 dz_par1 = ( 0.8, 3.0 ),
175 d0_par2 = ( 0.8, 3.0 ),
176 dz_par2 = ( 0.8, 3.0 )
178 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
179 name =
'detachedTripletStepTrk',
180 preFilterName =
'detachedTripletStepTrkTight',
182 res_par = ( 0.003, 0.001 ),
184 maxNumberLostLayers = 0,
185 minNumber3DLayers = 4,
186 d0_par1 = ( 1.0, 4.0 ),
187 dz_par1 = ( 1.0, 4.0 ),
188 d0_par2 = ( 0.9, 4.0 ),
189 dz_par2 = ( 0.9, 4.0 )
195 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
196 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
197 TrackProducers = cms.VInputTag(cms.InputTag(
'detachedTripletStepTracks'),
198 cms.InputTag(
'detachedTripletStepTracks')),
199 hasSelector=cms.vint32(1,1),
200 shareFrac = cms.double(0.13),
201 indivShareFrac=cms.vdouble(0.13,0.13),
202 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"detachedTripletStepSelector",
"detachedTripletStepVtx"),
203 cms.InputTag(
"detachedTripletStepSelector",
"detachedTripletStepTrk")),
204 setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
205 writeOnlyTrkQuals=cms.bool(
True)
208 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
209 detachedTripletStepSeedLayers*
210 detachedTripletStepSeeds*
211 detachedTripletStepTrackCandidates*
212 detachedTripletStepTracks*
213 detachedTripletStepSelector*