1 from __future__
import absolute_import
3 from .HIPixelTripletSeeds_cff
import *
4 from .HIPixel3PrimTracks_cfi
import *
6 hiDetachedTripletStepClusters = cms.EDProducer(
"HITrackClusterRemover",
7 clusterLessSolution = cms.bool(
True),
8 trajectories = cms.InputTag(
"hiGlobalPrimTracks"),
9 overrideTrkQuals = cms.InputTag(
'hiInitialStepSelector',
'hiInitialStep'),
10 TrackQuality = cms.string(
'highPurity'),
11 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
12 pixelClusters = cms.InputTag(
"siPixelClusters"),
13 stripClusters = cms.InputTag(
"siStripClusters"),
15 maxChi2 = cms.double(9.0),
19 maxSize = cms.uint32(2),
20 maxChi2 = cms.double(9.0)
25 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
26 trackingPhase1.toModify(hiDetachedTripletStepClusters,
27 trajectories =
"hiDetachedQuadStepTracks",
28 overrideTrkQuals =
"hiDetachedQuadStepSelector:hiDetachedQuadStep",
34 hiDetachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
35 BPix = dict(skipClusters = cms.InputTag(
'hiDetachedTripletStepClusters')),
36 FPix = dict(skipClusters = cms.InputTag(
'hiDetachedTripletStepClusters'))
41 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
42 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
49 hiDetachedTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
51 useMultipleScattering =
False,
52 useFakeVertices =
False,
53 beamSpot =
"offlineBeamSpot",
58 VertexCollection =
"hiSelectedPixelVertex",
60 useFoundVertices =
True,
63 hiDetachedTripletStepTracksHitDoublets = _hitPairEDProducer.clone(
65 seedingLayers =
"hiDetachedTripletStepSeedLayers",
66 trackingRegions =
"hiDetachedTripletStepTrackingRegions",
67 maxElement = 50000000,
68 produceIntermediateHitDoublets =
True,
71 hiDetachedTripletStepTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
72 doublets =
"hiDetachedTripletStepTracksHitDoublets",
73 extraHitRPhitolerance = 0.0,
74 extraHitRZtolerance = 0.0,
76 SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
77 produceSeedingHitSets =
True,
80 from RecoTracker.PixelSeeding.caHitTripletEDProducer_cfi
import caHitTripletEDProducer
as _caHitTripletEDProducer
81 hiDetachedTripletStepTracksHitDoubletsCA = hiDetachedTripletStepTracksHitDoublets.clone(
84 hiDetachedTripletStepTracksHitTripletsCA = _caHitTripletEDProducer.clone(
85 doublets =
"hiDetachedTripletStepTracksHitDoubletsCA",
86 extraHitRPhitolerance = hiDetachedTripletStepTracksHitTriplets.extraHitRPhitolerance,
89 value1 = 300 , value2 = 10,
91 useBendingCorrection =
True,
97 hiDetachedTripletStepPixelTracksFilter = hiFilter.clone(
98 nSigmaTipMaxTolerance = 0,
104 import RecoTracker.PixelTrackFitting.pixelTracks_cfi
as _mod
106 hiDetachedTripletStepPixelTracks = _mod.pixelTracks.clone(
107 passLabel =
'Pixel detached tracks with vertex constraint',
109 SeedingHitSets =
"hiDetachedTripletStepTracksHitTriplets",
111 Fitter =
"pixelFitterByHelixProjections",
113 Filter =
"hiDetachedTripletStepPixelTracksFilter",
115 Cleaner =
"trackCleaner" 117 trackingPhase1.toModify(hiDetachedTripletStepPixelTracks,
118 SeedingHitSets =
"hiDetachedTripletStepTracksHitTripletsCA" 122 import RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi
123 hiDetachedTripletStepSeeds = RecoTracker.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
124 InputCollection =
'hiDetachedTripletStepPixelTracks' 129 hiDetachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
131 minimumNumberOfHits = 6,
133 constantValueForLostHitsFractionFilter = 0.701
137 hiDetachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
138 ComponentName =
'hiDetachedTripletStepChi2Est',
146 hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
147 trajectoryFilter = dict(refToPSet_ =
'hiDetachedTripletStepTrajectoryFilter'),
149 estimator =
'hiDetachedTripletStepChi2Est',
150 maxDPhiForLooperReconstruction = 0.,
151 maxPtForLooperReconstruction = 0.,
152 alwaysUseInvalidHits =
False 157 hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
158 src =
'hiDetachedTripletStepSeeds',
160 numHitsForSeedCleaner = 50,
161 onlyPixelHitsForSeedCleaner =
True,
162 TrajectoryBuilderPSet = dict(refToPSet_ =
'hiDetachedTripletStepTrajectoryBuilder'),
163 clustersToSkip =
'hiDetachedTripletStepClusters',
164 doSeedingRegionRebuilding =
True,
165 useHitsSplitting =
True 171 hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
172 src =
'hiDetachedTripletStepTrackCandidates',
173 AlgorithmName =
'detachedTripletStep',
174 Fitter =
'FlexibleKFFittingSmoother' 179 hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
180 src =
'hiDetachedTripletStepTracks',
182 GBRForestLabel =
'HIMVASelectorIter7',
183 GBRForestVars = [
'chi2perdofperlayer',
'nhits',
'nlayers',
'eta'],
184 trackSelectors = cms.VPSet(
185 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
186 name =
'hiDetachedTripletStepLoose',
187 applyAdaptedPVCuts =
False,
190 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
191 name =
'hiDetachedTripletStepTight',
192 preFilterName =
'hiDetachedTripletStepLoose',
193 applyAdaptedPVCuts =
False,
197 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
198 name =
'hiDetachedTripletStep',
199 preFilterName =
'hiDetachedTripletStepTight',
200 applyAdaptedPVCuts =
False,
206 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
207 trackingPhase1.toModify(hiDetachedTripletStepSelector, useAnyMVA =
False)
208 trackingPhase1.toModify(hiDetachedTripletStepSelector, trackSelectors= cms.VPSet(
209 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
210 name =
'hiDetachedTripletStepLoose',
211 applyAdaptedPVCuts =
False,
214 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
215 name =
'hiDetachedTripletStepTight',
216 preFilterName =
'hiDetachedTripletStepLoose',
217 applyAdaptedPVCuts =
False,
221 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
222 name =
'hiDetachedTripletStep',
223 preFilterName =
'hiDetachedTripletStepTight',
224 applyAdaptedPVCuts =
False,
232 hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
233 TrackProducers = [
'hiDetachedTripletStepTracks'],
235 selectedTrackQuals = [
"hiDetachedTripletStepSelector:hiDetachedTripletStep"],
237 makeReKeyedSeeds = cms.untracked.bool(
False),
241 hiDetachedTripletStepTask = cms.Task(hiDetachedTripletStepClusters,
242 hiDetachedTripletStepSeedLayers,
243 hiDetachedTripletStepTrackingRegions,
244 hiDetachedTripletStepTracksHitDoublets,
245 hiDetachedTripletStepTracksHitTriplets,
246 pixelFitterByHelixProjections,
247 hiDetachedTripletStepPixelTracksFilter,
248 hiDetachedTripletStepPixelTracks,
249 hiDetachedTripletStepSeeds,
250 hiDetachedTripletStepTrackCandidates,
251 hiDetachedTripletStepTracks,
252 hiDetachedTripletStepSelector,
253 hiDetachedTripletStepQual)
254 hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepTask)
255 hiDetachedTripletStepTask_Phase1 = hiDetachedTripletStepTask.copy()
256 hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitDoublets, hiDetachedTripletStepTracksHitDoubletsCA)
257 hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitTriplets, hiDetachedTripletStepTracksHitTripletsCA)
258 trackingPhase1.toReplaceWith(hiDetachedTripletStepTask, hiDetachedTripletStepTask_Phase1)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...