7 mixedTripletStepClusters = cms.EDProducer(
"TrackClusterRemover",
8 clusterLessSolution = cms.bool(
True),
9 oldClusterRemovalInfo = cms.InputTag(
"pixelPairStepClusters"),
10 trajectories = cms.InputTag(
"pixelPairStepTracks"),
11 overrideTrkQuals = cms.InputTag(
'pixelPairStepSelector',
'pixelPairStep'),
12 TrackQuality = cms.string(
'highPurity'),
13 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
14 pixelClusters = cms.InputTag(
"siPixelClusters"),
15 stripClusters = cms.InputTag(
"siStripClusters"),
16 doStripChargeCheck = cms.bool(
True),
17 stripRecHits = cms.string(
'siStripMatchedRecHits'),
19 maxChi2 = cms.double(9.0),
20 minGoodStripCharge = cms.double(2069)
25 mixedTripletStepSeedLayersA = cms.EDProducer(
"SeedingLayersEDProducer",
26 layerList = cms.vstring(
'BPix1+BPix2+BPix3',
27 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
28 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
29 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg'),
31 TTRHBuilder = cms.string(
'TTRHBuilderWithoutAngle4MixedTriplets'),
32 HitProducer = cms.string(
'siPixelRecHits'),
33 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
36 TTRHBuilder = cms.string(
'TTRHBuilderWithoutAngle4MixedTriplets'),
37 HitProducer = cms.string(
'siPixelRecHits'),
38 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
41 matchedRecHits = cms.InputTag(
"siStripMatchedRecHits",
"matchedRecHit"),
42 useRingSlector = cms.bool(
True),
43 TTRHBuilder = cms.string(
'WithTrackAngle'),
44 minRing = cms.int32(1),
45 maxRing = cms.int32(1),
46 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
52 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
53 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
55 mixedTripletStepSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
56 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersA'
57 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
58 mixedTripletStepSeedsA.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
59 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 0.4
60 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
61 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 1.5
64 mixedTripletStepClusterShapeHitFilter = RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi.ClusterShapeHitFilterESProducer.clone(
65 ComponentName = cms.string(
'mixedTripletStepClusterShapeHitFilter'),
66 PixelShapeFile= cms.string(
'RecoPixelVertexing/PixelLowPtUtilities/data/pixelShape.par'),
67 minGoodStripCharge = cms.double(2069)
70 mixedTripletStepSeedsA.SeedComparitorPSet = cms.PSet(
71 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
72 FilterAtHelixStage = cms.bool(
False),
73 FilterPixelHits = cms.bool(
True),
74 FilterStripHits = cms.bool(
True),
75 ClusterShapeHitFilterName = cms.string(
'mixedTripletStepClusterShapeHitFilter'),
76 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
80 mixedTripletStepSeedLayersB = cms.EDProducer(
"SeedingLayersEDProducer",
81 layerList = cms.vstring(
'BPix2+BPix3+TIB1'),
83 TTRHBuilder = cms.string(
'TTRHBuilderWithoutAngle4MixedTriplets'),
84 HitProducer = cms.string(
'siPixelRecHits'),
85 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
88 matchedRecHits = cms.InputTag(
"siStripMatchedRecHits",
"matchedRecHit"),
89 TTRHBuilder = cms.string(
'WithTrackAngle'),
90 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
96 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
97 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
99 mixedTripletStepSeedsB = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
100 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersB'
101 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
102 mixedTripletStepSeedsB.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
103 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.ptMin = 0.6
104 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
105 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 1.5
107 mixedTripletStepSeedsB.SeedComparitorPSet = cms.PSet(
108 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
109 FilterAtHelixStage = cms.bool(
False),
110 FilterPixelHits = cms.bool(
True),
111 FilterStripHits = cms.bool(
True),
112 ClusterShapeHitFilterName = cms.string(
'mixedTripletStepClusterShapeHitFilter'),
113 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
117 mixedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
118 mixedTripletStepSeeds.seedCollections = cms.VInputTag(
119 cms.InputTag(
'mixedTripletStepSeedsA'),
120 cms.InputTag(
'mixedTripletStepSeedsB'),
125 mixedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
127 minimumNumberOfHits = 3,
134 mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
136 ComponentName =
'mixedTripletStepPropagator',
141 mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
143 ComponentName =
'mixedTripletStepPropagatorOpposite',
147 import TrackingTools.KalmanUpdators.Chi2ChargeMeasurementEstimatorESProducer_cfi
148 mixedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2ChargeMeasurementEstimatorESProducer_cfi.Chi2ChargeMeasurementEstimator.clone(
149 ComponentName = cms.string(
'mixedTripletStepChi2Est'),
150 nSigma = cms.double(3.0),
151 MaxChi2 = cms.double(16.0),
152 minGoodStripCharge = cms.double(2069)
157 mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
158 MeasurementTrackerName =
'',
159 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'mixedTripletStepTrajectoryFilter')),
160 propagatorAlong = cms.string(
'mixedTripletStepPropagator'),
161 propagatorOpposite = cms.string(
'mixedTripletStepPropagatorOpposite'),
163 estimator = cms.string(
'mixedTripletStepChi2Est'),
164 maxDPhiForLooperReconstruction = cms.double(2.0),
165 maxPtForLooperReconstruction = cms.double(0.7)
170 mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
171 src = cms.InputTag(
'mixedTripletStepSeeds'),
172 clustersToSkip = cms.InputTag(
'mixedTripletStepClusters'),
174 numHitsForSeedCleaner = cms.int32(50),
177 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'mixedTripletStepTrajectoryBuilder')),
178 doSeedingRegionRebuilding =
True,
179 useHitsSplitting =
True
184 mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
185 ComponentName = cms.string(
'mixedTripletStepTrajectoryCleanerBySharedHits'),
186 fractionShared = cms.double(0.11),
187 allowSharedFirstHit = cms.bool(
True)
189 mixedTripletStepTrackCandidates.TrajectoryCleaner =
'mixedTripletStepTrajectoryCleanerBySharedHits'
194 mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
195 AlgorithmName = cms.string(
'iter4'),
196 src =
'mixedTripletStepTrackCandidates',
197 Fitter = cms.string(
'FlexibleKFFittingSmoother')
201 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
202 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
203 src=
'mixedTripletStepTracks',
204 useAnyMVA = cms.bool(
True),
205 GBRForestLabel = cms.string(
'MVASelectorIter4_13TeV_v0'),
206 trackSelectors= cms.VPSet(
207 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
208 name =
'mixedTripletStepVtxLoose',
209 useMVA = cms.bool(
True),
210 minMVA = cms.double(-0.5),
217 d0_par1 = ( 1.2, 3.0 ),
218 dz_par1 = ( 1.2, 3.0 ),
219 d0_par2 = ( 1.3, 3.0 ),
220 dz_par2 = ( 1.3, 3.0 )
222 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
223 name =
'mixedTripletStepTrkLoose',
224 useMVA = cms.bool(
True),
225 minMVA = cms.double(-0.5),
232 d0_par1 = ( 1.1, 4.0 ),
233 dz_par1 = ( 1.1, 4.0 ),
234 d0_par2 = ( 1.1, 4.0 ),
235 dz_par2 = ( 1.1, 4.0 )
237 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
238 name =
'mixedTripletStepVtxTight',
239 preFilterName =
'mixedTripletStepVtxLoose',
241 res_par = ( 0.003, 0.001 ),
243 maxNumberLostLayers = 1,
244 minNumber3DLayers = 3,
245 d0_par1 = ( 1.1, 3.0 ),
246 dz_par1 = ( 1.1, 3.0 ),
247 d0_par2 = ( 1.2, 3.0 ),
248 dz_par2 = ( 1.2, 3.0 )
250 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
251 name =
'mixedTripletStepTrkTight',
252 preFilterName =
'mixedTripletStepTrkLoose',
254 res_par = ( 0.003, 0.001 ),
256 maxNumberLostLayers = 1,
257 minNumber3DLayers = 4,
258 d0_par1 = ( 1.0, 4.0 ),
259 dz_par1 = ( 1.0, 4.0 ),
260 d0_par2 = ( 1.0, 4.0 ),
261 dz_par2 = ( 1.0, 4.0 )
263 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
264 name =
'mixedTripletStepVtx',
265 preFilterName =
'mixedTripletStepVtxLoose',
267 useMVA = cms.bool(
True),
268 minMVA = cms.double(0.5),
269 qualityBit = cms.string(
'highPurity'),
270 keepAllTracks = cms.bool(
True),
278 d0_par1 = ( 1.0, 3.0 ),
279 dz_par1 = ( 1.0, 3.0 ),
280 d0_par2 = ( 1.1, 3.0 ),
281 dz_par2 = ( 1.1, 3.0 )
283 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
284 name =
'mixedTripletStepTrk',
285 preFilterName =
'mixedTripletStepTrkLoose',
287 useMVA = cms.bool(
True),
288 minMVA = cms.double(0.5),
289 qualityBit = cms.string(
'highPurity'),
290 keepAllTracks = cms.bool(
True),
298 d0_par1 = ( 0.8, 4.0 ),
299 dz_par1 = ( 0.8, 4.0 ),
300 d0_par2 = ( 0.8, 4.0 ),
301 dz_par2 = ( 0.8, 4.0 )
306 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
307 mixedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
308 TrackProducers = cms.VInputTag(cms.InputTag(
'mixedTripletStepTracks'),
309 cms.InputTag(
'mixedTripletStepTracks')),
310 hasSelector=cms.vint32(1,1),
311 shareFrac=cms.double(0.11),
312 indivShareFrac=cms.vdouble(0.11,0.11),
313 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepVtx"),
314 cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepTrk")),
315 setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
316 writeOnlyTrkQuals=cms.bool(
True)
320 MixedTripletStep = cms.Sequence(mixedTripletStepClusters*
321 mixedTripletStepSeedLayersA*
322 mixedTripletStepSeedsA*
323 mixedTripletStepSeedLayersB*
324 mixedTripletStepSeedsB*
325 mixedTripletStepSeeds*
326 mixedTripletStepTrackCandidates*
327 mixedTripletStepTracks*
328 mixedTripletStepSelector*