File indexing completed on 2023-05-23 22:25:58
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 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
0004 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0005
0006
0007 from Configuration.ProcessModifiers.trackdnn_cff import trackdnn
0008 from RecoTracker.IterativeTracking.dnnQualityCuts import qualityCutDictionary
0009
0010
0011 from Configuration.ProcessModifiers.trackingNoLoopers_cff import trackingNoLoopers
0012
0013
0014 lowPtTripletStepClusters = _cfg.clusterRemoverForIter('LowPtTripletStep')
0015 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
0016 _era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter('LowPtTripletStep', _eraName, _postfix))
0017
0018
0019 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
0020 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
0021 BPix = dict(skipClusters = cms.InputTag('lowPtTripletStepClusters')),
0022 FPix = dict(skipClusters = cms.InputTag('lowPtTripletStepClusters'))
0023 )
0024 _layerListForPhase1 = [
0025 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
0026 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
0027 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg',
0028 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
0029 'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg',
0030 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
0031 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
0032 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
0033 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
0034 'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg',
0035 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg'
0036 ]
0037 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0038 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
0039
0040
0041 _layerListForPhase2 = ['BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
0042
0043 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
0044 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
0045
0046 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
0047
0048 'FPix2_pos+FPix3_pos+FPix4_pos', 'FPix2_neg+FPix3_neg+FPix4_neg',
0049 'FPix3_pos+FPix4_pos+FPix5_pos', 'FPix3_neg+FPix4_neg+FPix5_neg',
0050 'FPix4_pos+FPix5_pos+FPix6_pos', 'FPix4_neg+FPix5_neg+FPix6_neg',
0051
0052
0053
0054 ]
0055 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
0056 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
0057
0058
0059 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
0060 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
0061 ptMin = 0.2,
0062 originRadius = 0.02,
0063 nSigmaZ = 4.0
0064 ))
0065 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.2))
0066 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.40))
0067
0068 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
0069 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0070 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
0071 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(lowPtTripletStepTrackingRegions,
0072 _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
0073 useFixedError = False,
0074 ptMin = 0.49,
0075 originRadius = 0.02 )
0076 )
0077 )
0078 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
0079 highBetaStar_2018.toModify(lowPtTripletStepTrackingRegions,RegionPSet = dict(
0080 ptMin = 0.05,
0081 originRadius = 0.2 )
0082 )
0083
0084
0085 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0086 lowPtTripletStepHitDoublets = _hitPairEDProducer.clone(
0087 seedingLayers = 'lowPtTripletStepSeedLayers',
0088 trackingRegions = 'lowPtTripletStepTrackingRegions',
0089 maxElement = 50000000,
0090 produceIntermediateHitDoublets = True,
0091 )
0092 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0093 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0094 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0095 lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone(
0096 doublets = 'lowPtTripletStepHitDoublets',
0097 produceSeedingHitSets = True,
0098 SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
0099 )
0100 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0101 lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0102 seedingHitSets = 'lowPtTripletStepHitTriplets',
0103 )
0104
0105 from RecoTracker.PixelSeeding.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer
0106 trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
0107 trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
0108 doublets = 'lowPtTripletStepHitDoublets',
0109 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
0110 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
0111 maxChi2 = dict(
0112 pt1 = 0.8, pt2 = 2,
0113 value1 = 70 , value2 = 8,
0114 ),
0115 useBendingCorrection = True,
0116 CAThetaCut = 0.002,
0117 CAPhiCut = 0.05 )
0118 )
0119
0120 trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
0121 trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
0122 doublets = 'lowPtTripletStepHitDoublets',
0123 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
0124 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
0125 maxChi2 = dict(
0126 pt1 = 0.8, pt2 = 2,
0127 value1 = 70 , value2 = 8,
0128 ),
0129 useBendingCorrection = True,
0130 CAThetaCut = 0.002,
0131 CAPhiCut = 0.05 )
0132 )
0133 highBetaStar_2018.toModify(lowPtTripletStepHitTriplets,CAThetaCut = 0.004,CAPhiCut = 0.1)
0134
0135 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
0136 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
0137 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
0138 trackingRegions = 'lowPtTripletStepTrackingRegions',
0139 hitMasks = cms.InputTag('lowPtTripletStepMasks'),
0140 seedFinderSelector = dict(pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(lowPtTripletStepHitTriplets).clone(
0141 SeedComparitorPSet = dict(ComponentName = 'none')),
0142 layerList = lowPtTripletStepSeedLayers.layerList.value()
0143 )
0144 )
0145
0146 trackingPhase1.toModify(_fastSim_lowPtTripletStepSeeds, seedFinderSelector = dict(
0147 pixelTripletGeneratorFactory = None,
0148 CAHitTripletGeneratorFactory = _hitSetProducerToFactoryPSet(lowPtTripletStepHitTriplets).clone(SeedComparitorPSet = dict(ComponentName = 'none')),
0149
0150 BPix = dict(
0151 TTRHBuilder = 'WithoutRefit',
0152 HitProducer = 'TrackingRecHitProducer',
0153 ),
0154 FPix = dict(
0155 TTRHBuilder = 'WithoutRefit',
0156 HitProducer = 'TrackingRecHitProducer',
0157 ),
0158 layerPairs = lowPtTripletStepHitDoublets.layerPairs.value()
0159 )
0160 )
0161 fastSim.toReplaceWith(lowPtTripletStepSeeds,_fastSim_lowPtTripletStepSeeds)
0162
0163
0164 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
0165 _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0166 minimumNumberOfHits = 3,
0167 minPt = 0.075,
0168 )
0169 lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
0170 maxCCCLostHits = 0,
0171 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
0172 )
0173 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
0174 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
0175 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
0176 trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
0177 trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
0178
0179 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.49)
0180
0181 from RecoTracker.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
0182
0183 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
0184 filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
0185
0186 ]
0187 )
0188 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
0189 filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
0190 )
0191
0192 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
0193 minimumNumberOfHits = 4,
0194 seedExtension = 1,
0195 strictSeedExtension = False,
0196 pixelSeedExtension = False,
0197 )
0198
0199 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
0200 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
0201 ComponentName = 'lowPtTripletStepChi2Est',
0202 nSigma = 3.0,
0203 MaxChi2 = 9.0,
0204 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0205 )
0206 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
0207 clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
0208 )
0209
0210
0211 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0212 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilderIterativeDefault.clone(
0213 trajectoryFilter = dict(refToPSet_ = 'lowPtTripletStepTrajectoryFilter'),
0214 maxCand = 4,
0215 estimator = 'lowPtTripletStepChi2Est',
0216 maxDPhiForLooperReconstruction = 2.0,
0217
0218
0219 maxPtForLooperReconstruction = 0.7,
0220 )
0221 trackingNoLoopers.toModify(lowPtTripletStepTrajectoryBuilder,
0222 maxPtForLooperReconstruction = 0.0)
0223 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
0224 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
0225 inOutTrajectoryFilter = dict(refToPSet_ = 'lowPtTripletStepTrajectoryFilterInOut'),
0226 useSameTrajFilter = False,
0227 maxCand = 3,
0228 )
0229
0230
0231 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0232
0233 _lowPtTripletStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidatesIterativeDefault.clone(
0234 src = 'lowPtTripletStepSeeds',
0235
0236 numHitsForSeedCleaner = 50,
0237 onlyPixelHitsForSeedCleaner = True,
0238 TrajectoryBuilderPSet = dict(refToPSet_ = 'lowPtTripletStepTrajectoryBuilder'),
0239 clustersToSkip = 'lowPtTripletStepClusters',
0240 doSeedingRegionRebuilding = True,
0241 useHitsSplitting = True,
0242 TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits',
0243 )
0244 lowPtTripletStepTrackCandidates = _lowPtTripletStepTrackCandidatesCkf.clone()
0245 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
0246 clustersToSkip = '',
0247 phase2clustersToSkip = 'lowPtTripletStepClusters'
0248 )
0249
0250 from Configuration.ProcessModifiers.trackingMkFitLowPtTripletStep_cff import trackingMkFitLowPtTripletStep
0251 import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
0252 import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
0253 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
0254 import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
0255 lowPtTripletStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0256 seeds = 'lowPtTripletStepSeeds',
0257 )
0258 lowPtTripletStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0259 ComponentName = 'lowPtTripletStepTrackCandidatesMkFitConfig',
0260 config = 'RecoTracker/MkFit/data/mkfit-phase1-lowPtTripletStep.json',
0261 )
0262 lowPtTripletStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
0263 seeds = 'lowPtTripletStepTrackCandidatesMkFitSeeds',
0264 config = ('', 'lowPtTripletStepTrackCandidatesMkFitConfig'),
0265 clustersToSkip = 'lowPtTripletStepClusters',
0266 )
0267 trackingMkFitLowPtTripletStep.toReplaceWith(lowPtTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0268 seeds = 'lowPtTripletStepSeeds',
0269 mkFitSeeds = 'lowPtTripletStepTrackCandidatesMkFitSeeds',
0270 tracks = 'lowPtTripletStepTrackCandidatesMkFit',
0271 ))
0272 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtTripletStepTrackCandidatesMkFitConfig, minPt=0.49)
0273
0274 import FastSimulation.Tracking.TrackCandidateProducer_cfi
0275 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
0276 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
0277 src = 'lowPtTripletStepSeeds',
0278 MinNumberOfCrossedLayers = 3,
0279 hitMasks = cms.InputTag('lowPtTripletStepMasks'))
0280 )
0281
0282
0283 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
0284 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.clone(
0285 src = 'lowPtTripletStepTrackCandidates',
0286 AlgorithmName = 'lowPtTripletStep',
0287 Fitter = 'FlexibleKFFittingSmoother'
0288 )
0289 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder = 'WithoutRefit')
0290
0291 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
0292 phase2_timing_layer.toModify(lowPtTripletStepTracks, TrajectoryInEvent = True)
0293
0294 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
0295 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
0296 ComponentName = 'lowPtTripletStepTrajectoryCleanerBySharedHits',
0297 fractionShared = 0.16,
0298 allowSharedFirstHit = True
0299 )
0300 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
0301 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
0302
0303
0304 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
0305 lowPtTripletStep = TrackMVAClassifierPrompt.clone(
0306 src = 'lowPtTripletStepTracks',
0307 mva = dict(GBRForestLabel = 'MVASelectorIter1_13TeV'),
0308 qualityCuts = [-0.6,-0.3,-0.1]
0309 )
0310 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
0311 mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'),
0312 qualityCuts = [-0.4,0.0,0.3],
0313 ))
0314 pp_on_AA.toModify(lowPtTripletStep,
0315 mva = dict(GBRForestLabel = 'HIMVASelectorLowPtTripletStep_Phase1'),
0316 qualityCuts = [-0.8, -0.4, 0.5],
0317 )
0318
0319 from RecoTracker.FinalTrackSelectors.trackTfClassifier_cfi import *
0320 from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import *
0321 from RecoTracker.FinalTrackSelectors.trackSelectionTf_CKF_cfi import *
0322 trackdnn.toReplaceWith(lowPtTripletStep, trackTfClassifier.clone(
0323 src = 'lowPtTripletStepTracks',
0324 qualityCuts = qualityCutDictionary.LowPtTripletStep.value()
0325 ))
0326 highBetaStar_2018.toModify(lowPtTripletStep,qualityCuts = [-0.7,-0.3,-0.1])
0327
0328 fastSim.toModify(lowPtTripletStep, vertices = 'firstStepPrimaryVerticesBeforeMixing')
0329
0330 ((~trackingMkFitLowPtTripletStep) & trackdnn).toModify(lowPtTripletStep, mva = dict(tfDnnLabel = 'trackSelectionTf_CKF'),
0331 qualityCuts = [-0.23, 0.15, 0.41])
0332
0333 (pp_on_AA & trackdnn).toModify(lowPtTripletStep, qualityCuts = [-0.29, 0.65, 0.98] )
0334
0335
0336 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0337 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0338 src = 'lowPtTripletStepTracks',
0339 useAnyMVA = cms.bool(False),
0340 GBRForestLabel = cms.string('MVASelectorIter1'),
0341 trackSelectors= [
0342 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0343 name = 'lowPtTripletStepLoose',
0344 ),
0345 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0346 name = 'lowPtTripletStepTight',
0347 preFilterName = 'lowPtTripletStepLoose',
0348 ),
0349 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0350 name = 'QualityMasks',
0351 preFilterName = 'lowPtTripletStepTight',
0352 ),
0353 ]
0354 )
0355 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
0356 useAnyMVA = None,
0357 GBRForestLabel = None,
0358 trackSelectors= cms.VPSet(
0359 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0360 name = 'lowPtTripletStepLoose',
0361 chi2n_par = 1.2,
0362 res_par = ( 0.003, 0.002 ),
0363 minNumberLayers = 3,
0364 maxNumberLostLayers = 2,
0365 minNumber3DLayers = 3,
0366 d0_par1 = ( 0.7, 4.0 ),
0367 dz_par1 = ( 0.7, 4.0 ),
0368 d0_par2 = ( 0.6, 4.0 ),
0369 dz_par2 = ( 0.6, 4.0 )
0370 ),
0371 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0372 name = 'lowPtTripletStepTight',
0373 preFilterName = 'lowPtTripletStepLoose',
0374 chi2n_par = 0.7,
0375 res_par = ( 0.003, 0.002 ),
0376 minNumberLayers = 3,
0377 maxNumberLostLayers = 2,
0378 minNumber3DLayers = 3,
0379 d0_par1 = ( 0.6, 4.0 ),
0380 dz_par1 = ( 0.6, 4.0 ),
0381 d0_par2 = ( 0.5, 4.0 ),
0382 dz_par2 = ( 0.5, 4.0 )
0383 ),
0384 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0385 name = 'lowPtTripletStep',
0386 preFilterName = 'lowPtTripletStepTight',
0387 min_eta = -4.0,
0388 max_eta = 4.0,
0389 chi2n_par = 0.4,
0390 res_par = ( 0.003, 0.001 ),
0391 min_nhits = 3,
0392 minNumberLayers = 4,
0393 maxNumberLostLayers = 2,
0394 minNumber3DLayers = 4,
0395 d0_par1 = ( 0.5, 4.0 ),
0396 dz_par1 = ( 0.5, 4.0 ),
0397 d0_par2 = ( 0.45, 4.0 ),
0398 dz_par2 = ( 0.45, 4.0 )
0399 ),
0400 ),
0401 )
0402
0403
0404 from Configuration.ProcessModifiers.vectorHits_cff import vectorHits
0405 vectorHits.toModify(lowPtTripletStepSelector.trackSelectors[2], minNumberLayers = 3, minNumber3DLayers = 3)
0406
0407
0408
0409 LowPtTripletStepTask = cms.Task(lowPtTripletStepClusters,
0410 lowPtTripletStepSeedLayers,
0411 lowPtTripletStepTrackingRegions,
0412 lowPtTripletStepHitDoublets,
0413 lowPtTripletStepHitTriplets,
0414 lowPtTripletStepSeeds,
0415 lowPtTripletStepTrackCandidates,
0416 lowPtTripletStepTracks,
0417 lowPtTripletStep)
0418 LowPtTripletStep = cms.Sequence(LowPtTripletStepTask)
0419
0420 _LowPtTripletStepTask_trackingMkFit = LowPtTripletStepTask.copy()
0421 _LowPtTripletStepTask_trackingMkFit.add(lowPtTripletStepTrackCandidatesMkFitSeeds, lowPtTripletStepTrackCandidatesMkFit)
0422 trackingMkFitLowPtTripletStep.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_trackingMkFit)
0423
0424 _LowPtTripletStepTask_LowPU_Phase2PU140 = LowPtTripletStepTask.copy()
0425 _LowPtTripletStepTask_LowPU_Phase2PU140.replace(lowPtTripletStep, lowPtTripletStepSelector)
0426 trackingLowPU.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
0427
0428 trackingPhase2PU140.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
0429
0430 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi import maskProducerFromClusterRemover
0431 lowPtTripletStepMasks = maskProducerFromClusterRemover(lowPtTripletStepClusters)
0432 fastSim.toReplaceWith(LowPtTripletStepTask,
0433 cms.Task(lowPtTripletStepMasks
0434 ,lowPtTripletStepTrackingRegions
0435 ,lowPtTripletStepSeeds
0436 ,lowPtTripletStepTrackCandidates
0437 ,lowPtTripletStepTracks
0438 ,lowPtTripletStep
0439 ))