7 mixedTripletStepClusters = cms.EDProducer(
"TrackClusterRemover",
8 clusterLessSolution = cms.bool(
True),
9 oldClusterRemovalInfo = cms.InputTag(
"detachedQuadStepClusters"),
10 trajectories = cms.InputTag(
"detachedQuadStepTracks"),
11 overrideTrkQuals = cms.InputTag(
'detachedQuadStep'),
12 TrackQuality = cms.string(
'highPurity'),
13 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
14 pixelClusters = cms.InputTag(
"siPixelClusters"),
15 stripClusters = cms.InputTag(
"siStripClusters"),
17 maxChi2 = cms.double(9.0)
22 mixedTripletStepSeedLayersA = cms.EDProducer(
"SeedingLayersEDProducer",
23 layerList = cms.vstring(
'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
24 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
25 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
26 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
27 'BPix1+FPix1_pos+FPix3_pos',
'BPix1+FPix1_neg+FPix3_neg',
28 'FPix2_pos+FPix3_pos+TEC1_pos',
'FPix2_neg+FPix3_neg+TEC1_neg'),
30 TTRHBuilder = cms.string(
'TTRHBuilderWithoutAngle4MixedTriplets'),
31 HitProducer = cms.string(
'siPixelRecHits'),
32 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
35 TTRHBuilder = cms.string(
'TTRHBuilderWithoutAngle4MixedTriplets'),
36 HitProducer = cms.string(
'siPixelRecHits'),
37 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
40 matchedRecHits = cms.InputTag(
"siStripMatchedRecHits",
"matchedRecHit"),
41 useRingSlector = cms.bool(
True),
42 TTRHBuilder = cms.string(
'WithTrackAngle'),
43 minRing = cms.int32(1),
44 maxRing = cms.int32(2),
45 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
51 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
52 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
54 mixedTripletStepSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
55 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersA'
56 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
57 mixedTripletStepSeedsA.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
58 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 0.7
59 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
60 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 1.5
62 mixedTripletStepSeedsA.SeedComparitorPSet = cms.PSet(
63 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
64 FilterAtHelixStage = cms.bool(
False),
65 FilterPixelHits = cms.bool(
True),
66 FilterStripHits = cms.bool(
True),
67 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter')
69 mixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck = cms.bool(
False)
70 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0)
73 mixedTripletStepSeedLayersB = cms.EDProducer(
"SeedingLayersEDProducer",
74 layerList = cms.vstring(
'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
'BPix1+BPix2+BPix4',
'BPix1+BPix3+BPix4'),
76 TTRHBuilder = cms.string(
'TTRHBuilderWithoutAngle4MixedTriplets'),
77 HitProducer = cms.string(
'siPixelRecHits'),
78 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
84 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
85 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
87 mixedTripletStepSeedsB = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
88 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersB'
89 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
90 mixedTripletStepSeedsB.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
91 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.ptMin = 0.5
92 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
93 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 1.0
95 mixedTripletStepSeedsB.SeedComparitorPSet = cms.PSet(
96 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
97 FilterAtHelixStage = cms.bool(
False),
98 FilterPixelHits = cms.bool(
True),
99 FilterStripHits = cms.bool(
True),
100 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter')
102 mixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck = cms.bool(
False)
103 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0)
106 mixedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
107 mixedTripletStepSeeds.seedCollections = cms.VInputTag(
108 cms.InputTag(
'mixedTripletStepSeedsA'),
109 cms.InputTag(
'mixedTripletStepSeedsB'),
113 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
114 mixedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
115 ComponentName =
'mixedTripletStepTrajectoryFilter',
116 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
118 minimumNumberOfHits = 3,
125 mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
126 ComponentName =
'mixedTripletStepPropagator',
130 mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
131 ComponentName =
'mixedTripletStepPropagatorOpposite',
136 mixedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
137 ComponentName = cms.string(
'mixedTripletStepChi2Est'),
138 nSigma = cms.double(3.0),
139 MaxChi2 = cms.double(16.0)
144 mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
145 ComponentName =
'mixedTripletStepTrajectoryBuilder',
146 MeasurementTrackerName =
'',
147 trajectoryFilterName =
'mixedTripletStepTrajectoryFilter',
148 propagatorAlong = cms.string(
'mixedTripletStepPropagator'),
149 propagatorOpposite = cms.string(
'mixedTripletStepPropagatorOpposite'),
150 clustersToSkip = cms.InputTag(
'mixedTripletStepClusters'),
152 estimator = cms.string(
'mixedTripletStepChi2Est'),
153 maxDPhiForLooperReconstruction = cms.double(2.0),
154 maxPtForLooperReconstruction = cms.double(0.7)
159 mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
160 src = cms.InputTag(
'mixedTripletStepSeeds'),
162 numHitsForSeedCleaner = cms.int32(50),
164 TrajectoryBuilder =
'mixedTripletStepTrajectoryBuilder',
165 doSeedingRegionRebuilding =
True,
166 useHitsSplitting =
True
170 mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
171 ComponentName = cms.string(
'mixedTripletStepTrajectoryCleanerBySharedHits'),
172 fractionShared = cms.double(0.095),
173 allowSharedFirstHit = cms.bool(
True)
175 mixedTripletStepTrackCandidates.TrajectoryCleaner =
'mixedTripletStepTrajectoryCleanerBySharedHits'
179 mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
180 AlgorithmName = cms.string(
'iter5'),
181 src =
'mixedTripletStepTrackCandidates',
182 Fitter = cms.string(
'FlexibleKFFittingSmoother'),
183 TTRHBuilder=cms.string(
'WithTrackAngle')
187 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
188 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
189 src=
'mixedTripletStepTracks',
190 trackSelectors= cms.VPSet(
191 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
192 name =
'mixedTripletStepVtxLoose',
194 res_par = ( 0.003, 0.001 ),
196 maxNumberLostLayers = 1,
197 minNumber3DLayers = 2,
198 d0_par1 = ( 1.2, 3.0 ),
199 dz_par1 = ( 1.2, 3.0 ),
200 d0_par2 = ( 1.3, 3.0 ),
201 dz_par2 = ( 1.3, 3.0 )
203 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
204 name =
'mixedTripletStepTrkLoose',
206 res_par = ( 0.003, 0.001 ),
208 maxNumberLostLayers = 1,
209 minNumber3DLayers = 3,
210 d0_par1 = ( 1.1, 4.0 ),
211 dz_par1 = ( 1.1, 4.0 ),
212 d0_par2 = ( 1.1, 4.0 ),
213 dz_par2 = ( 1.1, 4.0 )
215 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
216 name =
'mixedTripletStepVtxTight',
217 preFilterName =
'mixedTripletStepVtxLoose',
219 res_par = ( 0.003, 0.001 ),
221 maxNumberLostLayers = 1,
222 minNumber3DLayers = 3,
223 d0_par1 = ( 1.1, 3.0 ),
224 dz_par1 = ( 1.1, 3.0 ),
225 d0_par2 = ( 1.2, 3.0 ),
226 dz_par2 = ( 1.2, 3.0 )
228 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
229 name =
'mixedTripletStepTrkTight',
230 preFilterName =
'mixedTripletStepTrkLoose',
232 res_par = ( 0.003, 0.001 ),
234 maxNumberLostLayers = 1,
235 minNumber3DLayers = 4,
236 d0_par1 = ( 0.9, 4.0 ),
237 dz_par1 = ( 0.9, 4.0 ),
238 d0_par2 = ( 0.9, 4.0 ),
239 dz_par2 = ( 0.9, 4.0 )
241 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
242 name =
'mixedTripletStepVtx',
243 preFilterName =
'mixedTripletStepVtxTight',
245 res_par = ( 0.003, 0.001 ),
247 maxNumberLostLayers = 1,
248 minNumber3DLayers = 3,
249 max_minMissHitOutOrIn = 1,
250 d0_par1 = ( 0.9, 3.0 ),
251 dz_par1 = ( 0.9, 3.0 ),
252 d0_par2 = ( 1.0, 3.0 ),
253 dz_par2 = ( 1.0, 3.0 )
255 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
256 name =
'mixedTripletStepTrk',
257 preFilterName =
'mixedTripletStepTrkTight',
259 res_par = ( 0.003, 0.001 ),
261 maxNumberLostLayers = 0,
262 minNumber3DLayers = 4,
263 max_minMissHitOutOrIn = 1,
264 d0_par1 = ( 0.7, 4.0 ),
265 dz_par1 = ( 0.7, 4.0 ),
266 d0_par2 = ( 0.7, 4.0 ),
267 dz_par2 = ( 0.7, 4.0 )
272 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
273 mixedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
274 TrackProducers = cms.VInputTag(cms.InputTag(
'mixedTripletStepTracks'),
275 cms.InputTag(
'mixedTripletStepTracks')),
276 hasSelector=cms.vint32(1,1),
277 shareFrac=cms.double(0.095),
278 indivShareFrac=cms.vdouble(0.095,0.095),
279 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepVtx"),
280 cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepTrk")),
281 setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
282 writeOnlyTrkQuals=cms.bool(
True)
285 MixedTripletStep = cms.Sequence(mixedTripletStepClusters*
286 mixedTripletStepSeedLayersA*
287 mixedTripletStepSeedsA*
288 mixedTripletStepSeedLayersB*
289 mixedTripletStepSeedsB*
290 mixedTripletStepSeeds*
291 mixedTripletStepTrackCandidates*
292 mixedTripletStepTracks*
293 mixedTripletStepSelector*