1 import FWCore.ParameterSet.Config
as cms
7 mixedTripletStepClusters = trackClusterRemover.clone(
8 maxChi2 = cms.double(9.0),
9 trajectories = cms.InputTag(
"detachedTripletStepTracks"),
10 pixelClusters = cms.InputTag(
"siPixelClusters"),
11 stripClusters = cms.InputTag(
"siStripClusters"),
12 oldClusterRemovalInfo = cms.InputTag(
"detachedTripletStepClusters"),
13 overrideTrkQuals = cms.InputTag(
'detachedTripletStep'),
14 TrackQuality = cms.string(
'highPurity'),
15 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
19 mixedTripletStepSeedLayersA = cms.EDProducer(
"SeedingLayersEDProducer",
20 layerList = cms.vstring(
'BPix1+BPix2+BPix3',
21 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
22 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
23 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
24 'FPix1_pos+FPix2_pos+TEC1_pos',
'FPix1_neg+FPix2_neg+TEC1_neg',
25 'FPix1_pos+FPix2_pos+TEC2_pos',
'FPix1_neg+FPix2_neg+TEC2_neg',
26 'FPix2_pos+TEC2_pos+TEC3_pos',
'FPix2_neg+TEC2_neg+TEC3_neg'),
28 TTRHBuilder = cms.string(
'WithTrackAngle'),
29 HitProducer = cms.string(
'siPixelRecHits'),
30 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
33 TTRHBuilder = cms.string(
'WithTrackAngle'),
34 HitProducer = cms.string(
'siPixelRecHits'),
35 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
38 matchedRecHits = cms.InputTag(
"siStripMatchedRecHits",
"matchedRecHit"),
39 useRingSlector = cms.bool(
True),
40 TTRHBuilder = cms.string(
'WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
41 minRing = cms.int32(1),
42 maxRing = cms.int32(1),
43 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
49 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
50 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
52 mixedTripletStepSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
53 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersA'
54 mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
55 mixedTripletStepSeedsA.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
56 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 0.3
57 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 20.0
58 mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 1.5
61 mixedTripletStepSeedLayersB = cms.EDProducer(
"SeedingLayersEDProducer",
62 layerList = cms.vstring(
'BPix2+BPix3+TIB1',
'BPix2+BPix3+TIB2'),
64 TTRHBuilder = cms.string(
'WithTrackAngle'),
65 HitProducer = cms.string(
'siPixelRecHits'),
66 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
69 matchedRecHits = cms.InputTag(
"siStripMatchedRecHits",
"matchedRecHit"),
70 TTRHBuilder = cms.string(
'WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
71 skipClusters = cms.InputTag(
'mixedTripletStepClusters')
77 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
78 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
80 mixedTripletStepSeedsB = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
81 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.SeedingLayers =
'mixedTripletStepSeedLayersB'
82 mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
83 mixedTripletStepSeedsB.SeedCreatorPSet.ComponentName =
'SeedFromConsecutiveHitsTripletOnlyCreator'
84 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.ptMin = 0.4
85 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
86 mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 1.5
88 mixedTripletStepSeedsB.SeedComparitorPSet = cms.PSet(
89 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
90 FilterAtHelixStage = cms.bool(
False),
91 FilterPixelHits = cms.bool(
True),
92 FilterStripHits = cms.bool(
True),
93 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
94 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
98 mixedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
99 mixedTripletStepSeeds.seedCollections = cms.VInputTag(
100 cms.InputTag(
'mixedTripletStepSeedsA'),
101 cms.InputTag(
'mixedTripletStepSeedsB'),
106 mixedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
108 minimumNumberOfHits = 3,
114 mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
115 ComponentName =
'mixedTripletStepPropagator',
119 mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
120 ComponentName =
'mixedTripletStepPropagatorOpposite',
125 mixedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
126 ComponentName = cms.string(
'mixedTripletStepChi2Est'),
127 nSigma = cms.double(3.0),
128 MaxChi2 = cms.double(25.0)
133 mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
134 MeasurementTrackerName =
'',
135 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'mixedTripletStepTrajectoryFilter')),
136 propagatorAlong = cms.string(
'mixedTripletStepPropagator'),
137 propagatorOpposite = cms.string(
'mixedTripletStepPropagatorOpposite'),
138 clustersToSkip = cms.InputTag(
'mixedTripletStepClusters'),
140 estimator = cms.string(
'mixedTripletStepChi2Est'),
141 maxDPhiForLooperReconstruction = cms.double(2.0),
142 maxPtForLooperReconstruction = cms.double(0.7)
147 mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
148 src = cms.InputTag(
'mixedTripletStepSeeds'),
150 numHitsForSeedCleaner = cms.int32(50),
152 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'mixedTripletStepTrajectoryBuilder')),
153 doSeedingRegionRebuilding =
True,
154 useHitsSplitting =
True
158 mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
159 ComponentName = cms.string(
'mixedTripletStepTrajectoryCleanerBySharedHits'),
160 fractionShared = cms.double(0.11),
161 allowSharedFirstHit = cms.bool(
True)
163 mixedTripletStepTrackCandidates.TrajectoryCleaner =
'mixedTripletStepTrajectoryCleanerBySharedHits'
168 mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
169 AlgorithmName = cms.string(
'mixedTripletStep'),
170 src =
'mixedTripletStepTrackCandidates',
171 Fitter = cms.string(
'FlexibleKFFittingSmoother')
175 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
176 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
177 src=
'mixedTripletStepTracks',
178 trackSelectors= cms.VPSet(
179 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
180 name =
'mixedTripletStepVtxLoose',
182 res_par = ( 0.003, 0.001 ),
184 maxNumberLostLayers = 1,
185 minNumber3DLayers = 3,
186 d0_par1 = ( 1.2, 3.0 ),
187 dz_par1 = ( 1.2, 3.0 ),
188 d0_par2 = ( 1.3, 3.0 ),
189 dz_par2 = ( 1.3, 3.0 )
191 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
192 name =
'mixedTripletStepTrkLoose',
194 res_par = ( 0.003, 0.001 ),
196 maxNumberLostLayers = 1,
197 minNumber3DLayers = 3,
198 d0_par1 = ( 1.0, 4.0 ),
199 dz_par1 = ( 1.1, 4.0 ),
200 d0_par2 = ( 1.1, 4.0 ),
201 dz_par2 = ( 1.1, 4.0 )
203 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
204 name =
'mixedTripletStepVtxTight',
205 preFilterName =
'mixedTripletStepVtxLoose',
207 res_par = ( 0.003, 0.001 ),
209 maxNumberLostLayers = 1,
210 minNumber3DLayers = 3,
211 d0_par1 = ( 1.0, 3.0 ),
212 dz_par1 = ( 1.1, 3.0 ),
213 d0_par2 = ( 1.1, 3.0 ),
214 dz_par2 = ( 1.1, 3.0 )
216 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
217 name =
'mixedTripletStepTrkTight',
218 preFilterName =
'mixedTripletStepTrkLoose',
220 res_par = ( 0.003, 0.001 ),
222 maxNumberLostLayers = 1,
223 minNumber3DLayers = 4,
224 d0_par1 = ( 0.9, 4.0 ),
225 dz_par1 = ( 1.0, 4.0 ),
226 d0_par2 = ( 1.0, 4.0 ),
227 dz_par2 = ( 1.0, 4.0 )
229 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
230 name =
'mixedTripletStepVtx',
231 preFilterName =
'mixedTripletStepVtxTight',
233 res_par = ( 0.003, 0.001 ),
235 maxNumberLostLayers = 1,
236 minNumber3DLayers = 3,
237 max_minMissHitOutOrIn = 1,
238 d0_par1 = ( 0.9, 3.0 ),
239 dz_par1 = ( 1.0, 3.0 ),
240 d0_par2 = ( 1.0, 3.0 ),
241 dz_par2 = ( 1.0, 3.0 )
243 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
244 name =
'mixedTripletStepTrk',
245 preFilterName =
'mixedTripletStepTrkTight',
247 res_par = ( 0.003, 0.001 ),
249 maxNumberLostLayers = 0,
250 minNumber3DLayers = 4,
251 max_minMissHitOutOrIn = 1,
252 d0_par1 = ( 0.8, 4.0 ),
253 dz_par1 = ( 0.8, 4.0 ),
254 d0_par2 = ( 0.8, 4.0 ),
255 dz_par2 = ( 0.8, 4.0 )
261 mixedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
262 TrackProducers = cms.VInputTag(cms.InputTag(
'mixedTripletStepTracks'),
263 cms.InputTag(
'mixedTripletStepTracks')),
264 hasSelector=cms.vint32(1,1),
265 shareFrac=cms.double(0.11),
266 indivShareFrac=cms.vdouble(0.11,0.11),
267 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepVtx"),
268 cms.InputTag(
"mixedTripletStepSelector",
"mixedTripletStepTrk")),
269 setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(
True) )),
270 writeOnlyTrkQuals=cms.bool(
True)
274 MixedTripletStep = cms.Sequence(mixedTripletStepClusters*
275 mixedTripletStepSeedLayersA*
276 mixedTripletStepSeedsA*
277 mixedTripletStepSeedLayersB*
278 mixedTripletStepSeedsB*
279 mixedTripletStepSeeds*
280 mixedTripletStepTrackCandidates*
281 mixedTripletStepTracks*
282 mixedTripletStepSelector*