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,
104 import RecoPixelVertexing.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 RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
123 hiDetachedTripletStepSeeds = RecoPixelVertexing.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 MeasurementTrackerName =
'',
148 trajectoryFilter = dict(refToPSet_ =
'hiDetachedTripletStepTrajectoryFilter'),
150 estimator =
'hiDetachedTripletStepChi2Est',
151 maxDPhiForLooperReconstruction = cms.double(0),
152 maxPtForLooperReconstruction = cms.double(0),
153 alwaysUseInvalidHits =
False
158 hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
159 src =
'hiDetachedTripletStepSeeds',
161 numHitsForSeedCleaner = cms.int32(50),
162 onlyPixelHitsForSeedCleaner = cms.bool(
True),
163 TrajectoryBuilderPSet = dict(refToPSet_ =
'hiDetachedTripletStepTrajectoryBuilder'),
164 TrajectoryBuilder =
'hiDetachedTripletStepTrajectoryBuilder',
165 clustersToSkip = cms.InputTag(
'hiDetachedTripletStepClusters'),
166 doSeedingRegionRebuilding =
True,
167 useHitsSplitting =
True
173 hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
174 src =
'hiDetachedTripletStepTrackCandidates',
175 AlgorithmName =
'detachedTripletStep',
176 Fitter =
'FlexibleKFFittingSmoother'
181 hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
182 src =
'hiDetachedTripletStepTracks',
184 GBRForestLabel =
'HIMVASelectorIter7',
185 GBRForestVars = [
'chi2perdofperlayer',
'nhits',
'nlayers',
'eta'],
186 trackSelectors = cms.VPSet(
187 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
188 name =
'hiDetachedTripletStepLoose',
189 applyAdaptedPVCuts =
False,
192 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
193 name =
'hiDetachedTripletStepTight',
194 preFilterName =
'hiDetachedTripletStepLoose',
195 applyAdaptedPVCuts =
False,
199 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
200 name =
'hiDetachedTripletStep',
201 preFilterName =
'hiDetachedTripletStepTight',
202 applyAdaptedPVCuts =
False,
208 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
209 trackingPhase1.toModify(hiDetachedTripletStepSelector, useAnyMVA =
False)
210 trackingPhase1.toModify(hiDetachedTripletStepSelector, trackSelectors= cms.VPSet(
211 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
212 name =
'hiDetachedTripletStepLoose',
213 applyAdaptedPVCuts =
False,
216 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
217 name =
'hiDetachedTripletStepTight',
218 preFilterName =
'hiDetachedTripletStepLoose',
219 applyAdaptedPVCuts =
False,
223 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
224 name =
'hiDetachedTripletStep',
225 preFilterName =
'hiDetachedTripletStepTight',
226 applyAdaptedPVCuts =
False,
234 hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
235 TrackProducers = [
'hiDetachedTripletStepTracks'],
237 selectedTrackQuals = [
"hiDetachedTripletStepSelector:hiDetachedTripletStep"],
239 makeReKeyedSeeds = cms.untracked.bool(
False),
243 hiDetachedTripletStepTask = cms.Task(hiDetachedTripletStepClusters,
244 hiDetachedTripletStepSeedLayers,
245 hiDetachedTripletStepTrackingRegions,
246 hiDetachedTripletStepTracksHitDoublets,
247 hiDetachedTripletStepTracksHitTriplets,
248 pixelFitterByHelixProjections,
249 hiDetachedTripletStepPixelTracksFilter,
250 hiDetachedTripletStepPixelTracks,
251 hiDetachedTripletStepSeeds,
252 hiDetachedTripletStepTrackCandidates,
253 hiDetachedTripletStepTracks,
254 hiDetachedTripletStepSelector,
255 hiDetachedTripletStepQual)
256 hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepTask)
257 hiDetachedTripletStepTask_Phase1 = hiDetachedTripletStepTask.copy()
258 hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitDoublets, hiDetachedTripletStepTracksHitDoubletsCA)
259 hiDetachedTripletStepTask_Phase1.replace(hiDetachedTripletStepTracksHitTriplets, hiDetachedTripletStepTracksHitTripletsCA)
260 trackingPhase1.toReplaceWith(hiDetachedTripletStepTask, hiDetachedTripletStepTask_Phase1)