1 from __future__
import absolute_import
3 from .HIPixelTripletSeeds_cff
import *
4 from .HIPixel3PrimTracks_cfi
import *
6 hiLowPtQuadStepClusters = 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)
26 hiLowPtQuadStepSeedLayers = hiPixelLayerQuadruplets.clone()
27 hiLowPtQuadStepSeedLayers.BPix.skipClusters = cms.InputTag(
'hiLowPtQuadStepClusters')
28 hiLowPtQuadStepSeedLayers.FPix.skipClusters = cms.InputTag(
'hiLowPtQuadStepClusters')
32 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
33 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
40 hiLowPtQuadStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
42 useMultipleScattering =
False,
43 useFakeVertices =
False,
44 beamSpot =
"offlineBeamSpot",
49 VertexCollection =
"hiSelectedPixelVertex",
51 useFoundVertices =
True,
54 hiLowPtQuadStepTracksHitDoubletsCA = _hitPairEDProducer.clone(
56 seedingLayers =
"hiLowPtQuadStepSeedLayers",
57 trackingRegions =
"hiLowPtQuadStepTrackingRegions",
58 maxElement = 50000000,
59 produceIntermediateHitDoublets =
True,
63 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
64 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
65 hiLowPtQuadStepTracksHitQuadrupletsCA = _caHitQuadrupletEDProducer.clone(
66 doublets =
"hiLowPtQuadStepTracksHitDoubletsCA",
67 extraHitRPhitolerance = 0.0,
68 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
71 value1 = 1000, value2 = 150,
73 useBendingCorrection =
True,
75 fitFastCircleChi2Cut =
True,
81 hiLowPtQuadStepPixelTracksFilter = hiFilter.clone(
82 nSigmaTipMaxTolerance = 0,
87 hiLowPtQuadStepPixelTracks = cms.EDProducer(
"PixelTrackProducer",
89 passLabel = cms.string(
'Pixel detached tracks with vertex constraint'),
92 SeedingHitSets = cms.InputTag(
"hiLowPtQuadStepTracksHitQuadrupletsCA"),
95 Fitter = cms.InputTag(
"pixelFitterByHelixProjections"),
98 Filter = cms.InputTag(
"hiLowPtQuadStepPixelTracksFilter"),
101 Cleaner = cms.string(
"trackCleaner")
105 import RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
106 hiLowPtQuadStepSeeds = RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
107 InputCollection =
'hiLowPtQuadStepPixelTracks'
112 hiLowPtQuadStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
114 minimumNumberOfHits = 3,
115 minPt = cms.double(0.075),
120 hiLowPtQuadStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
121 ComponentName = cms.string(
'hiLowPtQuadStepChi2Est'),
122 nSigma = cms.double(3.0),
123 MaxChi2 = cms.double(9.0)
129 hiLowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
130 MeasurementTrackerName =
'',
131 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'hiLowPtQuadStepTrajectoryFilter')),
133 estimator = cms.string(
'hiLowPtQuadStepChi2Est'),
134 maxDPhiForLooperReconstruction = cms.double(2.0),
137 maxPtForLooperReconstruction = cms.double(0.7),
138 alwaysUseInvalidHits = cms.bool(
False)
146 hiLowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
147 src = cms.InputTag(
'hiLowPtQuadStepSeeds'),
149 numHitsForSeedCleaner = cms.int32(50),
150 onlyPixelHitsForSeedCleaner = cms.bool(
True),
151 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'hiLowPtQuadStepTrajectoryBuilder')),
152 TrajectoryBuilder = cms.string(
'hiLowPtQuadStepTrajectoryBuilder'),
153 clustersToSkip = cms.InputTag(
'hiLowPtQuadStepClusters'),
154 doSeedingRegionRebuilding =
True,
155 useHitsSplitting =
True
161 hiLowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
162 src =
'hiLowPtQuadStepTrackCandidates',
163 AlgorithmName = cms.string(
'lowPtQuadStep'),
164 Fitter=cms.string(
'FlexibleKFFittingSmoother')
169 hiLowPtQuadStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
170 src=
'hiLowPtQuadStepTracks',
171 useAnyMVA = cms.bool(
True),
172 GBRForestLabel = cms.string(
'HIMVASelectorIter8'),
173 GBRForestVars = cms.vstring([
'chi2perdofperlayer',
'nhits',
'nlayers',
'eta']),
174 trackSelectors= cms.VPSet(
175 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
176 name =
'hiLowPtQuadStepLoose',
177 applyAdaptedPVCuts = cms.bool(
False),
178 useMVA = cms.bool(
False),
180 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
181 name =
'hiLowPtQuadStepTight',
182 preFilterName =
'hiLowPtQuadStepLoose',
183 applyAdaptedPVCuts = cms.bool(
False),
184 useMVA = cms.bool(
True),
185 minMVA = cms.double(-0.2)
187 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
188 name =
'hiLowPtQuadStep',
189 preFilterName =
'hiLowPtQuadStepTight',
190 applyAdaptedPVCuts = cms.bool(
False),
191 useMVA = cms.bool(
True),
192 minMVA = cms.double(-0.09)
196 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
197 trackingPhase1.toModify(hiLowPtQuadStepSelector, useAnyMVA = cms.bool(
False))
198 trackingPhase1.toModify(hiLowPtQuadStepSelector, trackSelectors= cms.VPSet(
199 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
200 name =
'hiLowPtQuadStepLoose',
201 applyAdaptedPVCuts = cms.bool(
False),
202 useMVA = cms.bool(
False),
204 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
205 name =
'hiLowPtQuadStepTight',
206 preFilterName =
'hiLowPtQuadStepLoose',
207 applyAdaptedPVCuts = cms.bool(
False),
208 useMVA = cms.bool(
False),
209 minMVA = cms.double(-0.2)
211 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
212 name =
'hiLowPtQuadStep',
213 preFilterName =
'hiLowPtQuadStepTight',
214 applyAdaptedPVCuts = cms.bool(
False),
215 useMVA = cms.bool(
False),
216 minMVA = cms.double(-0.09)
222 hiLowPtQuadStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
223 TrackProducers=cms.VInputTag(cms.InputTag(
'hiLowPtQuadStepTracks')),
224 hasSelector=cms.vint32(1),
225 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"hiLowPtQuadStepSelector",
"hiLowPtQuadStep")),
227 makeReKeyedSeeds = cms.untracked.bool(
False),
231 hiLowPtQuadStepTask = cms.Task(hiLowPtQuadStepClusters,
232 hiLowPtQuadStepSeedLayers,
233 hiLowPtQuadStepTrackingRegions,
234 hiLowPtQuadStepTracksHitDoubletsCA,
235 hiLowPtQuadStepTracksHitQuadrupletsCA,
236 pixelFitterByHelixProjections,
237 hiLowPtQuadStepPixelTracksFilter,
238 hiLowPtQuadStepPixelTracks,
239 hiLowPtQuadStepSeeds,
240 hiLowPtQuadStepTrackCandidates,
241 hiLowPtQuadStepTracks,
242 hiLowPtQuadStepSelector,
244 hiLowPtQuadStep = cms.Sequence(hiLowPtQuadStepTask)