from RecoLocalCalo.Castor.Castor_cff import * from RecoLocalCalo.Configuration.hcalGlobalReco_cff import * globalreco_tracking = cms.Sequence( offlineBeamSpot * MeasurementTrackerEventPreSplitting * # unclear where to put this siPixelClusterShapeCachePreSplitting * # unclear where to put this standalonemuontracking * trackingGlobalReco * hcalGlobalRecoSequence * vertexreco) _globalreco_tracking_LowPU = globalreco_tracking.copy() _globalreco_tracking_LowPU.replace(trackingGlobalReco, recopixelvertexing + trackingGlobalReco) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU) ########################################## # offlineBeamSpot is reconstructed before mixing in fastSim ########################################## _fastSim_globalreco_tracking = globalreco_tracking.copyAndExclude([ offlineBeamSpot, MeasurementTrackerEventPreSplitting, siPixelClusterShapeCachePreSplitting ]) fastSim.toReplaceWith(globalreco_tracking, _fastSim_globalreco_tracking) globalreco = cms.Sequence( globalreco_tracking * particleFlowCluster * ecalClusters * caloTowersRec * egammaGlobalReco * jetGlobalReco * muonGlobalReco * pfTrackingGlobalReco * muoncosmicreco * CastorFullReco) _run3_globalreco = globalreco.copyAndExclude([CastorFullReco])
vertexAnalysisSequence = cms.Sequence( vertexAnalysisSelection + vertexAnalysis ) vertexAnalysisSequenceTrackingOnly = cms.Sequence( vertexAnalysisSelection + vertexAnalysisTrackingOnly ) _vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy() _vertexAnalysisSequenceTrackingOnly_trackingLowPU += ( selectedPixelVertices + pixelVertexAnalysisTrackingOnly ) trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU) vertexAnalysisSequencePixelTrackingOnly = cms.Sequence( selectedPixelVertices + pixelVertexAnalysisPixelTrackingOnly ) from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer _vertexRecoCollectionsTiming = cms.VInputTag("offlinePrimaryVertices", "offlinePrimaryVerticesWithBS", "selectedOfflinePrimaryVertices", "selectedOfflinePrimaryVerticesWithBS", "offlinePrimaryVertices4D", "selectedOfflinePrimaryVertices4D", )
ClusterShapeHitFilterName = cms.string('tobTecStepClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") # not really needed here since FilterPixelHits=False ), RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi.StripSubClusterShapeSeedFilter.clone() ) ) import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone() tobTecStepSeeds.seedCollections = cms.VInputTag(cms.InputTag('tobTecStepSeedsTripl'),cms.InputTag('tobTecStepSeedsPair')) # LowPU import RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(tobTecStepSeeds, RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone( OrderedHitsFactoryPSet = dict(SeedingLayers = 'tobTecStepSeedLayers'), RegionFactoryPSet = dict(RegionPSet = dict( ptMin = 0.6, originHalfLength = 30.0, originRadius = 6.0, )) )) # Phase1PU70 from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toReplaceWith(tobTecStepSeeds, RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone( OrderedHitsFactoryPSet = dict(SeedingLayers = 'tobTecStepSeedLayers'), RegionFactoryPSet = dict( RegionPSet = dict( ptMin = 1.0, originHalfLength = 15.0, originRadius = 2.0 ) ), SeedCreatorPSet = dict(OriginTransverseErrorMultiplier = 3.0),
mixedTripletStepSeeds.seedCollections = cms.VInputTag( cms.InputTag('mixedTripletStepSeedsA'), cms.InputTag('mixedTripletStepSeedsB'), ) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _mixedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( # maxLostHits = 0, minimumNumberOfHits=3, minPt=0.1) mixedTripletStepTrajectoryFilter = _mixedTripletStepTrajectoryFilterBase.clone( constantValueForLostHitsFractionFilter=1.4, ) trackingLowPU.toReplaceWith( mixedTripletStepTrajectoryFilter, _mixedTripletStepTrajectoryFilterBase.clone(maxLostHits=0, )) pp_on_XeXe_2017.toModify(mixedTripletStepTrajectoryFilter, minPt=0.4) # Propagator taking into account momentum uncertainty in multiple scattering calculation. import TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff import TrackingTools.MaterialEffects.MaterialPropagator_cfi mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone( #mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.MaterialPropagatorParabolicMF.clone( ComponentName='mixedTripletStepPropagator', ptMin=0.1) pp_on_XeXe_2017.toModify(mixedTripletStepPropagator, ptMin=0.4) import TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
trackingPhase1.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_trackingPhase1.copyAndExclude([initialStepHitTripletsPreSplitting])) trackingPhase1QuadProp.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_trackingPhase1) # Although InitialStepPreSplitting is not really part of LowPU/Run1/Phase2PU140 # tracking, we use it to get siPixelClusters and siPixelRecHits # collections for non-splitted pixel clusters. All modules before # iterTracking sequence use siPixelClustersPreSplitting and # siPixelRecHitsPreSplitting for that purpose. # # If siPixelClusters would be defined in # RecoLocalTracker.Configuration.RecoLocalTracker_cff, we would have a # situation where # - LowPU/Phase2PU140 has siPixelClusters defined in RecoLocalTracker_cff # - everything else has siPixelClusters defined here # and this leads to a mess. The way it is done here we have only # one place (within Reconstruction_cff) where siPixelClusters # module is defined. from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(siPixelClusters, _siPixelClusters) _InitialStepPreSplitting_LowPU_Phase2PU140 = cms.Sequence( siPixelClusters + siPixelRecHits + MeasurementTrackerEvent + siPixelClusterShapeCache ) trackingLowPU.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase2PU140) trackingPhase2PU140.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase2PU140)
# from RecoLocalCalo.Castor.Castor_cff import * from RecoLocalCalo.Configuration.hcalGlobalReco_cff import * globalreco_tracking = cms.Sequence(offlineBeamSpot* MeasurementTrackerEventPreSplitting* # unclear where to put this siPixelClusterShapeCachePreSplitting* # unclear where to put this standalonemuontracking* trackingGlobalReco* hcalGlobalRecoSequence* vertexreco) _globalreco_tracking_LowPU = globalreco_tracking.copy() _globalreco_tracking_LowPU.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU) globalreco = cms.Sequence(globalreco_tracking* particleFlowCluster* ecalClusters* caloTowersRec* egammaGlobalReco* jetGlobalReco* muonGlobalReco* pfTrackingGlobalReco* muoncosmicreco* CastorFullReco) _run3_globalreco = globalreco.copyAndExclude([CastorFullReco]) run3_common.toReplaceWith(globalreco, _run3_globalreco)
) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _mixedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( # maxLostHits = 0, minimumNumberOfHits = 3, minPt = 0.1 ) highBetaStar_2018.toModify(_mixedTripletStepTrajectoryFilterBase,minPt = 0.05) mixedTripletStepTrajectoryFilter = _mixedTripletStepTrajectoryFilterBase.clone( constantValueForLostHitsFractionFilter = 1.4, ) trackingLowPU.toReplaceWith(mixedTripletStepTrajectoryFilter, _mixedTripletStepTrajectoryFilterBase.clone( maxLostHits = 0, )) for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(mixedTripletStepTrajectoryFilter, minPt=0.4) # Propagator taking into account momentum uncertainty in multiple scattering calculation. import TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff import TrackingTools.MaterialEffects.MaterialPropagator_cfi mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone( #mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.MaterialPropagatorParabolicMF.clone( ComponentName = 'mixedTripletStepPropagator', ptMin = 0.1 ) for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(mixedTripletStepPropagator, ptMin=0.4)
# from RecoLocalCalo.Castor.Castor_cff import * from RecoLocalCalo.Configuration.hcalGlobalReco_cff import * globalreco_tracking = cms.Sequence(offlineBeamSpot* MeasurementTrackerEventPreSplitting* # unclear where to put this siPixelClusterShapeCachePreSplitting* # unclear where to put this standalonemuontracking* trackingGlobalReco* hcalGlobalRecoSequence* vertexreco) _globalreco_tracking_LowPU_Phase2PU140 = globalreco_tracking.copy() _globalreco_tracking_LowPU_Phase2PU140.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase2PU140) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase2PU140) globalreco = cms.Sequence(globalreco_tracking* particleFlowCluster* ecalClusters* caloTowersRec* egammaGlobalReco* jetGlobalReco* muonGlobalReco* pfTrackingGlobalReco* muoncosmicreco* CastorFullReco) _phase2_globalreco = globalreco.copyAndExclude([CastorFullReco])
# QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.075, ) lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone( 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(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase) trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase) pp_on_XeXe_2017.toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.3) from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import * # Composite filter lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone( filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')), # cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter')) ] ) trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter, filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))] )
) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.1, ) pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone( seedPairPenalty =0, 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(pixelPairStepTrajectoryFilterBase, maxCCCLostHits = 2) trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase) trackingPhase1PU70.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone( maxLostHitsFraction = 1./10., constantValueForLostHitsFractionFilter = 0.801, )) trackingPhase2PU140.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone( maxLostHitsFraction = 1./10., constantValueForLostHitsFractionFilter = 0.701, )) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone() pixelPairStepTrajectoryFilter = cms.PSet( ComponentType = cms.string('CompositeTrajectoryFilter'), filters = cms.VPSet( cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))
# from RecoLocalCalo.Castor.Castor_cff import * from RecoLocalCalo.Configuration.hcalGlobalReco_cff import * globalreco_tracking = cms.Sequence(offlineBeamSpot* MeasurementTrackerEventPreSplitting* # unclear where to put this siPixelClusterShapeCachePreSplitting* # unclear where to put this standalonemuontracking* trackingGlobalReco* hcalGlobalRecoSequence* vertexreco) _globalreco_tracking_LowPU_Phase1PU70 = globalreco_tracking.copy() _globalreco_tracking_LowPU_Phase1PU70.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70) globalreco = cms.Sequence(globalreco_tracking* particleFlowCluster* ecalClusters* caloTowersRec* egammaGlobalReco* jetGlobalReco* muonGlobalReco* pfTrackingGlobalReco* muoncosmicreco* CastorFullReco)
) # not really needed here since FilterPixelHits=False ), RecoPixelVertexing.PixelLowPtUtilities. StripSubClusterShapeSeedFilter_cfi.StripSubClusterShapeSeedFilter. clone())) import RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff trackingLowPU.toReplaceWith( pixelLessStepSeeds, RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone( OrderedHitsFactoryPSet=dict(SeedingLayers='pixelLessStepSeedLayers'), RegionFactoryPSet=dict(RegionPSet=dict( ptMin=0.7, originHalfLength=10.0, originRadius=2.0, )), SeedComparitorPSet=cms.PSet( ComponentName=cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage=cms.bool(True), FilterPixelHits=cms.bool(False), FilterStripHits=cms.bool(True), ClusterShapeHitFilterName=cms.string('ClusterShapeHitFilter'), ClusterShapeCacheSrc=cms.InputTag( "siPixelClusterShapeCache" ) # not really needed here since FilterPixelHits=False ))) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _pixelLessStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( maxLostHits=0, minimumNumberOfHits=4, minPt=0.1) pixelLessStepTrajectoryFilter = _pixelLessStepTrajectoryFilterBase.clone(
import FWCore.ParameterSet.Config as cms from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import * # # for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex # #from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import * from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import * recopixelvertexing = cms.Sequence(PixelLayerTriplets * pixelTracksSequence * pixelVertices) # For LowPU and Phase1PU70 PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone( BPix=dict(HitProducer="siPixelRecHitsPreSplitting"), FPix=dict(HitProducer="siPixelRecHitsPreSplitting"), ) _recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy() _recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
import FWCore.ParameterSet.Config as cms SiStripClusterChargeCutNone = cms.PSet( value = cms.double(-1.0) ) SiStripClusterChargeCutTiny = cms.PSet( value = cms.double(800.0) ) SiStripClusterChargeCutLoose = cms.PSet( value = cms.double(1620.0) ) SiStripClusterChargeCutTight = cms.PSet( value = cms.double(1945.0) ) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(SiStripClusterChargeCutLoose, SiStripClusterChargeCutTiny) trackingLowPU.toReplaceWith(SiStripClusterChargeCutTight, SiStripClusterChargeCutTiny)
maxCCCLostHits=2) 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(initialStepTrajectoryFilterBase, minPt=0.6) highBetaStar_2018.toModify(initialStepTrajectoryFilterBase, minPt=0.05) initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone( minimumNumberOfHits=4, seedExtension=1, strictSeedExtension=True, # don't allow inactive pixelSeedExtension=True, ) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase) trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone( ) initialStepTrajectoryFilter = cms.PSet( ComponentType=cms.string('CompositeTrajectoryFilter'), filters=cms.VPSet( cms.PSet(refToPSet_=cms.string('initialStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape')) ), ) trackingPhase2PU140.toReplaceWith(
import FWCore.ParameterSet.Config as cms from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import * # # for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex # #from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import * from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import * recopixelvertexing = cms.Sequence(PixelLayerTriplets*pixelTracksSequence*pixelVertices) # For LowPU and Phase1PU70 PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone( BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"), FPix = dict(HitProducer = "siPixelRecHitsPreSplitting"), ) _recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy() _recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
import FWCore.ParameterSet.Config as cms from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import * # # for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex # #from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import * from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import * recopixelvertexing = cms.Sequence(PixelLayerTriplets*pixelTracksSequence*pixelVertices) # For LowPU PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone( BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"), FPix = dict(HitProducer = "siPixelRecHitsPreSplitting"), ) _recopixelvertexing_LowPU = recopixelvertexing.copy() _recopixelvertexing_LowPU.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU)
from RecoTracker.TkTrackingRegions.globalTrackingRegion_cfi import globalTrackingRegion as _globalTrackingRegion from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU # SEEDING LAYERS from RecoTracker.IterativeTracking.InitialStep_cff import initialStepSeedLayers, initialStepHitDoublets, _initialStepCAHitQuadruplets # TrackingRegion pixelTracksTrackingRegions = _globalTrackingRegion.clone() trackingLowPU.toReplaceWith(pixelTracksTrackingRegions, _globalTrackingRegionFromBeamSpot.clone()) # Pixel Quadruplets Tracking pixelTracksSeedLayers = initialStepSeedLayers.clone( BPix=dict(HitProducer="siPixelRecHitsPreSplitting"), FPix=dict(HitProducer="siPixelRecHitsPreSplitting")) pixelTracksHitDoublets = initialStepHitDoublets.clone( clusterCheck="", seedingLayers="pixelTracksSeedLayers", trackingRegions="pixelTracksTrackingRegions") pixelTracksHitQuadruplets = _initialStepCAHitQuadruplets.clone( doublets="pixelTracksHitDoublets", SeedComparitorPSet=dict( clusterShapeCacheSrc='siPixelClusterShapeCachePreSplitting'))
from RecoLocalCalo.Configuration.hcalGlobalReco_cff import * globalreco_trackingTask = cms.Task( offlineBeamSpot, MeasurementTrackerEventPreSplitting, # unclear where to put this siPixelClusterShapeCachePreSplitting, # unclear where to put this standalonemuontrackingTask, trackingGlobalRecoTask, hcalGlobalRecoTask, vertexrecoTask) _globalreco_tracking_LowPUTask = globalreco_trackingTask.copy() _globalreco_tracking_LowPUTask.replace( trackingGlobalRecoTask, cms.Task(recopixelvertexingTask, trackingGlobalRecoTask)) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(globalreco_trackingTask, _globalreco_tracking_LowPUTask) ########################################## # offlineBeamSpot is reconstructed before mixing in fastSim ########################################## _fastSim_globalreco_trackingTask = globalreco_trackingTask.copyAndExclude([ offlineBeamSpot, MeasurementTrackerEventPreSplitting, siPixelClusterShapeCachePreSplitting ]) fastSim.toReplaceWith(globalreco_trackingTask, _fastSim_globalreco_trackingTask) _phase2_timing_layer_globalreco_trackingTask = globalreco_trackingTask.copy() _phase2_timing_layer_globalreco_trackingTask.add(fastTimingGlobalRecoTask) phase2_timing_layer.toReplaceWith( globalreco_trackingTask, _phase2_timing_layer_globalreco_trackingTask)
import FWCore.ParameterSet.Config as cms from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import * # # for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex # #from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import * from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import * recopixelvertexing = cms.Sequence(PixelLayerTriplets * pixelTracksSequence * pixelVertices) # For LowPU PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone( BPix=dict(HitProducer="siPixelRecHitsPreSplitting"), FPix=dict(HitProducer="siPixelRecHitsPreSplitting"), ) _recopixelvertexing_LowPU = recopixelvertexing.copy() _recopixelvertexing_LowPU.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU)
hitMasks = cms.InputTag("tobTecStepMasks"), seedFinderSelector = dict(layerList = tobTecStepSeedLayersPair.layerList.value()) ) ) # Combined seeds import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone() tobTecStepSeeds.seedCollections = cms.VInputTag(cms.InputTag('tobTecStepSeedsTripl'),cms.InputTag('tobTecStepSeedsPair')) # LowPU from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toModify(tobTecStepHitDoubletsPair, seedingLayers = 'tobTecStepSeedLayers') trackingLowPU.toReplaceWith(tobTecStepSeeds, _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "tobTecStepHitDoubletsPair", )) # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps) import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _tobTecStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( maxLostHits = 0, minimumNumberOfHits = 5, minPt = 0.1, minHitsMinPt = 3 ) tobTecStepTrajectoryFilter = _tobTecStepTrajectoryFilterBase.clone( seedPairPenalty = 1, ) trackingLowPU.toReplaceWith(tobTecStepTrajectoryFilter, _tobTecStepTrajectoryFilterBase.clone(
_tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2) 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(initialStepTrajectoryFilterBase, minPt=0.6) highBetaStar_2018.toModify(initialStepTrajectoryFilterBase, minPt = 0.05) initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone( minimumNumberOfHits = 4, seedExtension = 1, strictSeedExtension = True, # don't allow inactive pixelSeedExtension = True, ) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase) trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone() initialStepTrajectoryFilter = cms.PSet( ComponentType = cms.string('CompositeTrajectoryFilter'), filters = cms.VPSet( cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape')) ), ) trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilter, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.2
# Although InitialStepPreSplitting is not really part of LowPU/Run1/Phase1PU70 # tracking, we use it to get siPixelClusters and siPixelRecHits # collections for non-splitted pixel clusters. All modules before # iterTracking sequence use siPixelClustersPreSplitting and # siPixelRecHitsPreSplitting for that purpose. # # If siPixelClusters would be defined in # RecoLocalTracker.Configuration.RecoLocalTracker_cff, we would have a # situation where # - LowPU/Phase1PU70 has siPixelClusters defined in RecoLocalTracker_cff # - everything else has siPixelClusters defined here # and this leads to a mess. The way it is done here we have only # one place (within Reconstruction_cff) where siPixelClusters # module is defined. from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toReplaceWith(siPixelClusters, _siPixelClusters) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(siPixelClusters, _siPixelClusters) _InitialStepPreSplitting_LowPU_Phase1PU70 = cms.Sequence( siPixelClusters + siPixelRecHits + MeasurementTrackerEvent + siPixelClusterShapeCache) trackingLowPU.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase1PU70) trackingPhase1PU70.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase1PU70) trackingPhase2PU140.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase1PU70)
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _detachedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( # maxLostHitsFraction = cms.double(1./10.), # constantValueForLostHitsFractionFilter = cms.double(0.701), minimumNumberOfHits = 3, minPt = 0.075, ) detachedTripletStepTrajectoryFilterBase = _detachedTripletStepTrajectoryFilterBase.clone( 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(detachedTripletStepTrajectoryFilterBase, maxCCCLostHits = 2) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(detachedTripletStepTrajectoryFilterBase, _detachedTripletStepTrajectoryFilterBase.clone( maxLostHitsFraction = 1./10., constantValueForLostHitsFractionFilter = 0.701, )) for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(detachedTripletStepTrajectoryFilterBase, minPt=0.9) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi detachedTripletStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone() detachedTripletStepTrajectoryFilter = cms.PSet( ComponentType = cms.string('CompositeTrajectoryFilter'), filters = cms.VPSet( cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterShape')) ), )
# Although InitialStepPreSplitting is not really part of LowPU/Run1/Phase2PU140 # tracking, we use it to get siPixelClusters and siPixelRecHits # collections for non-splitted pixel clusters. All modules before # iterTracking sequence use siPixelClustersPreSplitting and # siPixelRecHitsPreSplitting for that purpose. # # If siPixelClusters would be defined in # RecoLocalTracker.Configuration.RecoLocalTracker_cff, we would have a # situation where # - LowPU/Phase2PU140 has siPixelClusters defined in RecoLocalTracker_cff # - everything else has siPixelClusters defined here # and this leads to a mess. The way it is done here we have only # one place (within Reconstruction_cff) where siPixelClusters # module is defined. from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(siPixelClusters, _siPixelClusters) _InitialStepPreSplittingTask_LowPU_Phase2PU140 = cms.Task( siPixelClusters, siPixelRecHits, MeasurementTrackerEvent, siPixelClusterShapeCache) trackingLowPU.toReplaceWith(InitialStepPreSplittingTask, _InitialStepPreSplittingTask_LowPU_Phase2PU140) trackingPhase2PU140.toReplaceWith( InitialStepPreSplittingTask, _InitialStepPreSplittingTask_LowPU_Phase2PU140)
from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet _fastSim_pixelLessStepSeeds.seedFinderSelector.MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet(pixelLessStepHitTriplets) _fastSim_pixelLessStepSeeds.seedFinderSelector.MultiHitGeneratorFactory.refitHits = False fastSim.toReplaceWith(pixelLessStepSeeds,_fastSim_pixelLessStepSeeds) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _pixelLessStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( maxLostHits = 0, minimumNumberOfHits = 4, minPt = 0.1 ) pixelLessStepTrajectoryFilter = _pixelLessStepTrajectoryFilterBase.clone( seedPairPenalty = 1, ) trackingLowPU.toReplaceWith(pixelLessStepTrajectoryFilter, _pixelLessStepTrajectoryFilterBase) for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(pixelLessStepTrajectoryFilter, minPt=2.0) import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi pixelLessStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone( ComponentName = cms.string('pixelLessStepChi2Est'), nSigma = cms.double(3.0), MaxChi2 = cms.double(16.0), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')) ) trackingLowPU.toModify(pixelLessStepChi2Est, clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny') ) # TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _detachedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( # maxLostHitsFraction = cms.double(1./10.), # constantValueForLostHitsFractionFilter = cms.double(0.701), minimumNumberOfHits = 3, minPt = 0.075, ) detachedTripletStepTrajectoryFilterBase = _detachedTripletStepTrajectoryFilterBase.clone( 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(detachedTripletStepTrajectoryFilterBase, maxCCCLostHits = 2) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(detachedTripletStepTrajectoryFilterBase, _detachedTripletStepTrajectoryFilterBase.clone( maxLostHitsFraction = 1./10., constantValueForLostHitsFractionFilter = 0.701, )) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi detachedTripletStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone() detachedTripletStepTrajectoryFilter = cms.PSet( ComponentType = cms.string('CompositeTrajectoryFilter'), filters = cms.VPSet( cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterShape')) ), ) import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi detachedTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone( ComponentName = cms.string('detachedTripletStepChi2Est'),
# QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.1, ) pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone( seedPairPenalty =0, 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(pixelPairStepTrajectoryFilterBase, maxCCCLostHits = 2) trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase) trackingPhase1.toModify(pixelPairStepTrajectoryFilterBase, minimumNumberOfHits = 4) trackingPhase1QuadProp.toModify(pixelPairStepTrajectoryFilterBase, minimumNumberOfHits = 4) trackingPhase2PU140.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone( minimumNumberOfHits = 4, maxLostHitsFraction = 1./10., constantValueForLostHitsFractionFilter = 0.701, )) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone() pixelPairStepTrajectoryFilter = cms.PSet( ComponentType = cms.string('CompositeTrajectoryFilter'), filters = cms.VPSet( cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape')) ),
_fastSim_pixelLessStepSeeds.seedFinderSelector.MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet(pixelLessStepHitTriplets) _fastSim_pixelLessStepSeeds.seedFinderSelector.MultiHitGeneratorFactory.refitHits = False _fastSim_pixelLessStepSeeds.seedFinderSelector.layerList = pixelLessStepSeedLayers.layerList.value() fastSim.toReplaceWith(pixelLessStepSeeds,_fastSim_pixelLessStepSeeds) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _pixelLessStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( maxLostHits = 0, minimumNumberOfHits = 4, minPt = 0.1 ) pixelLessStepTrajectoryFilter = _pixelLessStepTrajectoryFilterBase.clone( seedPairPenalty = 1, ) trackingLowPU.toReplaceWith(pixelLessStepTrajectoryFilter, _pixelLessStepTrajectoryFilterBase) for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(pixelLessStepTrajectoryFilter, minPt=2.0) import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi pixelLessStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone( ComponentName = cms.string('pixelLessStepChi2Est'), nSigma = cms.double(3.0), MaxChi2 = cms.double(16.0), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')) ) trackingLowPU.toModify(pixelLessStepChi2Est, clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny') ) # TRACK BUILDING
pixelPairStepSeedsB) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits=3, minPt=0.1, ) pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone( seedPairPenalty=0, maxCCCLostHits=0, minGoodStripCharge=dict(refToPSet_='SiStripClusterChargeCutLoose')) from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 _tracker_apv_vfp30_2016.toModify(pixelPairStepTrajectoryFilterBase, maxCCCLostHits=2) trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase) trackingPhase1.toModify(pixelPairStepTrajectoryFilterBase, minimumNumberOfHits=4) trackingPhase2PU140.toReplaceWith( pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone( minimumNumberOfHits=4, maxLostHitsFraction=1. / 10., constantValueForLostHitsFractionFilter=0.701, )) highBetaStar_2018.toModify(pixelPairStepTrajectoryFilterBase, minPt=0.05) import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone( ) pixelPairStepTrajectoryFilter = cms.PSet(
seedFinderSelector=dict( layerList=tobTecStepSeedLayersPair.layerList.value()))) # Combined seeds import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone( ) tobTecStepSeeds.seedCollections = cms.VInputTag( cms.InputTag('tobTecStepSeedsTripl'), cms.InputTag('tobTecStepSeedsPair')) # LowPU from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toModify(tobTecStepHitDoubletsPair, seedingLayers='tobTecStepSeedLayers') trackingLowPU.toReplaceWith( tobTecStepSeeds, _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="tobTecStepHitDoubletsPair", )) # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps) import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff _tobTecStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( maxLostHits=0, minimumNumberOfHits=5, minPt=0.1, minHitsMinPt=3) tobTecStepTrajectoryFilter = _tobTecStepTrajectoryFilterBase.clone( seedPairPenalty=1, ) trackingLowPU.toReplaceWith( tobTecStepTrajectoryFilter, _tobTecStepTrajectoryFilterBase.clone(minimumNumberOfHits=6, )) for e in [pp_on_XeXe_2017, pp_on_AA_2018]: e.toModify(tobTecStepTrajectoryFilter, minPt=2.0) tobTecStepInOutTrajectoryFilter = tobTecStepTrajectoryFilter.clone(
vertexAnalysisSequence = cms.Sequence( vertexAnalysisSelection + vertexAnalysis ) vertexAnalysisSequenceTrackingOnly = cms.Sequence( vertexAnalysisSelection + vertexAnalysisTrackingOnly ) _vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy() _vertexAnalysisSequenceTrackingOnly_trackingLowPU += ( selectedPixelVertices + pixelVertexAnalysisTrackingOnly ) trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU) vertexAnalysisSequencePixelTrackingOnly = cms.Sequence( selectedPixelVertices + pixelVertexAnalysisPixelTrackingOnly ) from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer _vertexRecoCollectionsTiming = cms.VInputTag("offlinePrimaryVertices", "offlinePrimaryVerticesWithBS", "selectedOfflinePrimaryVertices", "selectedOfflinePrimaryVerticesWithBS", "offlinePrimaryVertices4D", "selectedOfflinePrimaryVertices4D", )
_lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits=3, minPt=0.075, ) lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone( 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(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits=1) from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase) trackingPhase2PU140.toReplaceWith( lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase) from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import * # Composite filter lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone( filters=[ cms.PSet( refToPSet_=cms.string('lowPtTripletStepStandardTrajectoryFilter')), # cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter')) ]) trackingPhase2PU140.toModify( lowPtTripletStepTrajectoryFilter, filters=lowPtTripletStepTrajectoryFilter.filters +
from RecoTracker.TkTrackingRegions.globalTrackingRegion_cfi import globalTrackingRegion as _globalTrackingRegion from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import * import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU # SEEDING LAYERS from RecoTracker.IterativeTracking.InitialStep_cff import initialStepSeedLayers, initialStepHitDoublets, _initialStepCAHitQuadruplets # TrackingRegion pixelTracksTrackingRegions = _globalTrackingRegion.clone() trackingLowPU.toReplaceWith(pixelTracksTrackingRegions, _globalTrackingRegionFromBeamSpot.clone()) # Pixel Quadruplets Tracking pixelTracksSeedLayers = initialStepSeedLayers.clone( BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"), FPix = dict(HitProducer = "siPixelRecHitsPreSplitting") ) pixelTracksHitDoublets = initialStepHitDoublets.clone( clusterCheck = "", seedingLayers = "pixelTracksSeedLayers", trackingRegions = "pixelTracksTrackingRegions" ) pixelTracksHitQuadruplets = _initialStepCAHitQuadruplets.clone(