9 detachedTripletStepClusters = cms.EDProducer(
"TrackClusterRemover",
10 clusterLessSolution = cms.bool(
True),
11 oldClusterRemovalInfo = cms.InputTag(
"initialStepClusters"),
12 trajectories = cms.InputTag(
"initialStepTracks"),
13 overrideTrkQuals = cms.InputTag(
'initialStep'),
14 TrackQuality = cms.string(
'highPurity'),
15 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
16 pixelClusters = cms.InputTag(
"siPixelClusters"),
17 stripClusters = cms.InputTag(
"siStripClusters"),
18 doStripChargeCheck = cms.bool(
True),
19 stripRecHits = cms.string(
'siStripMatchedRecHits'),
21 maxChi2 = cms.double(9.0),
22 minGoodStripCharge = cms.double(60.0)
28 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
29 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag(
'detachedTripletStepClusters')
30 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag(
'detachedTripletStepClusters')
34 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
35 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
37 detachedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
38 detachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers =
'detachedTripletStepSeedLayers'
39 detachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
40 detachedTripletStepSeeds.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
41 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.3
42 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
43 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.5
45 detachedTripletStepSeeds.SeedComparitorPSet = cms.PSet(
46 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
47 FilterAtHelixStage = cms.bool(
False),
48 FilterPixelHits = cms.bool(
True),
49 FilterStripHits = cms.bool(
False),
50 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter')
54 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
55 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
56 ComponentName =
'detachedTripletStepTrajectoryFilter',
57 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
58 maxLostHitsFraction = cms.double(1./10.),
59 constantValueForLostHitsFractionFilter = cms.double(0.701),
60 minimumNumberOfHits = 3,
66 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
67 ComponentName = cms.string(
'detachedTripletStepChi2Est'),
68 nSigma = cms.double(3.0),
69 MaxChi2 = cms.double(9.0)
74 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
75 ComponentName =
'detachedTripletStepTrajectoryBuilder',
76 MeasurementTrackerName =
'',
77 trajectoryFilterName =
'detachedTripletStepTrajectoryFilter',
78 clustersToSkip = cms.InputTag(
'detachedTripletStepClusters'),
80 alwaysUseInvalidHits =
True,
81 estimator = cms.string(
'detachedTripletStepChi2Est'),
82 maxDPhiForLooperReconstruction = cms.double(2.0),
83 maxPtForLooperReconstruction = cms.double(0.7)
88 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
89 src = cms.InputTag(
'detachedTripletStepSeeds'),
90 clustersToSkip = cms.InputTag(
'detachedTripletStepClusters'),
92 numHitsForSeedCleaner = cms.int32(50),
93 onlyPixelHitsForSeedCleaner = cms.bool(
True),
94 TrajectoryBuilder =
'detachedTripletStepTrajectoryBuilder',
95 doSeedingRegionRebuilding =
True,
96 useHitsSplitting =
True
100 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
101 ComponentName = cms.string(
'detachedTripletStepTrajectoryCleanerBySharedHits'),
102 fractionShared = cms.double(0.13),
103 allowSharedFirstHit = cms.bool(
True)
105 detachedTripletStepTrackCandidates.TrajectoryCleaner =
'detachedTripletStepTrajectoryCleanerBySharedHits'
110 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
111 AlgorithmName = cms.string(
'iter3'),
112 src =
'detachedTripletStepTrackCandidates',
113 Fitter = cms.string(
'FlexibleKFFittingSmoother')
119 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
120 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
121 src=
'detachedTripletStepTracks',
122 useAnyMVA = cms.bool(
True),
123 GBRForestLabel = cms.string(
'MVASelectorIter3'),
124 trackSelectors= cms.VPSet(
125 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
126 name =
'detachedTripletStepVtxLoose',
128 res_par = ( 0.003, 0.001 ),
130 d0_par1 = ( 1.2, 3.0 ),
131 dz_par1 = ( 1.2, 3.0 ),
132 d0_par2 = ( 1.3, 3.0 ),
133 dz_par2 = ( 1.3, 3.0 )
135 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
136 name =
'detachedTripletStepTrkLoose',
138 res_par = ( 0.003, 0.001 ),
140 d0_par1 = ( 1.4, 4.0 ),
141 dz_par1 = ( 1.4, 4.0 ),
142 d0_par2 = ( 1.4, 4.0 ),
143 dz_par2 = ( 1.4, 4.0 )
145 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
146 name =
'detachedTripletStepVtxTight',
147 preFilterName =
'detachedTripletStepVtxLoose',
149 res_par = ( 0.003, 0.001 ),
151 maxNumberLostLayers = 1,
152 minNumber3DLayers = 3,
153 d0_par1 = ( 1.1, 3.0 ),
154 dz_par1 = ( 1.1, 3.0 ),
155 d0_par2 = ( 1.2, 3.0 ),
156 dz_par2 = ( 1.2, 3.0 )
158 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
159 name =
'detachedTripletStepTrkTight',
160 preFilterName =
'detachedTripletStepTrkLoose',
162 res_par = ( 0.003, 0.001 ),
164 maxNumberLostLayers = 1,
165 minNumber3DLayers = 4,
166 d0_par1 = ( 1.1, 4.0 ),
167 dz_par1 = ( 1.1, 4.0 ),
168 d0_par2 = ( 1.1, 4.0 ),
169 dz_par2 = ( 1.1, 4.0 )
171 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
172 name =
'detachedTripletStepVtx',
173 preFilterName =
'detachedTripletStepVtxTight',
175 res_par = ( 0.003, 0.001 ),
177 maxNumberLostLayers = 1,
178 minNumber3DLayers = 3,
179 d0_par1 = ( 1.0, 3.0 ),
180 dz_par1 = ( 1.0, 3.0 ),
181 d0_par2 = ( 1.1, 3.0 ),
182 dz_par2 = ( 1.1, 3.0 )
184 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
185 name =
'detachedTripletStepTrk',
186 preFilterName =
'detachedTripletStepTrkTight',
188 res_par = ( 0.003, 0.001 ),
190 maxNumberLostLayers = 0,
191 minNumber3DLayers = 4,
192 d0_par1 = ( 1.0, 4.0 ),
193 dz_par1 = ( 1.0, 4.0 ),
194 d0_par2 = ( 1.0, 4.0 ),
195 dz_par2 = ( 1.0, 4.0 )
201 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
202 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
203 TrackProducers = cms.VInputTag(cms.InputTag(
'detachedTripletStepTracks'),
204 cms.InputTag(
'detachedTripletStepTracks')),
205 hasSelector=cms.vint32(1,1),
206 shareFrac = cms.double(0.13),
207 indivShareFrac=cms.vdouble(0.13,0.13),
208 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"detachedTripletStepSelector",
"detachedTripletStepVtx"),
209 cms.InputTag(
"detachedTripletStepSelector",
"detachedTripletStepTrk")),
210 setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
211 writeOnlyTrkQuals=cms.bool(
True)
214 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
215 detachedTripletStepSeedLayers*
216 detachedTripletStepSeeds*
217 detachedTripletStepTrackCandidates*
218 detachedTripletStepTracks*
219 detachedTripletStepSelector*