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 RecoPixelVertexing.PixelTriplets.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 = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
77 produceSeedingHitSets =
True,
80 from RecoPixelVertexing.PixelTriplets.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,
103 hiDetachedTripletStepPixelTracks = cms.EDProducer(
"PixelTrackProducer",
105 passLabel = cms.string(
'Pixel detached tracks with vertex constraint'),
108 SeedingHitSets = cms.InputTag(
"hiDetachedTripletStepTracksHitTriplets"),
111 Fitter = cms.InputTag(
"pixelFitterByHelixProjections"),
114 Filter = cms.InputTag(
"hiDetachedTripletStepPixelTracksFilter"),
117 Cleaner = cms.string(
"trackCleaner")
119 trackingPhase1.toModify(hiDetachedTripletStepPixelTracks,
120 SeedingHitSets = cms.InputTag(
"hiDetachedTripletStepTracksHitTripletsCA")
124 import RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
125 hiDetachedTripletStepSeeds = RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
126 InputCollection =
'hiDetachedTripletStepPixelTracks'
131 hiDetachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
133 minimumNumberOfHits = 6,
135 constantValueForLostHitsFractionFilter = 0.701
139 hiDetachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
140 ComponentName =
'hiDetachedTripletStepChi2Est',
148 hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
149 MeasurementTrackerName =
'',
150 trajectoryFilter = dict(refToPSet_ =
'hiDetachedTripletStepTrajectoryFilter'),
152 estimator =
'hiDetachedTripletStepChi2Est',
153 maxDPhiForLooperReconstruction = cms.double(0),
154 maxPtForLooperReconstruction = cms.double(0),
155 alwaysUseInvalidHits =
False
160 hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
161 src =
'hiDetachedTripletStepSeeds',
163 numHitsForSeedCleaner = cms.int32(50),
164 onlyPixelHitsForSeedCleaner = cms.bool(
True),
165 TrajectoryBuilderPSet = dict(refToPSet_ =
'hiDetachedTripletStepTrajectoryBuilder'),
166 TrajectoryBuilder =
'hiDetachedTripletStepTrajectoryBuilder',
167 clustersToSkip = cms.InputTag(
'hiDetachedTripletStepClusters'),
168 doSeedingRegionRebuilding =
True,
169 useHitsSplitting =
True
175 hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
176 src =
'hiDetachedTripletStepTrackCandidates',
177 AlgorithmName =
'detachedTripletStep',
178 Fitter =
'FlexibleKFFittingSmoother'
183 hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
184 src =
'hiDetachedTripletStepTracks',
186 GBRForestLabel =
'HIMVASelectorIter7',
187 GBRForestVars = [
'chi2perdofperlayer',
'nhits',
'nlayers',
'eta'],
188 trackSelectors = cms.VPSet(
189 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
190 name =
'hiDetachedTripletStepLoose',
191 applyAdaptedPVCuts =
False,
194 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
195 name =
'hiDetachedTripletStepTight',
196 preFilterName =
'hiDetachedTripletStepLoose',
197 applyAdaptedPVCuts =
False,
201 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
202 name =
'hiDetachedTripletStep',
203 preFilterName =
'hiDetachedTripletStepTight',
204 applyAdaptedPVCuts =
False,
210 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
211 trackingPhase1.toModify(hiDetachedTripletStepSelector, useAnyMVA =
False)
212 trackingPhase1.toModify(hiDetachedTripletStepSelector, trackSelectors= cms.VPSet(
213 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
214 name =
'hiDetachedTripletStepLoose',
215 applyAdaptedPVCuts =
False,
218 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
219 name =
'hiDetachedTripletStepTight',
220 preFilterName =
'hiDetachedTripletStepLoose',
221 applyAdaptedPVCuts =
False,
225 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
226 name =
'hiDetachedTripletStep',
227 preFilterName =
'hiDetachedTripletStepTight',
228 applyAdaptedPVCuts =
False,
236 hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
237 TrackProducers = [
'hiDetachedTripletStepTracks'],
239 selectedTrackQuals = [
"hiDetachedTripletStepSelector:hiDetachedTripletStep"],
241 makeReKeyedSeeds = cms.untracked.bool(
False),
245 hiDetachedTripletStepTask = cms.Task(hiDetachedTripletStepClusters,
246 hiDetachedTripletStepSeedLayers,
247 hiDetachedTripletStepTrackingRegions,
248 hiDetachedTripletStepTracksHitDoublets,
249 hiDetachedTripletStepTracksHitTriplets,
250 pixelFitterByHelixProjections,
251 hiDetachedTripletStepPixelTracksFilter,
252 hiDetachedTripletStepPixelTracks,
253 hiDetachedTripletStepSeeds,
254 hiDetachedTripletStepTrackCandidates,
255 hiDetachedTripletStepTracks,
256 hiDetachedTripletStepSelector,
257 hiDetachedTripletStepQual)
258 hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepTask)
259 hiDetachedTripletStepTask_Phase1 = hiDetachedTripletStepTask.copy()
260 hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitDoublets, hiDetachedTripletStepTracksHitDoubletsCA)
261 hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitTriplets, hiDetachedTripletStepTracksHitTripletsCA)
262 trackingPhase1.toReplaceWith(hiDetachedTripletStepTask, hiDetachedTripletStepTask_Phase1)