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 = cms.InputTag(
"hiDetachedQuadStepTracks"),
28 overrideTrkQuals = cms.InputTag(
"hiDetachedQuadStepSelector",
"hiDetachedQuadStep"),
34 hiDetachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
35 hiDetachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag(
'hiDetachedTripletStepClusters')
36 hiDetachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag(
'hiDetachedTripletStepClusters')
40 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
41 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
48 hiDetachedTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=
dict(
50 useMultipleScattering =
False,
51 useFakeVertices =
False,
52 beamSpot =
"offlineBeamSpot",
57 VertexCollection =
"hiSelectedPixelVertex",
59 useFoundVertices =
True,
62 hiDetachedTripletStepTracksHitDoublets = _hitPairEDProducer.clone(
64 seedingLayers =
"hiDetachedTripletStepSeedLayers",
65 trackingRegions =
"hiDetachedTripletStepTrackingRegions",
66 maxElement = 50000000,
67 produceIntermediateHitDoublets =
True,
70 hiDetachedTripletStepTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
71 doublets =
"hiDetachedTripletStepTracksHitDoublets",
72 extraHitRPhitolerance = 0.0,
73 extraHitRZtolerance = 0.0,
75 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
76 produceSeedingHitSets =
True,
79 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi
import caHitTripletEDProducer
as _caHitTripletEDProducer
80 hiDetachedTripletStepTracksHitDoubletsCA = hiDetachedTripletStepTracksHitDoublets.clone()
81 hiDetachedTripletStepTracksHitDoubletsCA.layerPairs = [0,1]
83 hiDetachedTripletStepTracksHitTripletsCA = _caHitTripletEDProducer.clone(
84 doublets =
"hiDetachedTripletStepTracksHitDoubletsCA",
85 extraHitRPhitolerance = hiDetachedTripletStepTracksHitTriplets.extraHitRPhitolerance,
88 value1 = 300 , value2 = 10,
90 useBendingCorrection =
True,
96 hiDetachedTripletStepPixelTracksFilter = hiFilter.clone(
97 nSigmaTipMaxTolerance = 0,
102 hiDetachedTripletStepPixelTracks = cms.EDProducer(
"PixelTrackProducer",
104 passLabel = cms.string(
'Pixel detached tracks with vertex constraint'),
107 SeedingHitSets = cms.InputTag(
"hiDetachedTripletStepTracksHitTriplets"),
110 Fitter = cms.InputTag(
"pixelFitterByHelixProjections"),
113 Filter = cms.InputTag(
"hiDetachedTripletStepPixelTracksFilter"),
116 Cleaner = cms.string(
"trackCleaner")
118 trackingPhase1.toModify(hiDetachedTripletStepPixelTracks,
119 SeedingHitSets = cms.InputTag(
"hiDetachedTripletStepTracksHitTripletsCA")
123 import RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
124 hiDetachedTripletStepSeeds = RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
125 InputCollection =
'hiDetachedTripletStepPixelTracks' 130 hiDetachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
132 minimumNumberOfHits = 6,
133 minPt = cms.double(0.3),
134 constantValueForLostHitsFractionFilter = cms.double(0.701)
138 hiDetachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
139 ComponentName = cms.string(
'hiDetachedTripletStepChi2Est'),
140 nSigma = cms.double(3.0),
141 MaxChi2 = cms.double(9.0)
147 hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
148 MeasurementTrackerName =
'',
149 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'hiDetachedTripletStepTrajectoryFilter')),
151 estimator = cms.string(
'hiDetachedTripletStepChi2Est'),
152 maxDPhiForLooperReconstruction = cms.double(0),
153 maxPtForLooperReconstruction = cms.double(0),
154 alwaysUseInvalidHits = cms.bool(
False)
159 hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
160 src = cms.InputTag(
'hiDetachedTripletStepSeeds'),
162 numHitsForSeedCleaner = cms.int32(50),
163 onlyPixelHitsForSeedCleaner = cms.bool(
True),
164 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'hiDetachedTripletStepTrajectoryBuilder')),
165 TrajectoryBuilder = cms.string(
'hiDetachedTripletStepTrajectoryBuilder'),
166 clustersToSkip = cms.InputTag(
'hiDetachedTripletStepClusters'),
167 doSeedingRegionRebuilding =
True,
168 useHitsSplitting =
True 174 hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
175 src =
'hiDetachedTripletStepTrackCandidates',
176 AlgorithmName = cms.string(
'detachedTripletStep'),
177 Fitter=cms.string(
'FlexibleKFFittingSmoother')
182 hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
183 src=
'hiDetachedTripletStepTracks',
184 useAnyMVA = cms.bool(
True),
185 GBRForestLabel = cms.string(
'HIMVASelectorIter7'),
186 GBRForestVars = cms.vstring([
'chi2perdofperlayer',
'nhits',
'nlayers',
'eta']),
187 trackSelectors= cms.VPSet(
188 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
189 name =
'hiDetachedTripletStepLoose',
190 applyAdaptedPVCuts = cms.bool(
False),
191 useMVA = cms.bool(
False),
193 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
194 name =
'hiDetachedTripletStepTight',
195 preFilterName =
'hiDetachedTripletStepLoose',
196 applyAdaptedPVCuts = cms.bool(
False),
197 useMVA = cms.bool(
True),
198 minMVA = cms.double(-0.2)
200 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
201 name =
'hiDetachedTripletStep',
202 preFilterName =
'hiDetachedTripletStepTight',
203 applyAdaptedPVCuts = cms.bool(
False),
204 useMVA = cms.bool(
True),
205 minMVA = cms.double(-0.09)
209 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
210 trackingPhase1.toModify(hiDetachedTripletStepSelector, useAnyMVA = cms.bool(
False))
211 trackingPhase1.toModify(hiDetachedTripletStepSelector, trackSelectors= cms.VPSet(
212 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
213 name =
'hiDetachedTripletStepLoose',
214 applyAdaptedPVCuts = cms.bool(
False),
215 useMVA = cms.bool(
False),
217 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
218 name =
'hiDetachedTripletStepTight',
219 preFilterName =
'hiDetachedTripletStepLoose',
220 applyAdaptedPVCuts = cms.bool(
False),
221 useMVA = cms.bool(
False),
222 minMVA = cms.double(-0.2)
224 RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
225 name =
'hiDetachedTripletStep',
226 preFilterName =
'hiDetachedTripletStepTight',
227 applyAdaptedPVCuts = cms.bool(
False),
228 useMVA = cms.bool(
False),
229 minMVA = cms.double(-0.09)
235 hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
236 TrackProducers=cms.VInputTag(cms.InputTag(
'hiDetachedTripletStepTracks')),
237 hasSelector=cms.vint32(1),
238 selectedTrackQuals = cms.VInputTag(cms.InputTag(
"hiDetachedTripletStepSelector",
"hiDetachedTripletStep")),
240 makeReKeyedSeeds = cms.untracked.bool(
False),
244 hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepClusters*
245 hiDetachedTripletStepSeedLayers*
246 hiDetachedTripletStepTrackingRegions*
247 hiDetachedTripletStepTracksHitDoublets*
248 hiDetachedTripletStepTracksHitTriplets*
249 pixelFitterByHelixProjections*
250 hiDetachedTripletStepPixelTracksFilter*
251 hiDetachedTripletStepPixelTracks*
252 hiDetachedTripletStepSeeds*
253 hiDetachedTripletStepTrackCandidates*
254 hiDetachedTripletStepTracks*
255 hiDetachedTripletStepSelector*
256 hiDetachedTripletStepQual)
257 hiDetachedTripletStep_Phase1 = hiDetachedTripletStep.copy()
258 hiDetachedTripletStep_Phase1.replace(hiDetachedTripletStepTracksHitDoublets, hiDetachedTripletStepTracksHitDoubletsCA)
259 hiDetachedTripletStep_Phase1.replace(hiDetachedTripletStepTracksHitTriplets, hiDetachedTripletStepTracksHitTripletsCA)
260 trackingPhase1.toReplaceWith(hiDetachedTripletStep, hiDetachedTripletStep_Phase1)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...