9 detachedTripletStepClusters = cms.EDProducer(
"TrackClusterRemover",
10 clusterLessSolution = cms.bool(
True),
11 trajectories = cms.InputTag(
"initialStepTracks"),
12 overrideTrkQuals = cms.InputTag(
'initialStep'),
13 TrackQuality = cms.string(
'highPurity'),
14 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
15 pixelClusters = cms.InputTag(
"siPixelClusters"),
16 stripClusters = cms.InputTag(
"siStripClusters"),
18 maxChi2 = cms.double(9.0),
24 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
25 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag(
'detachedTripletStepClusters')
26 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag(
'detachedTripletStepClusters')
30 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
31 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
33 detachedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
34 detachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers =
'detachedTripletStepSeedLayers'
35 detachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
36 detachedTripletStepSeeds.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
37 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.3
38 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
39 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.5
41 detachedTripletStepSeeds.SeedComparitorPSet = cms.PSet(
42 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
43 FilterAtHelixStage = cms.bool(
False),
44 FilterPixelHits = cms.bool(
True),
45 FilterStripHits = cms.bool(
False),
46 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
47 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
52 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
53 maxLostHitsFraction = cms.double(1./10.),
54 constantValueForLostHitsFractionFilter = cms.double(0.701),
55 minimumNumberOfHits = 3,
59 import TrackingTools.KalmanUpdators.Chi2ChargeMeasurementEstimatorESProducer_cfi
60 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2ChargeMeasurementEstimatorESProducer_cfi.Chi2ChargeMeasurementEstimator.clone(
61 ComponentName = cms.string(
'detachedTripletStepChi2Est'),
62 nSigma = cms.double(3.0),
63 MaxChi2 = cms.double(9.0),
64 minGoodStripCharge = cms.double(2069),
69 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
70 MeasurementTrackerName =
'',
71 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'detachedTripletStepTrajectoryFilter')),
73 alwaysUseInvalidHits =
True,
74 estimator = cms.string(
'detachedTripletStepChi2Est'),
75 maxDPhiForLooperReconstruction = cms.double(2.0),
76 maxPtForLooperReconstruction = cms.double(0.7)
81 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
82 src = cms.InputTag(
'detachedTripletStepSeeds'),
83 clustersToSkip = cms.InputTag(
'detachedTripletStepClusters'),
85 numHitsForSeedCleaner = cms.int32(50),
86 onlyPixelHitsForSeedCleaner = cms.bool(
True),
87 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'detachedTripletStepTrajectoryBuilder')),
88 doSeedingRegionRebuilding =
True,
89 useHitsSplitting =
True
93 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
94 ComponentName = cms.string(
'detachedTripletStepTrajectoryCleanerBySharedHits'),
95 fractionShared = cms.double(0.13),
96 allowSharedFirstHit = cms.bool(
True)
98 detachedTripletStepTrackCandidates.TrajectoryCleaner =
'detachedTripletStepTrajectoryCleanerBySharedHits'
103 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
104 AlgorithmName = cms.string(
'iter3'),
105 src =
'detachedTripletStepTrackCandidates',
106 Fitter = cms.string(
'FlexibleKFFittingSmoother')
112 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
113 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
114 src=
'detachedTripletStepTracks',
115 useAnyMVA = cms.bool(
True),
116 GBRForestLabel = cms.string(
'MVASelectorIter3_13TeV_v0'),
117 trackSelectors= cms.VPSet(
118 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
119 name =
'detachedTripletStepVtxLoose',
121 useMVA = cms.bool(
True),
122 minMVA = cms.double(-0.5),
125 d0_par1 = ( 1.2, 3.0 ),
126 dz_par1 = ( 1.2, 3.0 ),
127 d0_par2 = ( 1.3, 3.0 ),
128 dz_par2 = ( 1.3, 3.0 )
130 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
131 name =
'detachedTripletStepTrkLoose',
133 useMVA = cms.bool(
True),
134 minMVA = cms.double(-0.5),
137 d0_par1 = ( 1.4, 4.0 ),
138 dz_par1 = ( 1.4, 4.0 ),
139 d0_par2 = ( 1.4, 4.0 ),
140 dz_par2 = ( 1.4, 4.0 )
142 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
143 name =
'detachedTripletStepVtxTight',
144 preFilterName =
'detachedTripletStepVtxLoose',
146 res_par = ( 0.003, 0.001 ),
148 maxNumberLostLayers = 1,
149 minNumber3DLayers = 3,
150 d0_par1 = ( 1.1, 3.0 ),
151 dz_par1 = ( 1.1, 3.0 ),
152 d0_par2 = ( 1.2, 3.0 ),
153 dz_par2 = ( 1.2, 3.0 )
155 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
156 name =
'detachedTripletStepTrkTight',
157 preFilterName =
'detachedTripletStepTrkLoose',
159 res_par = ( 0.003, 0.001 ),
161 maxNumberLostLayers = 1,
162 minNumber3DLayers = 4,
163 d0_par1 = ( 1.1, 4.0 ),
164 dz_par1 = ( 1.1, 4.0 ),
165 d0_par2 = ( 1.1, 4.0 ),
166 dz_par2 = ( 1.1, 4.0 )
168 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
169 name =
'detachedTripletStepVtx',
170 preFilterName =
'detachedTripletStepVtxLoose',
171 chi2n_par = cms.double(9999),
172 useMVA = cms.bool(
True),
173 minMVA = cms.double(0.5),
174 qualityBit = cms.string(
'highPurity'),
175 keepAllTracks = cms.bool(
True),
181 d0_par1 = ( 1.0, 3.0 ),
182 dz_par1 = ( 1.0, 3.0 ),
183 d0_par2 = ( 1.1, 3.0 ),
184 dz_par2 = ( 1.1, 3.0 )
186 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
187 name =
'detachedTripletStepTrk',
188 preFilterName =
'detachedTripletStepTrkLoose',
189 chi2n_par = cms.double(9999),
190 useMVA = cms.bool(
True),
191 minMVA = cms.double(0.5),
192 qualityBit = cms.string(
'highPurity'),
193 keepAllTracks = cms.bool(
True),
199 d0_par1 = ( 1.0, 4.0 ),
200 dz_par1 = ( 1.0, 4.0 ),
201 d0_par2 = ( 1.0, 4.0 ),
202 dz_par2 = ( 1.0, 4.0 )
208 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
209 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
210 TrackProducers = cms.VInputTag(cms.InputTag(
'detachedTripletStepTracks'),
211 cms.InputTag(
'detachedTripletStepTracks')),
212 hasSelector=cms.vint32(1,1),
213 shareFrac = cms.double(0.13),
214 indivShareFrac=cms.vdouble(0.13,0.13),
215 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"detachedTripletStepSelector",
"detachedTripletStepVtx"),
216 cms.InputTag(
"detachedTripletStepSelector",
"detachedTripletStepTrk")),
217 setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
218 writeOnlyTrkQuals=cms.bool(
True)
221 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
222 detachedTripletStepSeedLayers*
223 detachedTripletStepSeeds*
224 detachedTripletStepTrackCandidates*
225 detachedTripletStepTracks*
226 detachedTripletStepSelector*