minNumberLayers=3, maxNumberLostLayers=2, minNumber3DLayers=3, d0_par1=(0.7, 4.0), dz_par1=(0.6, 4.0), d0_par2=(0.5, 4.0), dz_par2=(0.5, 4.0)), RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS. clone(name='lowPtQuadStep', preFilterName='lowPtQuadStepTight', chi2n_par=1.2, res_par=(0.003, 0.001), minNumberLayers=3, maxNumberLostLayers=2, minNumber3DLayers=3, d0_par1=(0.5, 4.0), dz_par1=(0.5, 4.0), d0_par2=(0.45, 4.0), dz_par2=(0.45, 4.0)), ), #end of vpset vertices="pixelVertices") #end of clone # Final sequence LowPtQuadStep = cms.Sequence( lowPtQuadStepClusters * lowPtQuadStepSeedLayers * lowPtQuadStepSeeds * lowPtQuadStepTrackCandidates * lowPtQuadStepTracks * lowPtQuadStep) _LowPtQuadStep_Phase1PU70 = LowPtQuadStep.copy() _LowPtQuadStep_Phase1PU70.replace(lowPtQuadStep, lowPtQuadStepSelector) trackingPhase1PU70.toReplaceWith(LowPtQuadStep, _LowPtQuadStep_Phase1PU70) trackingPhase2PU140.toReplaceWith(LowPtQuadStep, _LowPtQuadStep_Phase1PU70)
initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.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(initialStepTrajectoryFilterBase, maxCCCLostHits = 2) 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) trackingPhase1PU70.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 )
SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone() ) _SeedComparitorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting")) trackingLowPU.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet) trackingPhase1PU70.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet) trackingPhase2PU140.toModify(pixelTracksHitTriplets, maxElement=0, **_SeedComparitorPSet) pixelTracksHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone( triplets = "pixelTracksHitTriplets", layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")), ) # Pixel tracks pixelTracks = _pixelTracksDefault.clone() _SeedingHitSets = dict(SeedingHitSets = "pixelTracksHitQuadruplets") trackingPhase1PU70.toModify(pixelTracks, **_SeedingHitSets) trackingPhase2PU140.toModify(pixelTracks, **_SeedingHitSets) pixelTracksSequence = cms.Sequence( pixelTracksTrackingRegions + pixelTracksHitDoublets + pixelTracksHitTriplets + pixelFitterByHelixProjections + pixelTrackFilterByKinematics + pixelTracks ) _pixelTracksSequence_quad = pixelTracksSequence.copy() _pixelTracksSequence_quad.replace(pixelTracksHitTriplets, pixelTracksHitTriplets+pixelTracksHitQuadruplets) trackingPhase1PU70.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad) trackingPhase2PU140.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, CAThetaCut = 0.0012, CAPhiCut = 0.2, )) trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3) trackingPhase2PU140.toReplaceWith(initialStepHitQuadruplets, _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.0010, CAPhiCut = 0.175, )) trackingPhase2PU140.toModify(initialStepHitTriplets, produceSeedingHitSets = False, produceIntermediateHitTriplets = True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer _initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
) trackingPhase1QuadProp.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadruplets_propagation) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.075, ) lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone( maxCCCLostHits = 0, minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose') ) trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase) from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import * # Composite filter lowPtQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone( filters = [cms.PSet(refToPSet_ = cms.string('lowPtQuadStepTrajectoryFilterBase'))] ) trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryFilter, filters = lowPtQuadStepTrajectoryFilter.filters.value() + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))] ) import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi lowPtQuadStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone( ComponentName = 'lowPtQuadStepChi2Est', nSigma = 3.0, MaxChi2 = 9.0,
maxChi2 = dict( pt1 = 0.8, pt2 = 2, value1 = 70 , value2 = 8, ), useBendingCorrection = True, CAThetaCut = 0.002, CAPhiCut = 0.05, )) trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1]) # layer pairs (0,1), (1,2) trackingPhase2PU140.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, )) # 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(
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')) ), ) import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi pixelPairStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
) # For Phase2PU140 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger trackingPhase2PU140.toReplaceWith(preDuplicateMergingGeneralTracks, _trackListMerger.clone( TrackProducers = ["earlyGeneralTracks", "muonSeededTracksInOut", "muonSeededTracksOutIn"], hasSelector = [0,1,1], selectedTrackQuals = ["muonSeededTracksInOutSelector:muonSeededTracksInOutHighPurity", # not used but needed "muonSeededTracksInOutSelector:muonSeededTracksInOutHighPurity", "muonSeededTracksOutInSelector:muonSeededTracksOutInHighPurity"], # mvaValueTags = ["earlyGeneralTracks:MVAVals", # "muonSeededTracksInOutSelector:MVAVals", # "muonSeededTracksOutInSelector:MVAVals"], mvaValueTags = cms.VInputTag( cms.InputTag("earlyGeneralTracks","MVAVals"), cms.InputTag("muonSeededTracksInOutSelector","MVAVals"), cms.InputTag("muonSeededTracksOutInSelector","MVAVals"), ), #setsToMerge = dict(pQual = False, tLists = [0, 1, 2]), setsToMerge = cms.VPSet(cms.PSet(pQual = cms.bool(False), tLists = cms.vint32(0, 1, 2))), FoundHitBonus = 100.0, LostHitPenalty = 1.0, indivShareFrac = [1.0, 0.16, 0.095, 0.09, 0.095,0.095, 0.095, 0.08], copyExtras = True, makeReKeyedSeeds = cms.untracked.bool(False) ) )
continue if "SeedsTripl" in item: continue ret.append(item) return ret _seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers) _seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1) _seedProducers_trackingPhase2PU140 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase2PU140) (_seedSelectors, trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers, globals()) (_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase1, globals()) (_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase2PU140, globals()) from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1) trackingPhase2PU140.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140) trackingNtuple.seedTracks = _seedSelectors trackingPhase1.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase1) trackingPhase2PU140.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase2PU140) def _seedProdToTrackCands(name): return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates") trackingNtuple.trackCandidates = map(_seedProdToTrackCands, _seedProducers) trackingPhase1.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase1)) trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase2PU140)) trackingNtupleSequence = cms.Sequence() # reproduce hits because they're not stored in RECO if _includeHits: trackingNtupleSequence += (
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)
dz_par2=(0.5, 4.0)), RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS. clone(name='highPtTripletStep', preFilterName='highPtTripletStepTight', chi2n_par=0.6, res_par=(0.003, 0.001), minNumberLayers=3, maxNumberLostLayers=2, minNumber3DLayers=3, d0_par1=(0.5, 4.0), dz_par1=(0.6, 4.0), d0_par2=(0.45, 4.0), dz_par2=(0.45, 4.0)), ), #end of vpset vertices="pixelVertices") #end of clone # Final sequence HighPtTripletStep = cms.Sequence( highPtTripletStepClusters * highPtTripletStepSeedLayers * highPtTripletStepSeeds * highPtTripletStepTrackCandidates * highPtTripletStepTracks * # highPtTripletStepClassifier1*highPtTripletStepClassifier2*highPtTripletStepClassifier3* highPtTripletStep) _HighPtTripletStep_Phase1PU70 = HighPtTripletStep.copy() _HighPtTripletStep_Phase1PU70.replace(highPtTripletStep, highPtTripletStepSelector) trackingPhase1PU70.toReplaceWith(HighPtTripletStep, _HighPtTripletStep_Phase1PU70) trackingPhase2PU140.toReplaceWith(HighPtTripletStep, _HighPtTripletStep_Phase1PU70)
pt1 = 0.8 , pt2 = 2, value1 = 2000, value2 = 100, enabled = True, ), extraPhiTolerance = dict( pt1 = 0.3, pt2 = 1, value1 = 0.4, value2 = 0.05, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, SeedComparitorPSet = lowPtQuadStepHitTriplets.SeedComparitorPSet, ) trackingPhase1QuadProp.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadruplets_propagation) trackingPhase2PU140.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadruplets_propagation) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.075, ) lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone( maxCCCLostHits = 0, minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose') ) trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)
(_seedSelectors, trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers( _seedProducers, globals()) (_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1 ) = _TrackValidation_cff._addSeedToTrackProducers( _seedProducers_trackingPhase1, globals()) (_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140 ) = _TrackValidation_cff._addSeedToTrackProducers( _seedProducers_trackingPhase2PU140, globals()) from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1) trackingPhase2PU140.toReplaceWith( trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140) trackingNtuple.seedTracks = _seedSelectors trackingPhase1.toModify(trackingNtuple, seedTracks=_seedSelectors_trackingPhase1) trackingPhase2PU140.toModify(trackingNtuple, seedTracks=_seedSelectors_trackingPhase2PU140) def _seedProdToTrackCands(name): return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates") trackingNtuple.trackCandidates = map(_seedProdToTrackCands, _seedProducers) trackingPhase1.toModify(trackingNtuple,
minHitsToBypassChecks = 20 ), ) #end of vpset ) #end of clone muonSeededStepCoreInOut = cms.Sequence( muonSeededSeedsInOut + muonSeededTrackCandidatesInOut + muonSeededTracksInOut ) muonSeededStepCore = cms.Sequence( muonSeededStepCoreInOut + muonSeededSeedsOutIn + muonSeededTrackCandidatesOutIn + muonSeededTracksOutIn ) #Phase2 : just muon Seed InOut is used in this moment trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut) muonSeededStepExtraInOut = cms.Sequence( muonSeededTracksInOutClassifier ) trackingPhase1PU70.toReplaceWith(muonSeededStepExtraInOut, cms.Sequence( muonSeededTracksInOutSelector )) trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOut, cms.Sequence( muonSeededTracksInOutSelector )) muonSeededStepExtra = cms.Sequence( muonSeededStepExtraInOut + muonSeededTracksOutInClassifier ) trackingPhase1PU70.toReplaceWith(muonSeededStepExtra, cms.Sequence( muonSeededStepExtraInOut +
) trackingPhase1.toModify(earlyGeneralTracks, **_forPhase1) trackingPhase1QuadProp.toModify(earlyGeneralTracks, **_forPhase1) # For Phase2PU140 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger trackingPhase2PU140.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone( TrackProducers =['initialStepTracks', 'highPtTripletStepTracks', 'lowPtQuadStepTracks', 'lowPtTripletStepTracks', 'detachedQuadStepTracks', 'pixelPairStepTracks', ], hasSelector = [1,1,1,1,1,1], indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09], selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStep"), cms.InputTag("highPtTripletStepSelector","highPtTripletStep"), cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"), cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"), cms.InputTag("detachedQuadStep"), cms.InputTag("pixelPairStepSelector","pixelPairStep"), ), setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5), pQual=cms.bool(True) ) ), copyExtras = True, makeReKeyedSeeds = cms.untracked.bool(False) ) )
from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="highPtTripletStepHitTriplets", ) trackingPhase1QuadProp.toModify(highPtTripletStepHitDoublets, layerPairs=[0]) # layer pair (0,1) trackingPhase2PU140.toModify(highPtTripletStepHitDoublets, layerPairs=[0]) # layer pair (0,1) _highPtTripletStepHitTriplets_propagation = _pixelTripletHLTEDProducer.clone( doublets="highPtTripletStepHitDoublets", produceSeedingHitSets=True, SeedComparitorPSet=highPtTripletStepHitTriplets.SeedComparitorPSet, ) trackingPhase1QuadProp.toReplaceWith( highPtTripletStepHitTriplets, _highPtTripletStepHitTriplets_propagation) trackingPhase2PU140.toReplaceWith(highPtTripletStepHitTriplets, _highPtTripletStepHitTriplets_propagation) # 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) highPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone( filters=[ cms.PSet(
) 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( ComponentType=cms.string('CompositeTrajectoryFilter'), filters=cms.VPSet( cms.PSet(refToPSet_=cms.string('pixelPairStepTrajectoryFilterBase')), # cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape')) ), )
continue if "SeedsTripl" in item: continue ret.append(item) return ret _seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers) _seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1) _seedProducers_trackingPhase2PU140 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase2PU140) (_seedSelectors, trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers, globals()) (_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase1, globals()) (_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase2PU140, globals()) from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1) trackingPhase2PU140.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140) trackingNtuple.seedTracks = _seedSelectors trackingPhase1.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase1) trackingPhase2PU140.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase2PU140) def _seedProdToTrackCands(name): return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates") trackingNtuple.trackCandidates = [_seedProdToTrackCands(i) for i in _seedProducers] trackingPhase1.toModify(trackingNtuple, trackCandidates=[_seedProdToTrackCands(i) for i in _seedProducers_trackingPhase1]) trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=[_seedProdToTrackCands(i) for i in _seedProducers_trackingPhase2PU140]) trackingNtupleTask = cms.Task() # reproduce hits because they're not stored in RECO if _includeHits: trackingNtupleTask.add(siPixelRecHits, siStripMatchedRecHits)
], ) trackingPhase1.toModify(earlyGeneralTracks, **_forPhase1) # For Phase2PU140 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger trackingPhase2PU140.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone( TrackProducers =['initialStepTracks', 'highPtTripletStepTracks', 'lowPtQuadStepTracks', 'lowPtTripletStepTracks', 'detachedQuadStepTracks', 'pixelPairStepTracks', ], hasSelector = [1,1,1,1,1,1], indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09], selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStep"), cms.InputTag("highPtTripletStepSelector","highPtTripletStep"), cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"), cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"), cms.InputTag("detachedQuadStep"), cms.InputTag("pixelPairStepSelector","pixelPairStep"), ), setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5), pQual=cms.bool(True) ) ), copyExtras = True, makeReKeyedSeeds = cms.untracked.bool(False) ) )
########## vertexAnalysisSelection = cms.Sequence( cms.ignore(selectedOfflinePrimaryVertices) + cms.ignore(selectedOfflinePrimaryVerticesWithBS)) ########## vertexAnalysisSequence = cms.Sequence(vertexAnalysisSelection + vertexAnalysis) vertexAnalysisSequenceTrackingOnly = cms.Sequence(vertexAnalysisSelection + vertexAnalysisTrackingOnly) from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation trackingParticlePixelTrackAsssociation = _trackingParticleRecoTrackAsssociation.clone( label_tr="pixelTracks") _vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy( ) _vertexAnalysisSequenceTrackingOnly_trackingLowPU += ( trackingParticlePixelTrackAsssociation + selectedPixelVertices + pixelVertexAnalysisTrackingOnly) trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU) trackingPhase1PU70.toReplaceWith( vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU) trackingPhase2PU140.toReplaceWith( vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
min_nhits=7, maxNumberLostLayers=2, minNumber3DLayers=2, minHitsToBypassChecks=20), ) #end of vpset ) #end of clone muonSeededStepCoreInOut = cms.Sequence(muonSeededSeedsInOut + muonSeededTrackCandidatesInOut + muonSeededTracksInOut) muonSeededStepCore = cms.Sequence(muonSeededStepCoreInOut + muonSeededSeedsOutIn + muonSeededTrackCandidatesOutIn + muonSeededTracksOutIn) #Phase2 : just muon Seed InOut is used in this moment trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut) muonSeededStepExtraInOut = cms.Sequence(muonSeededTracksInOutClassifier) trackingPhase1PU70.toReplaceWith(muonSeededStepExtraInOut, cms.Sequence(muonSeededTracksInOutSelector)) trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOut, cms.Sequence(muonSeededTracksInOutSelector)) muonSeededStepExtra = cms.Sequence(muonSeededStepExtraInOut + muonSeededTracksOutInClassifier) trackingPhase1PU70.toReplaceWith( muonSeededStepExtra, cms.Sequence(muonSeededStepExtraInOut + muonSeededTracksOutInSelector)) trackingPhase2PU140.toReplaceWith(muonSeededStepExtra, cms.Sequence(muonSeededStepExtraInOut)) muonSeededStep = cms.Sequence(earlyMuons + muonSeededStepCore + muonSeededStepExtra)
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) _phase2_globalreco = globalreco.copyAndExclude([CastorFullReco]) phase2_common.toReplaceWith(globalreco, _phase2_globalreco)
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)
muonSeededStepCoreOutIn = cms.Sequence(muonSeededStepCoreOutInTask) muonSeededStepCoreTask = cms.Task( muonSeededStepCoreInOutTask , muonSeededStepCoreOutInTask ) muonSeededStepCore = cms.Sequence(muonSeededStepCoreTask) #Phase2 : just muon Seed InOut is used in this moment #trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut) muonSeededStepExtraInOutTask = cms.Task( muonSeededTracksInOutClassifier ) muonSeededStepExtraInOut = cms.Sequence(muonSeededStepExtraInOutTask) trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOutTask, cms.Task( muonSeededTracksInOutSelector )) muonSeededStepExtraTask = cms.Task( muonSeededStepExtraInOutTask , muonSeededTracksOutInClassifier ) muonSeededStepExtra = cms.Sequence(muonSeededStepExtraTask) trackingPhase2PU140.toReplaceWith(muonSeededStepExtraTask, cms.Task( muonSeededStepExtraInOutTask , muonSeededTracksOutInSelector )) muonSeededStepTask = cms.Task( earlyMuons,
trackingPhase1PU70.toModify(pixelTracksHitDoublets, **_seedingLayers) trackingPhase2PU140.toModify(pixelTracksHitDoublets, **_seedingLayers) pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone( doublets = "pixelTracksHitDoublets", produceSeedingHitSets = True, SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone() ) _SeedComparitorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting")) trackingLowPU.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet) trackingPhase1PU70.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet) trackingPhase2PU140.toModify(pixelTracksHitTriplets, maxElement=0, **_SeedComparitorPSet) pixelTracksHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone( triplets = "pixelTracksHitTriplets", layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")), ) pixelTracksSequence = cms.Sequence( pixelTracksTrackingRegions + pixelTracksHitDoublets + pixelTracksHitTriplets + pixelFitterByHelixProjections + pixelTrackFilterByKinematics + pixelTracks ) _pixelTracksSequence_quad = pixelTracksSequence.copy() _pixelTracksSequence_quad.replace(pixelTracksHitTriplets, pixelTracksHitTriplets+pixelTracksHitQuadruplets) trackingPhase1PU70.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad) trackingPhase2PU140.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
)) # For Phase2PU140 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(preDuplicateMergingGeneralTracks, _trackListMerger.clone( TrackProducers = cms.VInputTag( cms.InputTag("earlyGeneralTracks"), cms.InputTag("muonSeededTracksInOut"), #cms.InputTag("muonSeededTracksOutIn"), ), hasSelector = cms.vint32(0,1), selectedTrackQuals = cms.VInputTag( cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity"), # not used but needed cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity") #cms.InputTag("muonSeededTracksOutInSelector","muonSeededTracksOutInHighPurity"), ), mvaValueTags = cms.VInputTag( cms.InputTag("earlyGeneralTracks","MVAVals"), cms.InputTag("muonSeededTracksInOutSelector","MVAVals"), # cms.InputTag("muonSeededTracksOutInSelector","MVAVals"), ), setsToMerge = cms.VPSet(cms.PSet(pQual = cms.bool(False), tLists = cms.vint32(0, 1))), FoundHitBonus = 100.0, LostHitPenalty = 1.0, indivShareFrac = cms.vdouble(1.0, 0.16, 0.095, 0.09, 0.095,0.095, 0.095, 0.08), copyExtras = True, makeReKeyedSeeds = cms.untracked.bool(False) ) )
import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters") ) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toModify(initialStepSeedClusterMask, oldClusterRemovalInfo = "highPtTripletStepClusters") from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(initialStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories = cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo = cms.InputTag("highPtTripletStepClusters") ) ) highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase1PU70 trajectories = "highPtTripletStepSeeds", oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask") ) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("pixelPairStepSeeds"), oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask") ) trackingPhase1PU70.toModify(pixelPairStepSeedClusterMask, oldClusterRemovalInfo = "highPtTripletStepSeedClusterMask") trackingPhase2PU140.toReplaceWith(highPtTripletStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories = cms.InputTag("highPtTripletStepSeeds"), oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask")
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]: e.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.7) highBetaStar_2018.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.05) highPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone( filters = [cms.PSet(refToPSet_ = cms.string('highPtTripletStepTrajectoryFilterBase'))] ) trackingPhase2PU140.toModify(highPtTripletStepTrajectoryFilter, filters = highPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))] ) highPtTripletStepTrajectoryFilterInOut = highPtTripletStepTrajectoryFilterBase.clone(
cms.ignore(selectedOfflinePrimaryVertices) + cms.ignore(selectedOfflinePrimaryVerticesWithBS) ) ########## vertexAnalysisSequence = cms.Sequence( vertexAnalysisSelection + vertexAnalysis ) vertexAnalysisSequenceTrackingOnly = cms.Sequence( vertexAnalysisSelection + vertexAnalysisTrackingOnly ) from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation trackingParticlePixelTrackAsssociation = _trackingParticleRecoTrackAsssociation.clone( label_tr = "pixelTracks" ) _vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy() _vertexAnalysisSequenceTrackingOnly_trackingLowPU += ( trackingParticlePixelTrackAsssociation + selectedPixelVertices + pixelVertexAnalysisTrackingOnly ) trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU) trackingPhase1PU70.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU) trackingPhase2PU140.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
) = _TrackValidation_cff._addSeedToTrackProducers( _seedProducers_trackingPhase1QuadProp, globals()) (_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140 ) = _TrackValidation_cff._addSeedToTrackProducers( _seedProducers_trackingPhase2PU140, globals()) from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1) trackingPhase1QuadProp.toReplaceWith( trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1QuadProp) trackingPhase2PU140.toReplaceWith( trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140) trackingNtuple.seedTracks = _seedSelectors trackingPhase1.toModify(trackingNtuple, seedTracks=_seedSelectors_trackingPhase1) trackingPhase1QuadProp.toModify(trackingNtuple, seedTracks=_seedSelectors_trackingPhase1) trackingPhase2PU140.toModify(trackingNtuple, seedTracks=_seedSelectors_trackingPhase2PU140) trackingNtupleSequence = cms.Sequence() # reproduce hits because they're not stored in RECO if _includeHits: trackingNtupleSequence += (siPixelRecHits + siStripMatchedRecHits) _phase2_trackingNtupleSequence = trackingNtupleSequence.copy()
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]) phase2_common.toReplaceWith(globalreco, _phase2_globalreco)
_initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone( seedingHitSets = "initialStepHitTriplets", SeedComparitorPSet = dict(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = 'PixelClusterShapeSeedComparitor', FilterAtHelixStage = cms.bool(False), FilterPixelHits = cms.bool(True), FilterStripHits = cms.bool(False), ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache') ), ) trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone( seedingHitSets = "initialStepHitQuadruplets" )) trackingPhase2PU140.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone( seedingHitSets = "initialStepHitQuadruplets" )) import FastSimulation.Tracking.TrajectorySeedProducer_cfi from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet _fastSim_initialStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone( trackingRegions = "initialStepTrackingRegions", seedFinderSelector = dict( pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(initialStepHitTriplets), layerList = initialStepSeedLayers.layerList.value()) ) _fastSim_initialStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName = "none" #new for phase1 trackingPhase1.toModify(_fastSim_initialStepSeeds, seedFinderSelector = dict( pixelTripletGeneratorFactory = None, CAHitQuadrupletGeneratorFactory = _hitSetProducerToFactoryPSet(initialStepHitQuadruplets).clone(SeedComparitorPSet = dict(ComponentName = "none")), #new parameters required for phase1 seeding BPix = dict(
import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo=cms.InputTag("pixelLessStepClusters")) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toModify(initialStepSeedClusterMask, oldClusterRemovalInfo="highPtTripletStepClusters") from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith( initialStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories=cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo=cms.InputTag("highPtTripletStepClusters"))) highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase1PU70 trajectories="highPtTripletStepSeeds", oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("pixelPairStepSeeds"), oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) trackingPhase1PU70.toModify( pixelPairStepSeedClusterMask, oldClusterRemovalInfo="highPtTripletStepSeedClusterMask") trackingPhase2PU140.toReplaceWith( highPtTripletStepSeedClusterMask, seedClusterRemoverPhase2.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')) ), ) from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import * trackingPhase2PU140.toModify(pixelPairStepTrajectoryFilter, filters = pixelPairStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))] )
oldClusterRemovalInfo = cms.InputTag("tobTecStepClusters"), TrackQuality = cms.string('highPurity'), ) convClusters = _convClustersBase.clone( trackClassifier = cms.InputTag('tobTecStep',"QualityMasks"), ) #Phase2 : configuring the phase2 track Cluster Remover from RecoLocalTracker.SubCollectionProducers.phase2trackClusterRemover_cfi import phase2trackClusterRemover as _phase2trackClusterRemover from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(convClusters, _phase2trackClusterRemover.clone( maxChi2 = 30.0, phase2pixelClusters = "siPixelClusters", phase2OTClusters = "siPhase2Clusters", TrackQuality = 'highPurity', minNumberOfLayersWithMeasBeforeFiltering = 0, trajectories = cms.InputTag("detachedQuadStepTracks"), oldClusterRemovalInfo = cms.InputTag("detachedQuadStepClusters"), overrideTrkQuals = cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk"), ) ) _convLayerPairsStripOnlyLayers = ['TIB1+TID1_pos', 'TIB1+TID1_neg', 'TIB1+TID2_pos', 'TIB1+TID2_neg', 'TIB1+TIB2', 'TIB1+TIB3', 'TIB2+TID1_pos', 'TIB2+TID1_neg',
BPix = dict(skipClusters = cms.InputTag('detachedQuadStepClusters')), FPix = dict(skipClusters = cms.InputTag('detachedQuadStepClusters')) ) # TrackingRegion from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ detachedQuadStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict( ptMin = 0.3, originHalfLength = 15.0, originRadius = 1.5 )) from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(detachedQuadStepTrackingRegions, _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict( ptMin = 0.45, originRadius = 0.9, nSigmaZ = 5.0 ))) from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices pp_on_XeXe_2017.toReplaceWith(detachedQuadStepTrackingRegions, _globalTrackingRegionWithVertices.clone(RegionPSet=dict( fixedError = 3.75, ptMin = 0.8, originRadius = 1.5 ) ) ) # seeding
# 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) 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'))] ) import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone( ComponentName = cms.string('lowPtTripletStepChi2Est'),
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)
ComponentName = cms.string("SeedFromConsecutiveHitsCreator"), MinOneOverPtError = lowPtQuadStepSeeds.MinOneOverPtError, OriginTransverseErrorMultiplier = lowPtQuadStepSeeds.OriginTransverseErrorMultiplier, SeedMomentumForBOFF = lowPtQuadStepSeeds.SeedMomentumForBOFF, TTRHBuilder = lowPtQuadStepSeeds.TTRHBuilder, forceKinematicWithRegionDirection = lowPtQuadStepSeeds.forceKinematicWithRegionDirection, magneticField = lowPtQuadStepSeeds.magneticField, propagator = lowPtQuadStepSeeds.propagator, ) _lowPtQuadStepHitQuadrupletsMerging.SeedComparitorPSet = lowPtQuadStepSeeds.SeedComparitorPSet trackingPhase1PU70.toModify(lowPtQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True) trackingPhase1PU70.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadrupletsMerging) trackingPhase2PU140.toModify(lowPtQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True) trackingPhase2PU140.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadrupletsMerging) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.075, ) lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone( maxCCCLostHits = 0, minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose') ) trackingPhase1PU70.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase) trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)