File indexing completed on 2025-01-18 03:42:16
0001 import FWCore.ParameterSet.Config as cms
0002 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 as _tracker_apv_vfp30_2016
0003
0004
0005
0006
0007 from RecoLocalTracker.SiPixelRecHits.PixelCPEESProducers_cff import *
0008 from RecoTracker.TransientTrackingRecHit.TTRHBuilders_cff import *
0009
0010 from RecoTracker.TkSeedGenerator.trackerClusterCheck_cfi import trackerClusterCheck as _trackerClusterCheck
0011 trackerClusterCheckPreSplitting = _trackerClusterCheck.clone(
0012 PixelClusterCollectionLabel = 'siPixelClustersPreSplitting'
0013 )
0014
0015
0016 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
0017 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
0018 initialStepSeedLayersPreSplitting = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
0019 FPix = dict(HitProducer = 'siPixelRecHitsPreSplitting'),
0020 BPix = dict(HitProducer = 'siPixelRecHitsPreSplitting')
0021 )
0022 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0023 trackingPhase1.toModify(initialStepSeedLayersPreSplitting,
0024 layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
0025 )
0026 from Configuration.ProcessModifiers.splitClustersInPhase2Pixel_cff import splitClustersInPhase2Pixel
0027 splitClustersInPhase2Pixel.toModify(initialStepSeedLayersPreSplitting,
0028 layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
0029 )
0030
0031
0032 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
0033 initialStepTrackingRegionsPreSplitting = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
0034 ptMin = 0.6,
0035 originRadius = 0.02,
0036 nSigmaZ = 4.0
0037 ))
0038 trackingPhase1.toModify(initialStepTrackingRegionsPreSplitting, RegionPSet = dict(ptMin = 0.5))
0039 splitClustersInPhase2Pixel.toModify(initialStepTrackingRegionsPreSplitting, RegionPSet = dict(ptMin = 0.6,originRadius = 0.03))
0040
0041
0042 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0043 initialStepHitDoubletsPreSplitting = _hitPairEDProducer.clone(
0044 seedingLayers = 'initialStepSeedLayersPreSplitting',
0045 trackingRegions = 'initialStepTrackingRegionsPreSplitting',
0046 clusterCheck = 'trackerClusterCheckPreSplitting',
0047 maxElement = 50000000,
0048 produceIntermediateHitDoublets = True,
0049 )
0050 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0051 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0052 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0053 initialStepHitTripletsPreSplitting = _pixelTripletHLTEDProducer.clone(
0054 doublets = 'initialStepHitDoubletsPreSplitting',
0055 produceSeedingHitSets = True,
0056 SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(
0057 clusterShapeCacheSrc = 'siPixelClusterShapeCachePreSplitting'
0058 ),
0059 )
0060 from RecoTracker.PixelSeeding.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer
0061 trackingPhase1.toModify(initialStepHitDoubletsPreSplitting, layerPairs = [0,1,2])
0062 splitClustersInPhase2Pixel.toModify(initialStepHitDoubletsPreSplitting, layerPairs = [0,1,2])
0063 initialStepHitQuadrupletsPreSplitting = _caHitQuadrupletEDProducer.clone(
0064 doublets = 'initialStepHitDoubletsPreSplitting',
0065 extraHitRPhitolerance = initialStepHitTripletsPreSplitting.extraHitRPhitolerance,
0066 SeedComparitorPSet = initialStepHitTripletsPreSplitting.SeedComparitorPSet,
0067 maxChi2 = dict(
0068 pt1 = 0.7, pt2 = 2,
0069 value1 = 200, value2 = 50,
0070 ),
0071 useBendingCorrection = True,
0072 fitFastCircle = True,
0073 fitFastCircleChi2Cut = True,
0074 CAThetaCut = 0.0012,
0075 CAPhiCut = 0.2,
0076 )
0077 splitClustersInPhase2Pixel.toModify(initialStepHitQuadrupletsPreSplitting,
0078 CAThetaCut = 0.0010,
0079 CAPhiCut = 0.175,
0080 )
0081 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0082 initialStepSeedsPreSplitting = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0083 seedingHitSets = 'initialStepHitTripletsPreSplitting',
0084 )
0085 trackingPhase1.toModify(initialStepSeedsPreSplitting, seedingHitSets = 'initialStepHitQuadrupletsPreSplitting')
0086 splitClustersInPhase2Pixel.toModify(initialStepSeedsPreSplitting, seedingHitSets = 'initialStepHitQuadrupletsPreSplitting')
0087
0088
0089
0090 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0091 _initialStepTrajectoryFilterBasePreSplitting = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0092 minimumNumberOfHits = 4,
0093 minPt = 0.2,
0094 )
0095 initialStepTrajectoryFilterBasePreSplitting = _initialStepTrajectoryFilterBasePreSplitting.clone(
0096 maxCCCLostHits = 0,
0097 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
0098 )
0099 splitClustersInPhase2Pixel.toReplaceWith(initialStepTrajectoryFilterBasePreSplitting, _initialStepTrajectoryFilterBasePreSplitting)
0100 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
0101 _tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBasePreSplitting, maxCCCLostHits = 2)
0102 import RecoTracker.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
0103 initialStepTrajectoryFilterShapePreSplitting = RecoTracker.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
0104 initialStepTrajectoryFilterPreSplitting = cms.PSet(
0105 ComponentType = cms.string('CompositeTrajectoryFilter'),
0106 filters = cms.VPSet(
0107 cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterBasePreSplitting')),
0108 cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShapePreSplitting'))),
0109 )
0110 splitClustersInPhase2Pixel.toReplaceWith(initialStepTrajectoryFilterPreSplitting, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0111 minimumNumberOfHits = 3,
0112 minPt = 0.2
0113 ))
0114
0115 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
0116 initialStepChi2EstPreSplitting = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
0117 ComponentName = 'initialStepChi2EstPreSplitting',
0118 nSigma = 3.0,
0119 MaxChi2 = 16.0,
0120 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose')),
0121 )
0122 _tracker_apv_vfp30_2016.toModify(initialStepChi2EstPreSplitting,
0123 clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
0124 )
0125 splitClustersInPhase2Pixel.toModify(initialStepChi2EstPreSplitting,
0126 clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutNone'),
0127 )
0128
0129 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0130 initialStepTrajectoryBuilderPreSplitting = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilderIterativeDefault.clone(
0131 trajectoryFilter = dict(refToPSet_ = 'initialStepTrajectoryFilterPreSplitting'),
0132 alwaysUseInvalidHits = True,
0133 maxCand = 3,
0134 estimator = 'initialStepChi2Est',
0135 )
0136
0137 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0138 initialStepTrackCandidatesPreSplitting = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidatesIterativeDefault.clone(
0139 src = 'initialStepSeedsPreSplitting',
0140
0141 numHitsForSeedCleaner = 50,
0142 onlyPixelHitsForSeedCleaner = True,
0143 TrajectoryBuilderPSet = dict(refToPSet_ = 'initialStepTrajectoryBuilderPreSplitting'),
0144 doSeedingRegionRebuilding = True,
0145 useHitsSplitting = True,
0146 MeasurementTrackerEvent = 'MeasurementTrackerEventPreSplitting',
0147 )
0148
0149 from Configuration.ProcessModifiers.trackingMkFitInitialStepPreSplitting_cff import trackingMkFitInitialStepPreSplitting
0150 from RecoTracker.MkFit.mkFitGeometryESProducer_cfi import mkFitGeometryESProducer
0151 import RecoTracker.MkFit.mkFitSiPixelHitConverter_cfi as _mkFitSiPixelHitConverter_cfi
0152 import RecoTracker.MkFit.mkFitSiStripHitConverter_cfi as _mkFitSiStripHitConverter_cfi
0153 import RecoTracker.MkFit.mkFitEventOfHitsProducer_cfi as _mkFitEventOfHitsProducer_cfi
0154 import RecoTracker.MkFit.mkFitSeedConverter_cfi as _mkFitSeedConverter_cfi
0155 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as _mkFitIterationConfigESProducer_cfi
0156 import RecoTracker.MkFit.mkFitProducer_cfi as _mkFitProducer_cfi
0157 import RecoTracker.MkFit.mkFitOutputConverter_cfi as _mkFitOutputConverter_cfi
0158 mkFitSiPixelHitsPreSplitting = _mkFitSiPixelHitConverter_cfi.mkFitSiPixelHitConverter.clone(
0159 hits = 'siPixelRecHitsPreSplitting',
0160 clusters = 'siPixelClustersPreSplitting'
0161 )
0162 mkFitSiStripHits = _mkFitSiStripHitConverter_cfi.mkFitSiStripHitConverter.clone()
0163 mkFitEventOfHitsPreSplitting = _mkFitEventOfHitsProducer_cfi.mkFitEventOfHitsProducer.clone(
0164 pixelHits = 'mkFitSiPixelHitsPreSplitting'
0165 )
0166 initialStepTrackCandidatesMkFitSeedsPreSplitting = _mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0167 seeds = 'initialStepSeedsPreSplitting',
0168 )
0169
0170 initialStepTrackCandidatesMkFitConfigPreSplitting = _mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0171 ComponentName = 'initialStepTrackCandidatesMkFitConfigPreSplitting',
0172 config = 'RecoTracker/MkFit/data/mkfit-phase1-initialStep.json',
0173 )
0174 initialStepTrackCandidatesMkFitPreSplitting = _mkFitProducer_cfi.mkFitProducer.clone(
0175 pixelHits = 'mkFitSiPixelHitsPreSplitting',
0176 eventOfHits = 'mkFitEventOfHitsPreSplitting',
0177 seeds = 'initialStepTrackCandidatesMkFitSeedsPreSplitting',
0178 config = ('', 'initialStepTrackCandidatesMkFitConfigPreSplitting'),
0179 )
0180 trackingMkFitInitialStepPreSplitting.toReplaceWith(initialStepTrackCandidatesPreSplitting, _mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0181 mkFitPixelHits = 'mkFitSiPixelHitsPreSplitting',
0182 mkFitEventOfHits = 'mkFitEventOfHitsPreSplitting',
0183 seeds = 'initialStepSeedsPreSplitting',
0184 mkFitSeeds = 'initialStepTrackCandidatesMkFitSeedsPreSplitting',
0185 tracks = 'initialStepTrackCandidatesMkFitPreSplitting',
0186 ))
0187
0188
0189 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
0190 initialStepTracksPreSplitting = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.clone(
0191 src = 'initialStepTrackCandidatesPreSplitting',
0192 AlgorithmName = 'initialStep',
0193 Fitter = 'FlexibleKFFittingSmoother',
0194 NavigationSchool = '',
0195 MeasurementTrackerEvent = ''
0196 )
0197 initialStepTracksPreSplitting.MeasurementTrackerEvent = 'MeasurementTrackerEventPreSplitting'
0198
0199
0200 from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import offlinePrimaryVertices as _offlinePrimaryVertices
0201 firstStepPrimaryVerticesPreSplitting = _offlinePrimaryVertices.clone(
0202 TrackLabel = 'initialStepTracksPreSplitting',
0203 vertexCollections = [_offlinePrimaryVertices.vertexCollections[0].clone()]
0204 )
0205 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
0206 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0207 (pp_on_XeXe_2017 | pp_on_AA).toModify(firstStepPrimaryVerticesPreSplitting,
0208 TkFilterParameters = dict(
0209 trackQuality = 'any',
0210 maxNumTracksThreshold = 2**31-1
0211 )
0212 )
0213
0214
0215 from RecoTracker.IterativeTracking.InitialStep_cff import initialStepTrackRefsForJets, caloTowerForTrk, ak4CaloJetsForTrk
0216 from RecoTracker.IterativeTracking.JetCoreRegionalStep_cff import jetsForCoreTracking
0217 initialStepTrackRefsForJetsPreSplitting = initialStepTrackRefsForJets.clone(
0218 src = 'initialStepTracksPreSplitting'
0219 )
0220 caloTowerForTrkPreSplitting = caloTowerForTrk.clone()
0221 ak4CaloJetsForTrkPreSplitting = ak4CaloJetsForTrk.clone(
0222 src = 'caloTowerForTrkPreSplitting',
0223 srcPVs = 'firstStepPrimaryVerticesPreSplitting'
0224 )
0225
0226 from Configuration.ProcessModifiers.hltClusterSplitting_cff import hltClusterSplitting
0227 hltClusterSplitting.toModify(ak4CaloJetsForTrkPreSplitting,
0228 srcPVs = 'hltPixelVertices'
0229 )
0230
0231 jetsForCoreTrackingPreSplitting = jetsForCoreTracking.clone(
0232 src = 'ak4CaloJetsForTrkPreSplitting'
0233 )
0234
0235
0236 from RecoLocalTracker.SubCollectionProducers.jetCoreClusterSplitter_cfi import jetCoreClusterSplitter
0237 siPixelClusters = jetCoreClusterSplitter.clone(
0238 pixelClusters = 'siPixelClustersPreSplitting',
0239 vertices = 'firstStepPrimaryVerticesPreSplitting',
0240 cores = 'jetsForCoreTrackingPreSplitting'
0241 )
0242
0243
0244
0245
0246 from RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi import siPixelRecHits
0247 from RecoTracker.MeasurementDet.MeasurementTrackerEventProducer_cfi import MeasurementTrackerEvent
0248 from RecoTracker.PixelLowPtUtilities.siPixelClusterShapeCache_cfi import *
0249 InitialStepPreSplittingTask = cms.Task(trackerClusterCheckPreSplitting,
0250 initialStepSeedLayersPreSplitting,
0251 initialStepTrackingRegionsPreSplitting,
0252 initialStepHitDoubletsPreSplitting,
0253 initialStepHitTripletsPreSplitting,
0254 initialStepSeedsPreSplitting,
0255 initialStepTrackCandidatesPreSplitting,
0256 initialStepTracksPreSplitting,
0257 firstStepPrimaryVerticesPreSplitting,
0258 initialStepTrackRefsForJetsPreSplitting,
0259 caloTowerForTrkPreSplitting,
0260 ak4CaloJetsForTrkPreSplitting,
0261 jetsForCoreTrackingPreSplitting,
0262 siPixelClusters,
0263 siPixelRecHits,
0264 MeasurementTrackerEvent,
0265 siPixelClusterShapeCache)
0266
0267 hltClusterSplitting.toModify(siPixelClusters,
0268 vertices = cms.InputTag("hltPixelVertices")
0269 )
0270
0271 InitialStepPreSplittingFromHLTTask = cms.Task(
0272 caloTowerForTrkPreSplitting,
0273 ak4CaloJetsForTrkPreSplitting,
0274 jetsForCoreTrackingPreSplitting,
0275 siPixelClusters,
0276 siPixelRecHits,
0277 MeasurementTrackerEvent,
0278 siPixelClusterShapeCache)
0279 hltClusterSplitting.toReplaceWith(InitialStepPreSplittingTask, InitialStepPreSplittingFromHLTTask)
0280
0281 InitialStepPreSplitting = cms.Sequence(InitialStepPreSplittingTask)
0282 _InitialStepPreSplittingTask_trackingPhase1 = InitialStepPreSplittingTask.copy()
0283 _InitialStepPreSplittingTask_trackingPhase1.replace(initialStepHitTripletsPreSplitting, cms.Task(initialStepHitTripletsPreSplitting,initialStepHitQuadrupletsPreSplitting))
0284 trackingPhase1.toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_trackingPhase1.copyAndExclude([initialStepHitTripletsPreSplitting]))
0285 _InitialStepPreSplittingTask_trackingPhase2PU140 = InitialStepPreSplittingTask.copy()
0286 _InitialStepPreSplittingTask_trackingPhase2PU140.replace(initialStepHitTripletsPreSplitting, cms.Task(initialStepHitTripletsPreSplitting,initialStepHitQuadrupletsPreSplitting))
0287 splitClustersInPhase2Pixel.toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_trackingPhase2PU140.copyAndExclude([initialStepHitTripletsPreSplitting]))
0288
0289 from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon
0290 _InitialStepPreSplittingTask_trackingMkFitCommon = InitialStepPreSplittingTask.copy()
0291 _InitialStepPreSplittingTask_trackingMkFitCommon.add(mkFitSiStripHits, mkFitGeometryESProducer)
0292 trackingMkFitCommon.toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_trackingMkFitCommon)
0293 _InitialStepPreSplittingTask_trackingMkFit = InitialStepPreSplittingTask.copy()
0294 _InitialStepPreSplittingTask_trackingMkFit.add(mkFitSiPixelHitsPreSplitting, mkFitEventOfHitsPreSplitting, initialStepTrackCandidatesMkFitSeedsPreSplitting, initialStepTrackCandidatesMkFitPreSplitting, initialStepTrackCandidatesMkFitConfigPreSplitting)
0295 trackingMkFitInitialStepPreSplitting.toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_trackingMkFit)
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312 from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters
0313 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
0314 trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters)
0315 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
0316 (trackingPhase2PU140 & ~splitClustersInPhase2Pixel).toReplaceWith(siPixelClusters, _siPixelClusters)
0317 _InitialStepPreSplittingTask_LowPU = cms.Task(
0318 siPixelClusters ,
0319 siPixelRecHits ,
0320 MeasurementTrackerEvent ,
0321 siPixelClusterShapeCache
0322 )
0323 trackingLowPU.toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_LowPU)
0324 (trackingPhase2PU140 & ~splitClustersInPhase2Pixel).toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_LowPU)
0325 splitClustersInPhase2Pixel.toModify(siPixelClusters,
0326 centralMIPCharge = cms.double(12000),
0327 expSizeXAtLorentzAngleIncidence = cms.double(1.5),
0328 expSizeXDeltaPerTanAlpha = cms.double(5.2),
0329 expSizeYAtNormalIncidence = cms.double(2.3),
0330 tanLorentzAngle = cms.double(-0.21),
0331 tanLorentzAngleBarrelLayer1 = cms.double(0.0),
0332 chargeFractionMin = cms.double(2.0),
0333 forceXError = cms.double(25.0),
0334 forceYError = cms.double(100.0),
0335 )