File indexing completed on 2024-10-09 23:02:43
0001 import FWCore.ParameterSet.Config as cms
0002 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
0003
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 from Configuration.ProcessModifiers.trackingParabolicMf_cff import trackingParabolicMf
0015
0016
0017
0018
0019
0020
0021 chargeCut2069Clusters = cms.EDProducer('ClusterChargeMasker',
0022 oldClusterRemovalInfo = cms.InputTag(''),
0023 pixelClusters = cms.InputTag('siPixelClusters'),
0024 stripClusters = cms.InputTag('siStripClusters'),
0025 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
0026 )
0027
0028 mixedTripletStepClusters = _cfg.clusterRemoverForIter('MixedTripletStep')
0029 chargeCut2069Clusters.oldClusterRemovalInfo = mixedTripletStepClusters.oldClusterRemovalInfo.value()
0030 mixedTripletStepClusters.oldClusterRemovalInfo = 'chargeCut2069Clusters'
0031 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
0032 _era.toReplaceWith(mixedTripletStepClusters, _cfg.clusterRemoverForIter('MixedTripletStep', _eraName, _postfix))
0033 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0034 trackingPhase1.toModify(chargeCut2069Clusters, oldClusterRemovalInfo = mixedTripletStepClusters.oldClusterRemovalInfo.value())
0035 trackingPhase1.toModify(mixedTripletStepClusters, oldClusterRemovalInfo='chargeCut2069Clusters')
0036
0037
0038 from RecoLocalTracker.SiStripClusterizer.SiStripClusterChargeCut_cfi import *
0039 from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepSeedLayers
0040 import RecoTracker.TkSeedingLayers.seedingLayersEDProducer_cfi as _mod
0041 mixedTripletStepSeedLayersA = _mod.seedingLayersEDProducer.clone(
0042 layerList = ['BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg'],
0043
0044
0045
0046
0047 BPix = dict(
0048 TTRHBuilder = cms.string('WithTrackAngle'),
0049 HitProducer = cms.string('siPixelRecHits'),
0050 skipClusters = cms.InputTag('mixedTripletStepClusters')
0051 ),
0052 FPix = dict(
0053 TTRHBuilder = cms.string('WithTrackAngle'),
0054 HitProducer = cms.string('siPixelRecHits'),
0055 skipClusters = cms.InputTag('mixedTripletStepClusters')
0056 ),
0057 TEC = dict(
0058 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0059 useRingSlector = cms.bool(True),
0060 TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0061 minRing = cms.int32(1),
0062 maxRing = cms.int32(1),
0063 skipClusters = cms.InputTag('mixedTripletStepClusters')
0064 )
0065 )
0066 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
0067 trackingLowPU.toModify(mixedTripletStepSeedLayersA,
0068 layerList = [
0069 'BPix1+BPix2+BPix3',
0070 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
0071 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
0072 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
0073 'FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg',
0074 'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'
0075 ],
0076 TEC = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
0077 )
0078 from Configuration.Eras.Modifier_highBetaStar_cff import highBetaStar
0079 highBetaStar.toModify(mixedTripletStepSeedLayersA,
0080 layerList = [
0081 'BPix1+BPix2+BPix3',
0082 'BPix1+FPix1_pos+FPix2_pos','BPix1+FPix1_neg+FPix2_neg',
0083 'BPix2+FPix1_pos+FPix2_pos','BPix2+FPix1_neg+FPix2_neg',
0084 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
0085 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg'
0086 ]
0087 )
0088
0089
0090
0091 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
0092 _mixedTripletStepTrackingRegionsCommon = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
0093 ptMin = 0.4,
0094 originHalfLength = 15.0,
0095 originRadius = 1.5
0096 ))
0097 trackingLowPU.toModify(_mixedTripletStepTrackingRegionsCommon, RegionPSet = dict(originHalfLength = 10.0))
0098 highBetaStar.toModify(_mixedTripletStepTrackingRegionsCommon,RegionPSet = dict(
0099 ptMin = 0.05,
0100 originRadius = 0.2
0101 ))
0102
0103 mixedTripletStepTrackingRegionsA = _mixedTripletStepTrackingRegionsCommon.clone()
0104
0105 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
0106 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0107 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
0108 _mixedTripletStepTrackingRegionsCommon_pp_on_HI = _globalTrackingRegionWithVertices.clone(
0109 RegionPSet=dict(
0110 fixedError = 3.75,
0111 ptMin = 0.4,
0112 originRadius = 1.5,
0113 originRScaling4BigEvts = True,
0114 ptMinScaling4BigEvts = True,
0115 minOriginR = 0.,
0116 maxPtMin = 0.7,
0117 scalingStartNPix = 20000,
0118 scalingEndNPix = 35000
0119 )
0120 )
0121 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(mixedTripletStepTrackingRegionsA,_mixedTripletStepTrackingRegionsCommon_pp_on_HI)
0122
0123
0124
0125 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import ClusterShapeHitFilterESProducer as _ClusterShapeHitFilterESProducer
0126 mixedTripletStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
0127 ComponentName = 'mixedTripletStepClusterShapeHitFilter',
0128 clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight')
0129 )
0130 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0131 mixedTripletStepHitDoubletsA = _hitPairEDProducer.clone(
0132 seedingLayers = 'mixedTripletStepSeedLayersA',
0133 trackingRegions = 'mixedTripletStepTrackingRegionsA',
0134 maxElement = 50000000,
0135 produceIntermediateHitDoublets = True,
0136 )
0137 from RecoTracker.PixelSeeding.pixelTripletLargeTipEDProducer_cfi import pixelTripletLargeTipEDProducer as _pixelTripletLargeTipEDProducer
0138 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0139 mixedTripletStepHitTripletsA = _pixelTripletLargeTipEDProducer.clone(
0140 doublets = 'mixedTripletStepHitDoubletsA',
0141 produceSeedingHitSets = True,
0142 )
0143 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
0144 _mixedTripletStepSeedsACommon = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
0145 seedingHitSets = 'mixedTripletStepHitTripletsA',
0146 SeedComparitorPSet = dict(
0147 ComponentName = 'PixelClusterShapeSeedComparitor',
0148 FilterAtHelixStage = cms.bool(False),
0149 FilterPixelHits = cms.bool(True),
0150 FilterStripHits = cms.bool(True),
0151 ClusterShapeHitFilterName = cms.string('mixedTripletStepClusterShapeHitFilter'),
0152 ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
0153 ),
0154 )
0155 trackingLowPU.toModify(_mixedTripletStepSeedsACommon,
0156 SeedComparitorPSet = dict(ClusterShapeHitFilterName = 'ClusterShapeHitFilter')
0157 )
0158 mixedTripletStepSeedsA = _mixedTripletStepSeedsACommon.clone()
0159
0160 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
0161 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
0162 _fastSim_mixedTripletStepSeedsA = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
0163 trackingRegions = 'mixedTripletStepTrackingRegionsA',
0164 hitMasks = cms.InputTag('mixedTripletStepMasks'),
0165 seedFinderSelector = dict(pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(mixedTripletStepHitTripletsA),
0166 layerList = mixedTripletStepSeedLayersA.layerList.value())
0167 )
0168 fastSim.toReplaceWith(mixedTripletStepSeedsA,_fastSim_mixedTripletStepSeedsA)
0169
0170
0171 mixedTripletStepSeedLayersB = _mod.seedingLayersEDProducer.clone(
0172 layerList = ['BPix2+BPix3+TIB1'],
0173 BPix = dict(
0174 TTRHBuilder = cms.string('WithTrackAngle'),
0175 HitProducer = cms.string('siPixelRecHits'),
0176 skipClusters = cms.InputTag('mixedTripletStepClusters')
0177 ),
0178 TIB = dict(
0179 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0180 TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0181 skipClusters = cms.InputTag('mixedTripletStepClusters')
0182 )
0183 )
0184 trackingLowPU.toModify(mixedTripletStepSeedLayersB,
0185 layerList = ['BPix2+BPix3+TIB1', 'BPix2+BPix3+TIB2'],
0186 TIB = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
0187 )
0188 trackingPhase1.toModify(mixedTripletStepSeedLayersB, layerList = ['BPix3+BPix4+TIB1'])
0189
0190
0191 mixedTripletStepTrackingRegionsB = _mixedTripletStepTrackingRegionsCommon.clone(RegionPSet = dict(ptMin=0.6, originHalfLength=10.0))
0192 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(mixedTripletStepTrackingRegionsB,
0193 _mixedTripletStepTrackingRegionsCommon_pp_on_HI.clone(RegionPSet=dict(
0194 fixedError = 2.5,
0195 ptMin = 0.6,)
0196 )
0197 )
0198 highBetaStar.toReplaceWith(mixedTripletStepTrackingRegionsB, _mixedTripletStepTrackingRegionsCommon.clone())
0199
0200
0201 mixedTripletStepHitDoubletsB = mixedTripletStepHitDoubletsA.clone(
0202 seedingLayers = 'mixedTripletStepSeedLayersB',
0203 trackingRegions = 'mixedTripletStepTrackingRegionsB',
0204 )
0205 mixedTripletStepHitTripletsB = mixedTripletStepHitTripletsA.clone(doublets = 'mixedTripletStepHitDoubletsB')
0206 mixedTripletStepSeedsB = _mixedTripletStepSeedsACommon.clone(seedingHitSets = 'mixedTripletStepHitTripletsB')
0207
0208 _fastSim_mixedTripletStepSeedsB = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
0209 trackingRegions = 'mixedTripletStepTrackingRegionsB',
0210 hitMasks = cms.InputTag('mixedTripletStepMasks'),
0211 seedFinderSelector = dict(pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(mixedTripletStepHitTripletsB),
0212 layerList = mixedTripletStepSeedLayersB.layerList.value())
0213 )
0214 fastSim.toReplaceWith(mixedTripletStepSeedsB,_fastSim_mixedTripletStepSeedsB)
0215
0216
0217 import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi
0218 mixedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone(
0219 seedCollections = ['mixedTripletStepSeedsA',
0220 'mixedTripletStepSeedsB']
0221 )
0222
0223 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0224 _mixedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0225
0226 minimumNumberOfHits = 3,
0227 minPt = 0.1
0228 )
0229 highBetaStar.toModify(_mixedTripletStepTrajectoryFilterBase,minPt = 0.05)
0230
0231 mixedTripletStepTrajectoryFilter = _mixedTripletStepTrajectoryFilterBase.clone(
0232 constantValueForLostHitsFractionFilter = 1.4,
0233 )
0234 trackingLowPU.toReplaceWith(mixedTripletStepTrajectoryFilter, _mixedTripletStepTrajectoryFilterBase.clone(
0235 maxLostHits = 0,
0236 ))
0237
0238 (pp_on_XeXe_2017 | pp_on_AA).toModify(mixedTripletStepTrajectoryFilter, minPt=0.4)
0239
0240
0241 import TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff
0242 import TrackingTools.MaterialEffects.MaterialPropagator_cfi
0243 mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
0244
0245 ComponentName = 'mixedTripletStepPropagator',
0246 ptMin = 0.1
0247 )
0248 trackingParabolicMf.toModify(mixedTripletStepPropagator, SimpleMagneticField = 'ParabolicMf')
0249 for e in [pp_on_XeXe_2017, pp_on_AA]:
0250 e.toModify(mixedTripletStepPropagator, ptMin=0.4)
0251 highBetaStar.toModify(mixedTripletStepPropagator,ptMin = 0.05)
0252
0253 import TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi
0254 mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
0255
0256 ComponentName = 'mixedTripletStepPropagatorOpposite',
0257 ptMin = 0.1
0258 )
0259 trackingParabolicMf.toModify(mixedTripletStepPropagatorOpposite, SimpleMagneticField = 'ParabolicMf')
0260 for e in [pp_on_XeXe_2017, pp_on_AA]:
0261 e.toModify(mixedTripletStepPropagatorOpposite, ptMin=0.4)
0262 highBetaStar.toModify(mixedTripletStepPropagatorOpposite,ptMin = 0.05)
0263
0264 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
0265 mixedTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
0266 ComponentName = 'mixedTripletStepChi2Est',
0267 nSigma = 3.0,
0268 MaxChi2 = 16.0,
0269 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
0270 )
0271 trackingLowPU.toModify(mixedTripletStepChi2Est,
0272 clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
0273 )
0274
0275
0276 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0277 mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilderIterativeDefault.clone(
0278 trajectoryFilter = dict(refToPSet_ = 'mixedTripletStepTrajectoryFilter'),
0279 propagatorAlong = 'mixedTripletStepPropagator',
0280 propagatorOpposite = 'mixedTripletStepPropagatorOpposite',
0281 maxCand = 2,
0282 estimator = 'mixedTripletStepChi2Est',
0283 maxDPhiForLooperReconstruction = 2.0,
0284 maxPtForLooperReconstruction = 0.7,
0285 )
0286 trackingNoLoopers.toModify(mixedTripletStepTrajectoryBuilder,
0287 maxPtForLooperReconstruction = 0.0)
0288
0289 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0290
0291 _mixedTripletStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidatesIterativeDefault.clone(
0292 src = 'mixedTripletStepSeeds',
0293 clustersToSkip = 'mixedTripletStepClusters',
0294
0295 numHitsForSeedCleaner = 50,
0296
0297 TrajectoryBuilderPSet = dict(refToPSet_ = 'mixedTripletStepTrajectoryBuilder'),
0298 doSeedingRegionRebuilding = True,
0299 useHitsSplitting = True,
0300 TrajectoryCleaner = 'mixedTripletStepTrajectoryCleanerBySharedHits',
0301 )
0302 mixedTripletStepTrackCandidates = _mixedTripletStepTrackCandidatesCkf.clone()
0303
0304 from Configuration.ProcessModifiers.trackingMkFitMixedTripletStep_cff import trackingMkFitMixedTripletStep
0305 import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
0306 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
0307 import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
0308 import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
0309 mixedTripletStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0310 seeds = 'mixedTripletStepSeeds',
0311 )
0312 mixedTripletStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0313 ComponentName = 'mixedTripletStepTrackCandidatesMkFitConfig',
0314 config = 'RecoTracker/MkFit/data/mkfit-phase1-mixedTripletStep.json',
0315 )
0316 mixedTripletStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
0317 seeds = 'mixedTripletStepTrackCandidatesMkFitSeeds',
0318 config = ('', 'mixedTripletStepTrackCandidatesMkFitConfig'),
0319 clustersToSkip = 'mixedTripletStepClusters',
0320 )
0321 trackingMkFitMixedTripletStep.toReplaceWith(mixedTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0322 seeds = 'mixedTripletStepSeeds',
0323 mkFitSeeds = 'mixedTripletStepTrackCandidatesMkFitSeeds',
0324 tracks = 'mixedTripletStepTrackCandidatesMkFit',
0325 ))
0326 (pp_on_XeXe_2017 | pp_on_AA).toModify(mixedTripletStepTrackCandidatesMkFitConfig, minPt=0.4)
0327
0328 import FastSimulation.Tracking.TrackCandidateProducer_cfi
0329 fastSim.toReplaceWith(mixedTripletStepTrackCandidates,
0330 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
0331 src = 'mixedTripletStepSeeds',
0332 MinNumberOfCrossedLayers = 3,
0333 hitMasks = cms.InputTag('mixedTripletStepMasks'),
0334 )
0335 )
0336
0337
0338 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
0339 mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
0340 ComponentName = 'mixedTripletStepTrajectoryCleanerBySharedHits',
0341 fractionShared = 0.11,
0342 allowSharedFirstHit = True
0343 )
0344 trackingLowPU.toModify(mixedTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
0345
0346
0347
0348 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
0349 mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.clone(
0350 AlgorithmName = 'mixedTripletStep',
0351 src = 'mixedTripletStepTrackCandidates',
0352 Fitter = 'FlexibleKFFittingSmoother'
0353 )
0354 fastSim.toModify(mixedTripletStepTracks, TTRHBuilder = 'WithoutRefit')
0355
0356
0357 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
0358 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
0359 mixedTripletStepClassifier1 = TrackMVAClassifierDetached.clone(
0360 src = 'mixedTripletStepTracks',
0361 mva = dict(GBRForestLabel = 'MVASelectorIter4_13TeV'),
0362 qualityCuts = [-0.5,0.0,0.5]
0363 )
0364 fastSim.toModify(mixedTripletStepClassifier1, vertices = 'firstStepPrimaryVerticesBeforeMixing')
0365
0366 mixedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone(
0367 src = 'mixedTripletStepTracks',
0368 mva = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
0369 qualityCuts = [-0.2,-0.2,-0.2]
0370 )
0371 fastSim.toModify(mixedTripletStepClassifier2,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0372
0373 from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
0374 mixedTripletStep = ClassifierMerger.clone(
0375 inputClassifiers=['mixedTripletStepClassifier1','mixedTripletStepClassifier2']
0376 )
0377 trackingPhase1.toReplaceWith(mixedTripletStep, mixedTripletStepClassifier1.clone(
0378 mva = dict(GBRForestLabel = 'MVASelectorMixedTripletStep_Phase1'),
0379 qualityCuts = [-0.5,0.0,0.5]
0380 ))
0381
0382 from RecoTracker.FinalTrackSelectors.trackTfClassifier_cfi import *
0383 from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import *
0384 from RecoTracker.FinalTrackSelectors.trackSelectionTf_CKF_cfi import *
0385 trackdnn.toReplaceWith(mixedTripletStep, trackTfClassifier.clone(
0386 src = 'mixedTripletStepTracks',
0387 qualityCuts = qualityCutDictionary.MixedTripletStep.value()
0388 ))
0389 (trackdnn & fastSim).toModify(mixedTripletStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0390
0391 (highBetaStar & trackingPhase1).toModify(mixedTripletStep,qualityCuts = [-0.7,0.0,0.5])
0392 (highBetaStar & ~trackingPhase1).toModify(mixedTripletStepClassifier1,qualityCuts = [-0.7,0.0,0.5])
0393 pp_on_AA.toModify(mixedTripletStep, qualityCuts = [-0.5,0.0,0.9])
0394
0395
0396 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0397 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0398 src = 'mixedTripletStepTracks',
0399 useAnyMVA = cms.bool(False),
0400 GBRForestLabel = cms.string('MVASelectorIter4'),
0401 trackSelectors = [
0402 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0403 name = 'mixedTripletStepVtxLoose',
0404 chi2n_par = 1.2,
0405 res_par = ( 0.003, 0.001 ),
0406 minNumberLayers = 3,
0407 maxNumberLostLayers = 1,
0408 minNumber3DLayers = 2,
0409 d0_par1 = ( 1.2, 3.0 ),
0410 dz_par1 = ( 1.2, 3.0 ),
0411 d0_par2 = ( 1.3, 3.0 ),
0412 dz_par2 = ( 1.3, 3.0 )
0413 ),
0414 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0415 name = 'mixedTripletStepTrkLoose',
0416 chi2n_par = 0.6,
0417 res_par = ( 0.003, 0.001 ),
0418 minNumberLayers = 4,
0419 maxNumberLostLayers = 1,
0420 minNumber3DLayers = 3,
0421 d0_par1 = ( 1.2, 4.0 ),
0422 dz_par1 = ( 1.2, 4.0 ),
0423 d0_par2 = ( 1.2, 4.0 ),
0424 dz_par2 = ( 1.2, 4.0 )
0425 ),
0426 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0427 name = 'mixedTripletStepVtxTight',
0428 preFilterName = 'mixedTripletStepVtxLoose',
0429 chi2n_par = 0.6,
0430 res_par = ( 0.003, 0.001 ),
0431 minNumberLayers = 3,
0432 maxNumberLostLayers = 1,
0433 minNumber3DLayers = 3,
0434 d0_par1 = ( 1.1, 3.0 ),
0435 dz_par1 = ( 1.1, 3.0 ),
0436 d0_par2 = ( 1.2, 3.0 ),
0437 dz_par2 = ( 1.2, 3.0 )
0438 ),
0439 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0440 name = 'mixedTripletStepTrkTight',
0441 preFilterName = 'mixedTripletStepTrkLoose',
0442 chi2n_par = 0.4,
0443 res_par = ( 0.003, 0.001 ),
0444 minNumberLayers = 5,
0445 maxNumberLostLayers = 1,
0446 minNumber3DLayers = 4,
0447 d0_par1 = ( 1.1, 4.0 ),
0448 dz_par1 = ( 1.1, 4.0 ),
0449 d0_par2 = ( 1.1, 4.0 ),
0450 dz_par2 = ( 1.1, 4.0 )
0451 ),
0452 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0453 name = 'mixedTripletStepVtx',
0454 preFilterName = 'mixedTripletStepVtxTight',
0455 chi2n_par = 0.4,
0456 res_par = ( 0.003, 0.001 ),
0457 minNumberLayers = 3,
0458 maxNumberLostLayers = 1,
0459 minNumber3DLayers = 3,
0460 d0_par1 = ( 1.1, 3.0 ),
0461 dz_par1 = ( 1.1, 3.0 ),
0462 d0_par2 = ( 1.2, 3.0 ),
0463 dz_par2 = ( 1.2, 3.0 )
0464 ),
0465 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0466 name = 'mixedTripletStepTrk',
0467 preFilterName = 'mixedTripletStepTrkTight',
0468 chi2n_par = 0.3,
0469 res_par = ( 0.003, 0.001 ),
0470 minNumberLayers = 5,
0471 maxNumberLostLayers = 0,
0472 minNumber3DLayers = 4,
0473 d0_par1 = ( 0.9, 4.0 ),
0474 dz_par1 = ( 0.9, 4.0 ),
0475 d0_par2 = ( 0.9, 4.0 ),
0476 dz_par2 = ( 0.9, 4.0 )
0477 )
0478 ]
0479 )
0480
0481
0482 from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder
0483 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
0484 _trackListMergerBase = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
0485 TrackProducers = ['mixedTripletStepTracks',
0486 'mixedTripletStepTracks'],
0487 hasSelector = [1,1],
0488 selectedTrackQuals = ['mixedTripletStepSelector:mixedTripletStepVtx',
0489 'mixedTripletStepSelector:mixedTripletStepTrk'],
0490 setsToMerge = [cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )],
0491 writeOnlyTrkQuals = True
0492 )
0493 trackingLowPU.toReplaceWith(mixedTripletStep, _trackListMergerBase)
0494
0495
0496
0497 MixedTripletStepTask = cms.Task(chargeCut2069Clusters,mixedTripletStepClusters,
0498 mixedTripletStepSeedLayersA,
0499 mixedTripletStepTrackingRegionsA,
0500 mixedTripletStepHitDoubletsA,
0501 mixedTripletStepHitTripletsA,
0502 mixedTripletStepSeedsA,
0503 mixedTripletStepSeedLayersB,
0504 mixedTripletStepTrackingRegionsB,
0505 mixedTripletStepHitDoubletsB,
0506 mixedTripletStepHitTripletsB,
0507 mixedTripletStepSeedsB,
0508 mixedTripletStepSeeds,
0509 mixedTripletStepTrackCandidates,
0510 mixedTripletStepTracks,
0511 mixedTripletStepClassifier1,mixedTripletStepClassifier2,
0512 mixedTripletStep)
0513 MixedTripletStep = cms.Sequence(MixedTripletStepTask)
0514
0515 _MixedTripletStepTask_trackingMkFit = MixedTripletStepTask.copy()
0516 _MixedTripletStepTask_trackingMkFit.add(mixedTripletStepTrackCandidatesMkFitSeeds, mixedTripletStepTrackCandidatesMkFit, mixedTripletStepTrackCandidatesMkFitConfig)
0517 trackingMkFitMixedTripletStep.toReplaceWith(MixedTripletStepTask, _MixedTripletStepTask_trackingMkFit)
0518
0519 _MixedTripletStepTask_LowPU = MixedTripletStepTask.copyAndExclude([chargeCut2069Clusters, mixedTripletStepClassifier1])
0520 _MixedTripletStepTask_LowPU.replace(mixedTripletStepClassifier2, mixedTripletStepSelector)
0521 trackingLowPU.toReplaceWith(MixedTripletStepTask, _MixedTripletStepTask_LowPU)
0522
0523
0524 import FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
0525 mixedTripletStepMasks = FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi.maskProducerFromClusterRemover(mixedTripletStepClusters)
0526 mixedTripletStepMasks.oldHitRemovalInfo = cms.InputTag('pixelPairStepMasks')
0527
0528 fastSim.toReplaceWith(MixedTripletStepTask,
0529 cms.Task(mixedTripletStepMasks
0530 ,mixedTripletStepTrackingRegionsA
0531 ,mixedTripletStepSeedsA
0532 ,mixedTripletStepTrackingRegionsB
0533 ,mixedTripletStepSeedsB
0534 ,mixedTripletStepSeeds
0535 ,mixedTripletStepTrackCandidates
0536 ,mixedTripletStepTracks
0537 ,mixedTripletStepClassifier1,mixedTripletStepClassifier2
0538 ,mixedTripletStep
0539 )
0540 )