SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(), maxChi2 = dict( pt1 = 0.8, pt2 = 8, value1 = 100, value2 = 6, ), useBendingCorrection = True, CAThetaCut = 0.004, CAPhiCut = 0.07, CAHardPtCut = 0.3, ) trackingPhase2PU140.toModify(highPtTripletStepHitTriplets,CAThetaCut = 0.003,CAPhiCut = 0.06,CAHardPtCut = 0.5) highBetaStar_2018.toModify(highPtTripletStepHitTriplets,CAThetaCut = 0.008,CAPhiCut = 0.14,CAHardPtCut = 0) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "highPtTripletStepHitTriplets", ) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _highPtTripletStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.2, ) highPtTripletStepTrajectoryFilterBase = _highPtTripletStepTrajectoryFilterBase.clone( maxCCCLostHits = 0, minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose') ) trackingPhase2PU140.toReplaceWith(highPtTripletStepTrajectoryFilterBase, _highPtTripletStepTrajectoryFilterBase) for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
JetSrc = "jetsForCoreTracking", vertexSrc = "firstStepGoodPrimaryVertices", howToUseMeasurementTracker = "Never" )) # Seeding from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer jetCoreRegionalStepHitDoublets = _hitPairEDProducer.clone( seedingLayers = "jetCoreRegionalStepSeedLayers", trackingRegions = "jetCoreRegionalStepTrackingRegions", produceSeedingHitSets = True, maxElementTotal = 12000000, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer jetCoreRegionalStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "jetCoreRegionalStepHitDoublets", forceKinematicWithRegionDirection = True ) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff jetCoreRegionalStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 4, seedPairPenalty = 0, minPt = 0.1 ) from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018 for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(jetCoreRegionalStepTrajectoryFilter, minPt=5.0)
from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer hiPixelPairStepHitDoubletsPhase1 = _hitPairEDProducer.clone( seedingLayers = "hiPixelPairSeedLayers", trackingRegions = "hiPixelPairStepTrackingRegionPhase1", clusterCheck = "", produceSeedingHitSets = cms.bool(True), ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer hiPixelPairStepSeedsPhase1 = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "hiPixelPairStepHitDoubletsPhase1", SeedComparitorPSet = dict( ComponentName = 'PixelClusterShapeSeedComparitor', FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(True), FilterStripHits = cms.bool(False), ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache'), ) ) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff hiPixelPairTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( #maxLostHits = 0, minimumNumberOfHits = 6, minPt = 1.0 ) import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi
tripletElectronHitDoublets = _hitPairEDProducer.clone( seedingLayers = "tripletElectronSeedLayers", trackingRegions = "tripletElectronTrackingRegions", maxElement = 0, produceIntermediateHitDoublets = True, ) from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi tripletElectronHitTriplets = _pixelTripletHLTEDProducer.clone( doublets = "tripletElectronHitDoublets", maxElement = 1000000, produceSeedingHitSets = True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer tripletElectronSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "tripletElectronHitTriplets", ) trackingPhase1PU70.toModify(tripletElectronHitTriplets, maxElement = 0, # not sure if this has any effect ) trackingPhase2PU140.toModify(tripletElectronHitTriplets, maxElement = 0, ) from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover tripletElectronClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("tripletElectronSeeds"), oldClusterRemovalInfo = cms.InputTag("pixelLessStepSeedClusterMask") ) trackingPhase2PU140.toReplaceWith(tripletElectronClusterMask, seedClusterRemoverPhase2.clone( trajectories = cms.InputTag("tripletElectronSeeds"),
comparitors=cms.VPSet( cms. PSet( # FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName=cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage=cms.bool(True), FilterPixelHits=cms.bool(False), FilterStripHits=cms.bool(True), ClusterShapeHitFilterName=cms.string( 'tobTecStepClusterShapeHitFilter'), ClusterShapeCacheSrc=cms.InputTag( "siPixelClusterShapeCache" ) # not really needed here since FilterPixelHits=False ), _StripSubClusterShapeSeedFilter.clone())) tobTecStepSeedsTripl = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone( #empirically better than 'SeedFromConsecutiveHitsTripletOnlyCreator' seedingHitSets="tobTecStepHitTripletsTripl", SeedComparitorPSet=_tobTecStepSeedComparitorPSet, ) #fastsim import FastSimulation.Tracking.TrajectorySeedProducer_cfi _fastSim_tobTecStepSeedsTripl = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone( trackingRegions="tobTecStepTrackingRegionsTripl", hitMasks=cms.InputTag("tobTecStepMasks"), ) from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet _fastSim_tobTecStepSeedsTripl.seedFinderSelector.MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet( tobTecStepHitTripletsTripl) _fastSim_tobTecStepSeedsTripl.seedFinderSelector.MultiHitGeneratorFactory.SeedComparitorPSet = cms.PSet( ComponentName=cms.string("none")) _fastSim_tobTecStepSeedsTripl.seedFinderSelector.MultiHitGeneratorFactory.refitHits = False _fastSim_tobTecStepSeedsTripl.seedFinderSelector.layerList = tobTecStepSeedLayersTripl.layerList.value( )
seedingLayers = 'lowPtTripletStepSeedLayers', trackingRegions = 'lowPtTripletStepTrackingRegions', maxElement = 50000000, produceIntermediateHitDoublets = True, ) from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone( doublets = 'lowPtTripletStepHitDoublets', produceSeedingHitSets = True, SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone() ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = 'lowPtTripletStepHitTriplets', ) from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1]) # layer pairs (0,1), (1,2) trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone( doublets = 'lowPtTripletStepHitDoublets', extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance, SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet, maxChi2 = dict( pt1 = 0.8, pt2 = 2, value1 = 70 , value2 = 8, ), useBendingCorrection = True, CAThetaCut = 0.002, CAPhiCut = 0.05 )
))) from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer hiPixelPairStepHitDoubletsPhase1 = _hitPairEDProducer.clone( seedingLayers="hiPixelPairSeedLayers", trackingRegions="hiPixelPairStepTrackingRegionPhase1", clusterCheck="", produceSeedingHitSets=True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer hiPixelPairStepSeedsPhase1 = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="hiPixelPairStepHitDoubletsPhase1", SeedComparitorPSet=dict( ComponentName='PixelClusterShapeSeedComparitor', FilterAtHelixStage=cms.bool(True), FilterPixelHits=cms.bool(True), FilterStripHits=cms.bool(False), ClusterShapeHitFilterName=cms.string('ClusterShapeHitFilter'), ClusterShapeCacheSrc=cms.InputTag('siPixelClusterShapeCache'), )) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff hiPixelPairTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( #maxLostHits = 0, minimumNumberOfHits=6, minPt=1.0) import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi hiPixelPairChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( ComponentName='hiPixelPairChi2Est', nSigma=3.0, MaxChi2=9.0)
ComponentName = 'CombinedSeedComparitor', mode = cms.string("and"), comparitors = cms.VPSet( cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(False), FilterStripHits = cms.bool(True), ClusterShapeHitFilterName = cms.string('tobTecStepClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") # not really needed here since FilterPixelHits=False ), _StripSubClusterShapeSeedFilter.clone() ) ) tobTecStepSeedsTripl = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(#empirically better than 'SeedFromConsecutiveHitsTripletOnlyCreator' seedingHitSets = "tobTecStepHitTripletsTripl", SeedComparitorPSet = _tobTecStepSeedComparitorPSet, ) #fastsim import FastSimulation.Tracking.TrajectorySeedProducer_cfi _fastSim_tobTecStepSeedsTripl = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone( trackingRegions = "tobTecStepTrackingRegionsTripl", hitMasks = cms.InputTag("tobTecStepMasks"), ) from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet _fastSim_tobTecStepSeedsTripl.seedFinderSelector.MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet(tobTecStepHitTripletsTripl) _fastSim_tobTecStepSeedsTripl.seedFinderSelector.MultiHitGeneratorFactory.SeedComparitorPSet=cms.PSet( ComponentName = cms.string( "none" ) ) _fastSim_tobTecStepSeedsTripl.seedFinderSelector.MultiHitGeneratorFactory.refitHits = False _fastSim_tobTecStepSeedsTripl.seedFinderSelector.layerList = tobTecStepSeedLayersTripl.layerList.value() fastSim.toReplaceWith(tobTecStepSeedsTripl,_fastSim_tobTecStepSeedsTripl) # PAIR SEEDING LAYERS
def customizeHLTForPFTrackingPhaseI2017(process): process.hltPixelLayerTriplets.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg' ) process.hltPixelLayerQuadruplets = cms.EDProducer("SeedingLayersEDProducer", BPix = cms.PSet( useErrorsFromParam = cms.bool( True ), hitErrorRPhi = cms.double( 0.0027 ), TTRHBuilder = cms.string( "hltESPTTRHBuilderPixelOnly" ), HitProducer = cms.string( "hltSiPixelRecHits" ), hitErrorRZ = cms.double( 0.006 ) ), FPix = cms.PSet( useErrorsFromParam = cms.bool( True ), hitErrorRPhi = cms.double( 0.0051 ), TTRHBuilder = cms.string( "hltESPTTRHBuilderPixelOnly" ), HitProducer = cms.string( "hltSiPixelRecHits" ), hitErrorRZ = cms.double( 0.0036 ) ), MTEC = cms.PSet( ), MTIB = cms.PSet( ), MTID = cms.PSet( ), MTOB = cms.PSet( ), TEC = cms.PSet( ), TIB = cms.PSet( ), TID = cms.PSet( ), TOB = cms.PSet( ), layerList = cms.vstring( 'BPix1+BPix2+BPix3+BPix4', 'BPix1+BPix2+BPix3+FPix1_pos', 'BPix1+BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos+FPix2_pos', 'BPix1+BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix2_neg+FPix3_neg' ) ) # Configure seed generator / pixel track producer from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer process.hltPixelTracksTrackingRegions.RegionPSet = cms.PSet( precise = cms.bool( True ), beamSpot = cms.InputTag( "hltOnlineBeamSpot" ), originRadius = cms.double(0.02), ptMin = cms.double(0.8), nSigmaZ = cms.double(4.0), ) process.hltPixelTracksHitDoublets.seedingLayers = "hltPixelLayerQuadruplets" process.hltPixelTracksHitDoublets.layerPairs = [0,1,2] # layer pairs (0,1), (1,2), (2,3) process.hltPixelTracksHitQuadruplets = _caHitQuadrupletEDProducer.clone( doublets = "hltPixelTracksHitDoublets", extraHitRPhitolerance = cms.double(0.032), maxChi2 = dict( pt1 = 0.7, pt2 = 2, value1 = 200, value2 = 50, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, CAThetaCut = cms.double(0.002), CAPhiCut = cms.double(0.2), CAHardPtCut = cms.double(0), SeedComparitorPSet = cms.PSet( ComponentName = cms.string( "LowPtClusterShapeSeedComparitor" ), clusterShapeHitFilter = cms.string('ClusterShapeHitFilter'), clusterShapeCacheSrc = cms.InputTag( "hltSiPixelClustersCache" ) ) ) process.hltPixelTracks.SeedingHitSets = "hltPixelTracksHitQuadruplets" process.HLTIter0PSetTrajectoryFilterIT.minimumNumberOfHits = cms.int32( 4 ) process.HLTIter0PSetTrajectoryFilterIT.minHitsMinPt = cms.int32( 4 ) process.hltIter0PFlowTrackCutClassifier.mva.minLayers = cms.vint32( 3, 3, 4 ) process.hltIter0PFlowTrackCutClassifier.mva.min3DLayers = cms.vint32( 0, 3, 4 ) process.hltIter0PFlowTrackCutClassifier.mva.minPixelHits = cms.vint32( 0, 3, 4 ) process.HLTIter0GroupedCkfTrajectoryBuilderIT = cms.PSet( ComponentType = cms.string('GroupedCkfTrajectoryBuilder'), bestHitOnly = cms.bool(True), propagatorAlong = cms.string('PropagatorWithMaterialParabolicMf'), trajectoryFilter = cms.PSet(refToPSet_ = cms.string('HLTIter0PSetTrajectoryFilterIT')), inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('HLTIter0PSetTrajectoryFilterIT')), useSameTrajFilter = cms.bool(True), maxCand = cms.int32(2), intermediateCleaning = cms.bool(True), lostHitPenalty = cms.double(30.0), MeasurementTrackerName = cms.string('hltESPMeasurementTracker'), lockHits = cms.bool(True), TTRHBuilder = cms.string('hltESPTTRHBWithTrackAngle'), foundHitBonus = cms.double(5.0), updator = cms.string('hltESPKFUpdator'), alwaysUseInvalidHits = cms.bool(False), requireSeedHitsInRebuild = cms.bool(True), keepOriginalIfRebuildFails = cms.bool(False), estimator = cms.string('hltESPChi2ChargeMeasurementEstimator9'), propagatorOpposite = cms.string('PropagatorWithMaterialParabolicMfOpposite'), minNrOfHitsForRebuild = cms.int32(5), maxDPhiForLooperReconstruction = cms.double(2.0), maxPtForLooperReconstruction = cms.double(0.7), cleanTrajectoryAfterInOut = cms.bool( False ), useHitsSplitting = cms.bool( False ), doSeedingRegionRebuilding = cms.bool( False ) ) process.hltIter0PFlowCkfTrackCandidates.TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('HLTIter0GroupedCkfTrajectoryBuilderIT')) process.hltIter1PixelLayerQuadruplets = cms.EDProducer("SeedingLayersEDProducer", BPix = cms.PSet( useErrorsFromParam = cms.bool( True ), hitErrorRPhi = cms.double( 0.0027 ), TTRHBuilder = cms.string( "hltESPTTRHBuilderPixelOnly" ), HitProducer = cms.string( "hltSiPixelRecHits" ), hitErrorRZ = cms.double( 0.006 ), skipClusters = cms.InputTag( "hltIter1ClustersRefRemoval" ), ), FPix = cms.PSet( useErrorsFromParam = cms.bool( True ), hitErrorRPhi = cms.double( 0.0051 ), TTRHBuilder = cms.string( "hltESPTTRHBuilderPixelOnly" ), HitProducer = cms.string( "hltSiPixelRecHits" ), hitErrorRZ = cms.double( 0.0036 ), skipClusters = cms.InputTag( "hltIter1ClustersRefRemoval" ), ), MTEC = cms.PSet( ), MTIB = cms.PSet( ), MTID = cms.PSet( ), MTOB = cms.PSet( ), TEC = cms.PSet( ), TIB = cms.PSet( ), TID = cms.PSet( ), TOB = cms.PSet( ), layerList = cms.vstring( 'BPix1+BPix2+BPix3+BPix4', 'BPix1+BPix2+BPix3+FPix1_pos', 'BPix1+BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos+FPix2_pos', 'BPix1+BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix2_neg+FPix3_neg' ) ) process.hltIter1PFlowPixelHitDoublets.layerPairs = [0,1,2] # layer pairs (0,1), (1,2), (2,3) process.hltIter1PFlowPixelHitDoublets.seedingLayers = "hltIter1PixelLayerQuadruplets" process.hltIter1PFlowPixelTrackingRegions.RegionPSet.nSigmaZVertex = cms.double(4.0) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.nSigmaZBeamSpot = cms.double(4.0) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.originRadius = cms.double(0.05) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.ptMin = cms.double(0.3) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.zErrorVetex = cms.double(0.1) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.beamSpot = cms.InputTag( "hltOnlineBeamSpot" ) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.vertexCollection = cms.InputTag( "hltTrimmedPixelVertices" ) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.deltaEta = cms.double(1.0) process.hltIter1PFlowPixelTrackingRegions.RegionPSet.deltaPhi = cms.double(1.0) process.hltIter1PFlowPixelHitQuadruplets = _caHitQuadrupletEDProducer.clone( doublets = "hltIter1PFlowPixelHitDoublets", extraHitRPhitolerance = cms.double(0.032), maxChi2 = dict( pt1 = 0.7, pt2 = 2, value1 = 2000, value2 = 150, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, CAThetaCut = cms.double(0.004), CAPhiCut = cms.double(0.3), CAHardPtCut = cms.double(0), SeedComparitorPSet = cms.PSet( ComponentName = cms.string( "none" ), clusterShapeHitFilter = cms.string('ClusterShapeHitFilter'), clusterShapeCacheSrc = cms.InputTag( "hltSiPixelClustersCache" ) ) ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer replace_with(process.hltIter1PFlowPixelSeeds,_seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "hltIter1PFlowPixelHitQuadruplets", TTRHBuilder = cms.string('hltESPTTRHBWithTrackAngle'), )) process.HLTIter1PSetTrajectoryFilterIT = cms.PSet( minPt = cms.double( 0.2 ), minHitsMinPt = cms.int32( 3 ), ComponentType = cms.string( "CkfBaseTrajectoryFilter" ), maxLostHits = cms.int32( 1 ), maxNumberOfHits = cms.int32( 100 ), maxConsecLostHits = cms.int32( 1 ), minimumNumberOfHits = cms.int32( 3 ), nSigmaMinPt = cms.double( 5.0 ), chargeSignificance = cms.double( -1.0 ), minGoodStripCharge = cms.PSet( refToPSet_ = cms.string( "HLTSiStripClusterChargeCutNone" ) ), maxCCCLostHits = cms.int32( 0 ), seedExtension = cms.int32( 0 ), strictSeedExtension = cms.bool( False ), minNumberOfHitsForLoopers = cms.int32( 13 ), minNumberOfHitsPerLoop = cms.int32( 4 ), extraNumberOfHitsBeforeTheFirstLoop = cms.int32( 4 ), maxLostHitsFraction = cms.double( 999.0 ), constantValueForLostHitsFractionFilter = cms.double( 1.0 ), seedPairPenalty = cms.int32( 0 ), pixelSeedExtension = cms.bool( False ) ) process.HLTIter1PSetTrajectoryBuilderIT = cms.PSet( propagatorAlong = cms.string( "PropagatorWithMaterialParabolicMf" ), trajectoryFilter = cms.PSet( refToPSet_ = cms.string( "HLTIter1PSetTrajectoryFilterIT" ) ), maxCand = cms.int32( 2 ), ComponentType = cms.string( "CkfTrajectoryBuilder" ), propagatorOpposite = cms.string( "PropagatorWithMaterialParabolicMfOpposite" ), MeasurementTrackerName = cms.string( "hltIter1ESPMeasurementTracker" ), estimator = cms.string( "hltESPChi2ChargeMeasurementEstimator16" ), TTRHBuilder = cms.string( "hltESPTTRHBWithTrackAngle" ), updator = cms.string( "hltESPKFUpdator" ), alwaysUseInvalidHits = cms.bool( False ), intermediateCleaning = cms.bool( True ), lostHitPenalty = cms.double( 30.0 ), useSameTrajFilter = cms.bool(True) ) process.HLTIter1GroupedCkfTrajectoryBuilderIT = cms.PSet( ComponentType = cms.string('GroupedCkfTrajectoryBuilder'), bestHitOnly = cms.bool(True), propagatorAlong = cms.string('PropagatorWithMaterialParabolicMf'), trajectoryFilter = cms.PSet(refToPSet_ = cms.string('HLTIter1PSetTrajectoryFilterIT')), useSameTrajFilter = cms.bool(True), maxCand = cms.int32(2), intermediateCleaning = cms.bool(True), lostHitPenalty = cms.double(30.0), MeasurementTrackerName = cms.string('hltIter1ESPMeasurementTracker'), lockHits = cms.bool(True), TTRHBuilder = cms.string('hltESPTTRHBWithTrackAngle'), foundHitBonus = cms.double(5.0), updator = cms.string('hltESPKFUpdator'), alwaysUseInvalidHits = cms.bool(False), requireSeedHitsInRebuild = cms.bool(True), keepOriginalIfRebuildFails = cms.bool(False), estimator = cms.string('hltESPChi2ChargeMeasurementEstimator16'), propagatorOpposite = cms.string('PropagatorWithMaterialParabolicMfOpposite'), minNrOfHitsForRebuild = cms.int32(5) ) process.hltIter1PFlowCkfTrackCandidates.TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('HLTIter1GroupedCkfTrajectoryBuilderIT')) replace_with(process.HLTIterativeTrackingIteration1 , cms.Sequence( process.hltIter1ClustersRefRemoval + process.hltIter1MaskedMeasurementTrackerEvent + process.hltIter1PixelLayerQuadruplets + process.hltIter1PFlowPixelTrackingRegions + process.hltIter1PFlowPixelClusterCheck + process.hltIter1PFlowPixelHitDoublets + process.hltIter1PFlowPixelHitQuadruplets + process.hltIter1PFlowPixelSeeds + process.hltIter1PFlowCkfTrackCandidates + process.hltIter1PFlowCtfWithMaterialTracks + process.hltIter1PFlowTrackCutClassifierPrompt + process.hltIter1PFlowTrackCutClassifierDetached + process.hltIter1PFlowTrackCutClassifierMerged + process.hltIter1PFlowTrackSelectionHighPurity )) process.hltIter2PixelLayerTriplets = cms.EDProducer( "SeedingLayersEDProducer", layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg' ), MTOB = cms.PSet( ), TEC = cms.PSet( ), MTID = cms.PSet( ), FPix = cms.PSet( HitProducer = cms.string( "hltSiPixelRecHits" ), hitErrorRZ = cms.double( 0.0036 ), useErrorsFromParam = cms.bool( True ), TTRHBuilder = cms.string( "hltESPTTRHBuilderPixelOnly" ), skipClusters = cms.InputTag( "hltIter2ClustersRefRemoval" ), hitErrorRPhi = cms.double( 0.0051 ) ), MTEC = cms.PSet( ), MTIB = cms.PSet( ), TID = cms.PSet( ), TOB = cms.PSet( ), BPix = cms.PSet( HitProducer = cms.string( "hltSiPixelRecHits" ), hitErrorRZ = cms.double( 0.006 ), useErrorsFromParam = cms.bool( True ), TTRHBuilder = cms.string( "hltESPTTRHBuilderPixelOnly" ), skipClusters = cms.InputTag( "hltIter2ClustersRefRemoval" ), hitErrorRPhi = cms.double( 0.0027 ) ), TIB = cms.PSet( ) ) process.hltIter2PFlowPixelTrackingRegions.RegionPSet.ptMin = cms.double(0.8) process.hltIter2PFlowPixelTrackingRegions.RegionPSet.originRadius = cms.double(0.025) process.hltIter2PFlowPixelTrackingRegions.RegionPSet.nSigmaZVertex = cms.double(4.0) from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi import caHitTripletEDProducer as _caHitTripletEDProducer process.hltIter2PFlowPixelHitDoublets.seedingLayers = "hltIter2PixelLayerTriplets" process.hltIter2PFlowPixelHitDoublets.produceIntermediateHitDoublets = True process.hltIter2PFlowPixelHitDoublets.produceSeedingHitSets = False process.hltIter2PFlowPixelHitDoublets.layerPairs = [0,1] process.hltIter2PFlowPixelHitTriplets = _caHitTripletEDProducer.clone( doublets = cms.InputTag("hltIter2PFlowPixelHitDoublets"), extraHitRPhitolerance = cms.double(0.032), maxChi2 = cms.PSet( pt1 = cms.double(0.8), pt2 = cms.double(8), value1 = cms.double(100), value2 = cms.double(6), enabled = cms.bool(True), ), useBendingCorrection = cms.bool(True), CAThetaCut = cms.double(0.004), CAPhiCut = cms.double(0.1), CAHardPtCut = cms.double(0.3), ) def _copy(old, new, skip=[]): skipSet = set(skip) for key in old.parameterNames_(): if key not in skipSet: setattr(new, key, getattr(old, key)) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cfi import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer replace_with(process.hltIter2PFlowPixelSeeds, _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(seedingHitSets="hltIter2PFlowPixelHitTriplets")) _copy(process.HLTSeedFromConsecutiveHitsTripletOnlyCreator, process.hltIter2PFlowPixelSeeds, skip=["ComponentName"]) process.HLTIter2GroupedCkfTrajectoryBuilderIT = cms.PSet( ComponentType = cms.string('GroupedCkfTrajectoryBuilder'), bestHitOnly = cms.bool(True), propagatorAlong = cms.string('PropagatorWithMaterialParabolicMf'), trajectoryFilter = cms.PSet(refToPSet_ = cms.string('HLTIter2PSetTrajectoryFilterIT')), inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('HLTIter2PSetTrajectoryFilterIT')), useSameTrajFilter = cms.bool(True), maxCand = cms.int32(2), intermediateCleaning = cms.bool(True), lostHitPenalty = cms.double(30.0), MeasurementTrackerName = cms.string('hltESPMeasurementTracker'), lockHits = cms.bool(True), TTRHBuilder = cms.string('hltESPTTRHBWithTrackAngle'), foundHitBonus = cms.double(5.0), updator = cms.string('hltESPKFUpdator'), alwaysUseInvalidHits = cms.bool(False), requireSeedHitsInRebuild = cms.bool(True), keepOriginalIfRebuildFails = cms.bool(False), estimator = cms.string('hltESPChi2ChargeMeasurementEstimator16'), propagatorOpposite = cms.string('PropagatorWithMaterialParabolicMfOpposite'), minNrOfHitsForRebuild = cms.int32(5), maxDPhiForLooperReconstruction = cms.double(2.0), maxPtForLooperReconstruction = cms.double(0.7), cleanTrajectoryAfterInOut = cms.bool( False ), useHitsSplitting = cms.bool( False ), doSeedingRegionRebuilding = cms.bool( False ) ) process.hltIter2PFlowCkfTrackCandidates.TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('HLTIter2GroupedCkfTrajectoryBuilderIT')) replace_with(process.HLTIterativeTrackingIteration2 , cms.Sequence( process.hltIter2ClustersRefRemoval + process.hltIter2MaskedMeasurementTrackerEvent + process.hltIter2PixelLayerTriplets + process.hltIter2PFlowPixelTrackingRegions + process.hltIter2PFlowPixelClusterCheck + process.hltIter2PFlowPixelHitDoublets + process.hltIter2PFlowPixelHitTriplets + process.hltIter2PFlowPixelSeeds + process.hltIter2PFlowCkfTrackCandidates + process.hltIter2PFlowCtfWithMaterialTracks + process.hltIter2PFlowTrackCutClassifier + process.hltIter2PFlowTrackSelectionHighPurity )) # replace hltPixelLayerTriplets and hltPixelTracksHitTriplets with hltPixelLayerQuadruplets and hltPixelTracksHitQuadruplets # in any Sequence, Paths or EndPath that contains the former and not the latter from FWCore.ParameterSet.SequenceTypes import ModuleNodeVisitor for sequence in itertools.chain( process._Process__sequences.itervalues(), process._Process__paths.itervalues(), process._Process__endpaths.itervalues() ): modules = list() sequence.visit(ModuleNodeVisitor(modules)) if process.hltPixelTracks in modules and not process.hltPixelLayerQuadruplets in modules: # note that this module does not necessarily exist in sequence 'sequence', if it doesn't, it does not get removed sequence.remove(process.hltPixelLayerTriplets) index = sequence.index(process.hltPixelTracksHitDoublets) sequence.insert(index,process.hltPixelLayerQuadruplets) index = sequence.index(process.hltPixelTracksHitTriplets) sequence.remove(process.hltPixelTracksHitTriplets) sequence.insert(index, process.hltPixelTracksHitQuadruplets) if process.hltIter1PFlowPixelHitTriplets in modules and not process.hltIter1PFlowPixelHitQuadruplets in modules: index = sequence.index(process.hltIter1PFlowPixelHitTriplets) sequence.insert(index, process.hltIter1PixelTracks) sequence.insert(index, process.hltIter1PFlowPixelHitQuadruplets) sequence.remove(process.hltIter1PFlowPixelHitTriplets) # Remove entirely to avoid warning from the early deleter del process.hltPixelTracksHitTriplets del process.hltIter1PFlowPixelHitTriplets return process
pt2=2, value1=1000, value2=150, ), useBendingCorrection=True, fitFastCircle=True, fitFastCircleChi2Cut=True, CAThetaCut=0.0017, CAPhiCut=0.3, ) trackingPhase2PU140.toModify(lowPtQuadStepHitQuadruplets, CAThetaCut=0.0015, CAPhiCut=0.25) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer lowPtQuadStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="lowPtQuadStepHitQuadruplets", ) trackingPhase1QuadProp.toModify(lowPtQuadStepHitDoublets, layerPairs=[0]) lowPtQuadStepHitTriplets = _pixelTripletHLTEDProducer.clone( doublets="lowPtQuadStepHitDoublets", produceIntermediateHitTriplets=True, SeedComparitorPSet=lowPtQuadStepHitQuadruplets.SeedComparitorPSet, ) from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer _lowPtQuadStepHitQuadruplets_propagation = _pixelQuadrupletEDProducer.clone( triplets="lowPtQuadStepHitTriplets", extraHitRZtolerance=lowPtQuadStepHitTriplets.extraHitRZtolerance, extraHitRPhitolerance=lowPtQuadStepHitTriplets.extraHitRPhitolerance, maxChi2=dict( pt1=0.8, pt2=2,
useMultipleScattering=False)) # SEEDS from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer pixelPairStepHitDoublets = _hitPairEDProducer.clone( seedingLayers="pixelPairStepSeedLayers", trackingRegions="pixelPairStepTrackingRegions", produceSeedingHitSets=True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer pixelPairStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="pixelPairStepHitDoublets", SeedComparitorPSet= dict( # FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName='PixelClusterShapeSeedComparitor', FilterAtHelixStage=cms.bool(True), FilterPixelHits=cms.bool(True), FilterStripHits=cms.bool(False), ClusterShapeHitFilterName=cms.string('ClusterShapeHitFilter'), ClusterShapeCacheSrc=cms.InputTag('siPixelClusterShapeCache'), )) # Clone for the phase1 recovery mode pixelPairStepSeedsA = pixelPairStepSeeds.clone() # Recovery for L2L3 pixelPairStepSeedLayersB = pixelPairStepSeedLayers.clone(layerList=[ 'BPix1+BPix4', ]) from RecoTracker.TkTrackingRegions.pointSeededTrackingRegion_cfi import pointSeededTrackingRegion as _pointSeededTrackingRegion pixelPairStepTrackingRegionsB = _pointSeededTrackingRegion.clone(
seedingLayers = "initialStepSeedLayers", trackingRegions = "initialStepTrackingRegions", maxElement = 0, produceIntermediateHitDoublets = True, ) from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi initialStepHitTriplets = _pixelTripletHLTEDProducer.clone( doublets = "initialStepHitDoublets", produceSeedingHitSets = True, SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone() ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer initialStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "initialStepHitTriplets", ) from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer _initialStepCAHitQuadruplets = _caHitQuadrupletEDProducer.clone( doublets = "initialStepHitDoublets", extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance, SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet, maxChi2 = dict( pt1 = 0.7, pt2 = 2, value1 = 200, value2 = 50, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, CAThetaCut = 0.0012, CAPhiCut = 0.2,
deltaEtaRegion=0.20, JetSrc="jetsForCoreTracking", # JetSrc = "ak5CaloJets", vertexSrc="firstStepGoodPrimaryVertices", howToUseMeasurementTracker="Never")) # Seeding from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer jetCoreRegionalStepHitDoublets = _hitPairEDProducer.clone( seedingLayers="jetCoreRegionalStepSeedLayers", trackingRegions="jetCoreRegionalStepTrackingRegions", produceSeedingHitSets=True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer jetCoreRegionalStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="jetCoreRegionalStepHitDoublets", forceKinematicWithRegionDirection=True) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff jetCoreRegionalStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits=4, seedPairPenalty=0, minPt=0.1) from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018 for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(jetCoreRegionalStepTrajectoryFilter, minPt=5.0) import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi jetCoreRegionalStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( ComponentName=cms.string('jetCoreRegionalStepChi2Est'),
trackingPhase2PU140.toModify(pixelPairStepTrackingRegions, RegionPSet=dict(ptMin = 0.6, useMultipleScattering=False)) # SEEDS from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer pixelPairStepHitDoublets = _hitPairEDProducer.clone( seedingLayers = "pixelPairStepSeedLayers", trackingRegions = "pixelPairStepTrackingRegions", produceSeedingHitSets = True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer pixelPairStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "pixelPairStepHitDoublets", SeedComparitorPSet = dict(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = 'PixelClusterShapeSeedComparitor', FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(True), FilterStripHits = cms.bool(False), ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache'), ) ) # Clone for the phase1 recovery mode pixelPairStepSeedsA = pixelPairStepSeeds.clone() # Recovery for L2L3 pixelPairStepSeedLayersB = pixelPairStepSeedLayers.clone( layerList = [ 'BPix1+BPix4', ] )
ComponentName = 'CombinedSeedComparitor', mode = cms.string('and'), comparitors = cms.VPSet( cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(False), FilterStripHits = cms.bool(True), ClusterShapeHitFilterName = cms.string('tobTecStepClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache') # not really needed here since FilterPixelHits=False ), _StripSubClusterShapeSeedFilter.clone() ) ) tobTecStepSeedsTripl = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(#empirically better than 'SeedFromConsecutiveHitsTripletOnlyCreator' seedingHitSets = 'tobTecStepHitTripletsTripl', SeedComparitorPSet = _tobTecStepSeedComparitorPSet, ) #fastsim import FastSimulation.Tracking.TrajectorySeedProducer_cfi from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet _fastSim_tobTecStepSeedsTripl = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone( trackingRegions = 'tobTecStepTrackingRegionsTripl', hitMasks = cms.InputTag('tobTecStepMasks'), seedFinderSelector = dict(MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet(tobTecStepHitTripletsTripl).clone( SeedComparitorPSet = cms.PSet(ComponentName = cms.string('none')), refitHits = False), layerList = tobTecStepSeedLayersTripl.layerList.value() ) ) fastSim.toReplaceWith(tobTecStepSeedsTripl,_fastSim_tobTecStepSeedsTripl)
SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(), maxChi2 = dict( pt1 = 0.7, pt2 = 2, value1 = 1000, value2 = 150, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, CAThetaCut = 0.0017, CAPhiCut = 0.3, ) trackingPhase2PU140.toModify(lowPtQuadStepHitQuadruplets,CAThetaCut = 0.0015,CAPhiCut = 0.25) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer lowPtQuadStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "lowPtQuadStepHitQuadruplets", ) trackingPhase1QuadProp.toModify(lowPtQuadStepHitDoublets, layerPairs = [0]) lowPtQuadStepHitTriplets = _pixelTripletHLTEDProducer.clone( doublets = "lowPtQuadStepHitDoublets", produceIntermediateHitTriplets = True, SeedComparitorPSet = lowPtQuadStepHitQuadruplets.SeedComparitorPSet, ) from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer _lowPtQuadStepHitQuadruplets_propagation = _pixelQuadrupletEDProducer.clone( triplets = "lowPtQuadStepHitTriplets", extraHitRZtolerance = lowPtQuadStepHitTriplets.extraHitRZtolerance, extraHitRPhitolerance = lowPtQuadStepHitTriplets.extraHitRPhitolerance, maxChi2 = dict( pt1 = 0.8 , pt2 = 2,
tripletElectronHitDoublets = _hitPairEDProducer.clone( seedingLayers = "tripletElectronSeedLayers", trackingRegions = "tripletElectronTrackingRegions", maxElement = 50000000, produceIntermediateHitDoublets = True, ) from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi tripletElectronHitTriplets = _pixelTripletHLTEDProducer.clone( doublets = "tripletElectronHitDoublets", maxElement = 1000000, produceSeedingHitSets = True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer tripletElectronSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "tripletElectronHitTriplets", ) trackingPhase2PU140.toModify(tripletElectronHitTriplets, maxElement = 0, ) from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover tripletElectronClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("tripletElectronSeeds"), oldClusterRemovalInfo = cms.InputTag("pixelLessStepSeedClusterMask") ) trackingPhase2PU140.toReplaceWith(tripletElectronClusterMask, seedClusterRemoverPhase2.clone( trajectories = cms.InputTag("tripletElectronSeeds"), oldClusterRemovalInfo = cms.InputTag("pixelLessStepSeedClusterMask") ) )
value1 = 200, value2 = 100, enabled = True, ), extraPhiTolerance = dict( pt1 = 0.6, pt2 = 1, value1 = 0.15, value2 = 0.1, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, SeedComparitorPSet = initialStepHitTripletsPreSplitting.SeedComparitorPSet ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer initialStepSeedsPreSplitting = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "initialStepHitTripletsPreSplitting", ) from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer trackingPhase1.toReplaceWith(initialStepHitQuadrupletsPreSplitting, _caHitQuadrupletEDProducer.clone( doublets = "initialStepHitDoubletsPreSplitting", extraHitRPhitolerance = initialStepHitTripletsPreSplitting.extraHitRPhitolerance, SeedComparitorPSet = initialStepHitTripletsPreSplitting.SeedComparitorPSet, maxChi2 = dict( pt1 = 0.7, pt2 = 2, value1 = 200, value2 = 50, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, CAThetaCut = 0.0012,
extraHitRPhitolerance, SeedComparitorPSet=initialStepHitTripletsPreSplitting.SeedComparitorPSet, maxChi2=dict( pt1=0.7, pt2=2, value1=200, value2=50, ), useBendingCorrection=True, fitFastCircle=True, fitFastCircleChi2Cut=True, CAThetaCut=0.0012, CAPhiCut=0.2, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer initialStepSeedsPreSplitting = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets='initialStepHitTripletsPreSplitting', ) trackingPhase1.toModify(initialStepSeedsPreSplitting, seedingHitSets='initialStepHitQuadrupletsPreSplitting') # building import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff initialStepTrajectoryFilterBasePreSplitting = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits=4, minPt=0.2, maxCCCLostHits=0, minGoodStripCharge=cms.PSet( refToPSet_=cms.string('SiStripClusterChargeCutLoose'))) from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 _tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBasePreSplitting, maxCCCLostHits=2) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi