1 import FWCore.ParameterSet.Config
as cms
7 mixedTripletStepClusters = trackClusterRemover.clone(
8 maxChi2 = cms.double(9.0),
9 trajectories = cms.InputTag(
"detachedQuadStepTracks"),
10 pixelClusters = cms.InputTag(
"siPixelClusters"),
11 stripClusters = cms.InputTag(
"siStripClusters"),
12 oldClusterRemovalInfo = cms.InputTag(
"detachedQuadStepClusters"),
13 overrideTrkQuals = cms.InputTag(
'detachedQuadStep'),
14 TrackQuality = cms.string(
'highPurity'),
15 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
19 mixedTripletStepSeedLayersA = cms.EDProducer(
"SeedingLayersEDProducer",
20 layerList = cms.vstring(
'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
21 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
22 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
23 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
24 'BPix1+FPix1_pos+FPix3_pos',
'BPix1+FPix1_neg+FPix3_neg',
25 'FPix2_pos+FPix3_pos+TEC1_pos',
'FPix2_neg+FPix3_neg+TEC1_neg'),
27 TTRHBuilder = cms.string(
'WithTrackAngle'),
28 HitProducer = cms.string(
'siPixelRecHits'),
29 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
32 TTRHBuilder = cms.string(
'WithTrackAngle'),
33 HitProducer = cms.string(
'siPixelRecHits'),
34 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
37 matchedRecHits = cms.InputTag(
"siStripMatchedRecHits",
"matchedRecHit"),
38 useRingSlector = cms.bool(
True),
39 TTRHBuilder = cms.string(
'WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutNone')),
40 minRing = cms.int32(1),
41 maxRing = cms.int32(2),
42 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
48 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
49 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
51 mixedTripletStepSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
52 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersA'
53 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
54 mixedTripletStepSeedsA.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
55 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 0.7
56 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
57 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 1.5
59 mixedTripletStepSeedsA.SeedComparitorPSet = cms.PSet(
60 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
61 FilterAtHelixStage = cms.bool(
False),
62 FilterPixelHits = cms.bool(
True),
63 FilterStripHits = cms.bool(
True),
64 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
65 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
67 mixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck = cms.bool(
False)
68 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0)
69 mixedTripletStepSeedsA.SeedCreatorPSet.magneticField =
''
70 mixedTripletStepSeedsA.SeedCreatorPSet.propagator =
'PropagatorWithMaterial'
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(
'WithTrackAngle'),
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'),
101 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
103 mixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck = cms.bool(
False)
104 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0)
105 mixedTripletStepSeedsB.SeedCreatorPSet.magneticField =
''
106 mixedTripletStepSeedsB.SeedCreatorPSet.propagator =
'PropagatorWithMaterial'
109 mixedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
110 mixedTripletStepSeeds.seedCollections = cms.VInputTag(
111 cms.InputTag(
'mixedTripletStepSeedsA'),
112 cms.InputTag(
'mixedTripletStepSeedsB'),
117 mixedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
119 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.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
137 ComponentName = cms.string(
'mixedTripletStepChi2Est'),
138 nSigma = cms.double(3.0),
139 MaxChi2 = cms.double(16.0)
144 mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
145 MeasurementTrackerName =
'',
146 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'mixedTripletStepTrajectoryFilter')),
147 propagatorAlong = cms.string(
'mixedTripletStepPropagator'),
148 propagatorOpposite = cms.string(
'mixedTripletStepPropagatorOpposite'),
150 estimator = cms.string(
'mixedTripletStepChi2Est'),
151 maxDPhiForLooperReconstruction = cms.double(2.0),
152 maxPtForLooperReconstruction = cms.double(0.7)
157 mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
158 src = cms.InputTag(
'mixedTripletStepSeeds'),
159 clustersToSkip = cms.InputTag(
'mixedTripletStepClusters'),
161 numHitsForSeedCleaner = cms.int32(50),
163 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'mixedTripletStepTrajectoryBuilder')),
164 doSeedingRegionRebuilding =
True,
165 useHitsSplitting =
True
169 mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
170 ComponentName = cms.string(
'mixedTripletStepTrajectoryCleanerBySharedHits'),
171 fractionShared = cms.double(0.095),
172 allowSharedFirstHit = cms.bool(
True)
174 mixedTripletStepTrackCandidates.TrajectoryCleaner =
'mixedTripletStepTrajectoryCleanerBySharedHits'
178 mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
179 AlgorithmName = cms.string(
'mixedTripletStep'),
180 src =
'mixedTripletStepTrackCandidates',
181 Fitter = cms.string(
'FlexibleKFFittingSmoother'),
182 TTRHBuilder=cms.string(
'WithTrackAngle')
186 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
187 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
188 src=
'mixedTripletStepTracks',
189 trackSelectors= cms.VPSet(
190 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
191 name =
'mixedTripletStepVtxLoose',
193 res_par = ( 0.003, 0.001 ),
195 maxNumberLostLayers = 1,
196 minNumber3DLayers = 2,
197 d0_par1 = ( 1.2, 3.0 ),
198 dz_par1 = ( 1.2, 3.0 ),
199 d0_par2 = ( 1.3, 3.0 ),
200 dz_par2 = ( 1.3, 3.0 )
202 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
203 name =
'mixedTripletStepTrkLoose',
205 res_par = ( 0.003, 0.001 ),
207 maxNumberLostLayers = 1,
208 minNumber3DLayers = 3,
209 d0_par1 = ( 1.1, 4.0 ),
210 dz_par1 = ( 1.1, 4.0 ),
211 d0_par2 = ( 1.1, 4.0 ),
212 dz_par2 = ( 1.1, 4.0 )
214 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
215 name =
'mixedTripletStepVtxTight',
216 preFilterName =
'mixedTripletStepVtxLoose',
218 res_par = ( 0.003, 0.001 ),
220 maxNumberLostLayers = 1,
221 minNumber3DLayers = 3,
222 d0_par1 = ( 1.1, 3.0 ),
223 dz_par1 = ( 1.1, 3.0 ),
224 d0_par2 = ( 1.2, 3.0 ),
225 dz_par2 = ( 1.2, 3.0 )
227 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
228 name =
'mixedTripletStepTrkTight',
229 preFilterName =
'mixedTripletStepTrkLoose',
231 res_par = ( 0.003, 0.001 ),
233 maxNumberLostLayers = 1,
234 minNumber3DLayers = 4,
235 d0_par1 = ( 0.9, 4.0 ),
236 dz_par1 = ( 0.9, 4.0 ),
237 d0_par2 = ( 0.9, 4.0 ),
238 dz_par2 = ( 0.9, 4.0 )
240 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
241 name =
'mixedTripletStepVtx',
242 preFilterName =
'mixedTripletStepVtxTight',
244 res_par = ( 0.003, 0.001 ),
246 maxNumberLostLayers = 1,
247 minNumber3DLayers = 3,
248 max_minMissHitOutOrIn = 1,
249 d0_par1 = ( 0.9, 3.0 ),
250 dz_par1 = ( 0.9, 3.0 ),
251 d0_par2 = ( 1.0, 3.0 ),
252 dz_par2 = ( 1.0, 3.0 )
254 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
255 name =
'mixedTripletStepTrk',
256 preFilterName =
'mixedTripletStepTrkTight',
258 res_par = ( 0.003, 0.001 ),
260 maxNumberLostLayers = 0,
261 minNumber3DLayers = 4,
262 max_minMissHitOutOrIn = 1,
263 d0_par1 = ( 0.7, 4.0 ),
264 dz_par1 = ( 0.7, 4.0 ),
265 d0_par2 = ( 0.7, 4.0 ),
266 dz_par2 = ( 0.7, 4.0 )
272 mixedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
273 TrackProducers = cms.VInputTag(cms.InputTag(
'mixedTripletStepTracks'),
274 cms.InputTag(
'mixedTripletStepTracks')),
275 hasSelector=cms.vint32(1,1),
276 shareFrac=cms.double(0.095),
277 indivShareFrac=cms.vdouble(0.095,0.095),
278 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepVtx"),
279 cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepTrk")),
280 setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
281 writeOnlyTrkQuals=cms.bool(
True)
284 MixedTripletStep = cms.Sequence(mixedTripletStepClusters*
285 mixedTripletStepSeedLayersA*
286 mixedTripletStepSeedsA*
287 mixedTripletStepSeedLayersB*
288 mixedTripletStepSeedsB*
289 mixedTripletStepSeeds*
290 mixedTripletStepTrackCandidates*
291 mixedTripletStepTracks*
292 mixedTripletStepSelector*