mixedTripletStepClassifier1.qualityCuts = [-0.5,0.0,0.5] mixedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone() mixedTripletStepClassifier2.src = 'mixedTripletStepTracks' mixedTripletStepClassifier2.GBRForestLabel = 'MVASelectorIter0_13TeV' mixedTripletStepClassifier2.qualityCuts = [-0.2,-0.2,-0.2] from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * mixedTripletStep = ClassifierMerger.clone() mixedTripletStep.inputClassifiers=['mixedTripletStepClassifier1','mixedTripletStepClassifier2'] trackingPhase1.toReplaceWith(mixedTripletStep, mixedTripletStepClassifier1.clone( GBRForestLabel = 'MVASelectorMixedTripletStep_Phase1', qualityCuts = [-0.5,0.0,0.5], )) trackingPhase1QuadProp.toReplaceWith(mixedTripletStep, mixedTripletStepClassifier1.clone( GBRForestLabel = 'MVASelectorMixedTripletStep_Phase1', qualityCuts = [-0.5,0.0,0.5], )) # For LowPU and Phase1PU70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi # First LowPU mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'mixedTripletStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter4'), trackSelectors = [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'mixedTripletStepVtxLoose', chi2n_par = 1.2, res_par = ( 0.003, 0.001 ), minNumberLayers = 3,
produceSeedingHitSets=False, produceIntermediateHitTriplets=True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer _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')), ) trackingPhase1QuadProp.toReplaceWith( initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly) trackingPhase1.toReplaceWith( initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone( seedingHitSets="initialStepHitQuadruplets")) trackingPhase2PU140.toModify(initialStepSeeds, seedingHitSets="initialStepHitQuadruplets") # temporary... _initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet( ComponentName=cms.string("SeedFromConsecutiveHitsCreator"), MinOneOverPtError=initialStepSeeds.MinOneOverPtError, OriginTransverseErrorMultiplier=initialStepSeeds. OriginTransverseErrorMultiplier, SeedMomentumForBOFF=initialStepSeeds.SeedMomentumForBOFF, TTRHBuilder=initialStepSeeds.TTRHBuilder,
pixelLessStep = ClassifierMerger.clone() pixelLessStep.inputClassifiers = [ 'pixelLessStepClassifier1', 'pixelLessStepClassifier2' ] from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp trackingPhase1.toReplaceWith( pixelLessStep, pixelLessStepClassifier1.clone( mva=dict(GBRForestLabel='MVASelectorPixelLessStep_Phase1'), qualityCuts=[-0.4, 0.0, 0.4], )) trackingPhase1QuadProp.toReplaceWith( pixelLessStep, pixelLessStepClassifier1.clone( mva=dict(GBRForestLabel='MVASelectorPixelLessStep_Phase1'), qualityCuts=[-0.4, 0.0, 0.4], )) # For LowPU import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='pixelLessStepTracks', useAnyMVA=cms.bool(False), GBRForestLabel=cms.string('MVASelectorIter5'), trackSelectors=cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='pixelLessStepLoose', chi2n_par=0.5, res_par=(0.003, 0.001), minNumberLayers=4,
from Configuration.Eras.Modifier_fastSim_cff import fastSim from FastSimulation.Tracking.ElectronSeeds_cff import _newCombinedSeeds fastSim.toReplaceWith(newCombinedSeeds, _newCombinedSeeds.clone()) electronSeedsSeqTask = cms.Task( initialStepSeedClusterMask, pixelPairStepSeedClusterMask, mixedTripletStepSeedClusterMask, pixelLessStepSeedClusterMask, tripletElectronSeedLayers, tripletElectronTrackingRegions, tripletElectronHitDoublets, tripletElectronHitTriplets, tripletElectronSeeds, tripletElectronClusterMask, pixelPairElectronSeedLayers, pixelPairElectronTrackingRegions, pixelPairElectronHitDoublets, pixelPairElectronSeeds, stripPairElectronSeedLayers, stripPairElectronTrackingRegions, stripPairElectronHitDoublets, stripPairElectronSeeds, newCombinedSeeds) electronSeedsSeq = cms.Sequence(electronSeedsSeqTask) _electronSeedsSeqTask_Phase1 = electronSeedsSeqTask.copy() _electronSeedsSeqTask_Phase1.replace(pixelPairStepSeedClusterMask, detachedTripletStepSeedClusterMask) trackingPhase1.toReplaceWith(electronSeedsSeqTask, _electronSeedsSeqTask_Phase1) trackingPhase1QuadProp.toReplaceWith(electronSeedsSeqTask, _electronSeedsSeqTask_Phase1) trackingPhase2PU140.toReplaceWith( electronSeedsSeqTask, cms.Task(initialStepSeedClusterMask, highPtTripletStepSeedClusterMask, pixelPairStepSeedClusterMask, tripletElectronSeedLayers, tripletElectronTrackingRegions, tripletElectronHitDoublets, tripletElectronHitTriplets, tripletElectronSeeds, newCombinedSeeds))
dz_par2 = ( 0.8, 4.0 ) ) ), #end of vpset vertices = "pixelVertices" ) #end of clone from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * detachedQuadStep = ClassifierMerger.clone() detachedQuadStep.inputClassifiers=['detachedQuadStepClassifier1','detachedQuadStepClassifier2'] trackingPhase1.toReplaceWith(detachedQuadStep, detachedQuadStepClassifier1.clone( GBRForestLabel = 'MVASelectorDetachedQuadStep_Phase1', qualityCuts = [-0.5,0.0,0.5], )) trackingPhase1QuadProp.toReplaceWith(detachedQuadStep, detachedQuadStepClassifier1.clone( GBRForestLabel = 'MVASelectorDetachedQuadStep_Phase1', qualityCuts = [-0.5,0.0,0.5], )) from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder import RecoTracker.FinalTrackSelectors.trackListMerger_cfi trackingPhase1PU70.toReplaceWith(detachedQuadStep, RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone( TrackProducers = [ 'detachedQuadStepTracks', 'detachedQuadStepTracks', ], hasSelector = [1,1], shareFrac = cms.double(0.095), indivShareFrac = [0.095, 0.095], selectedTrackQuals = [ cms.InputTag("detachedQuadStepSelector","detachedQuadStepVtx"), cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk")
min3DLayers=[3, 3, 3], maxLostLayers=[2, 2, 2], dz_par=dict( dz_par1=[0.7, 0.6, 0.45], dz_par2=[0.5, 0.4, 0.4], dz_exp=[4, 4, 4], ), dr_par=dict( dr_par1=[0.8, 0.7, 0.6], dr_par2=[0.5, 0.4, 0.3], dr_exp=[4, 4, 4], d0err_par=[0.002, 0.002, 0.001], ), )) trackingPhase1.toReplaceWith(lowPtTripletStep, _cutClassifierForPhase1) trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, _cutClassifierForPhase1) # For LowPU and Phase1PU70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='lowPtTripletStepTracks', useAnyMVA=cms.bool(False), GBRForestLabel=cms.string('MVASelectorIter1'), trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='lowPtTripletStepLoose', ), #end of pset RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( name='lowPtTripletStepTight', preFilterName='lowPtTripletStepLoose', ), RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.
extraHitRPhitolerance = detachedQuadStepHitTriplets.extraHitRPhitolerance, maxChi2 = dict( pt1 = 0.8, pt2 = 2, value1 = 500, value2 = 100, enabled = True, ), extraPhiTolerance = dict( pt1 = 0.4, pt2 = 1, value1 = 0.2, value2 = 0.05, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, ) trackingPhase1QuadProp.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadruplets_propagation) trackingPhase2PU140.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadruplets_propagation) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _detachedQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.075, ) detachedQuadStepTrajectoryFilterBase = _detachedQuadStepTrajectoryFilterBase.clone( maxCCCLostHits = 0, minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose') ) trackingPhase2PU140.toReplaceWith(detachedQuadStepTrajectoryFilterBase, _detachedQuadStepTrajectoryFilterBase.clone(
# Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * lowPtTripletStep = TrackMVAClassifierPrompt.clone() lowPtTripletStep.src = 'lowPtTripletStepTracks' lowPtTripletStep.mva.GBRForestLabel = 'MVASelectorIter1_13TeV' lowPtTripletStep.qualityCuts = [-0.6, -0.3, -0.1] trackingPhase1.toReplaceWith( lowPtTripletStep, lowPtTripletStep.clone( mva=dict(GBRForestLabel='MVASelectorLowPtTripletStep_Phase1'), qualityCuts=[-0.4, 0.0, 0.3], )) trackingPhase1QuadProp.toReplaceWith( lowPtTripletStep, lowPtTripletStep.clone( mva=dict(GBRForestLabel='MVASelectorLowPtTripletStep_Phase1'), qualityCuts=[-0.4, 0.0, 0.3], )) fastSim.toModify(lowPtTripletStep, vertices="firstStepPrimaryVerticesBeforeMixing") # For LowPU and Phase2PU140 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='lowPtTripletStepTracks', useAnyMVA=cms.bool(False), GBRForestLabel=cms.string('MVASelectorIter1'), trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='lowPtTripletStepLoose', ), #end of pset RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
CAHardPtCut = 0.3, ) trackingPhase2PU140.toModify(highPtTripletStepHitTriplets,CAThetaCut = 0.003,CAPhiCut = 0.06,CAHardPtCut = 0.5) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets = "highPtTripletStepHitTriplets", ) trackingPhase1QuadProp.toModify(highPtTripletStepHitDoublets, layerPairs = [0]) # layer pair (0,1) _highPtTripletStepHitTriplets_propagation = _pixelTripletHLTEDProducer.clone( doublets = "highPtTripletStepHitDoublets", produceSeedingHitSets = True, SeedComparitorPSet = highPtTripletStepHitTriplets.SeedComparitorPSet, ) trackingPhase1QuadProp.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) pp_on_XeXe_2017.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.7)
tripletElectronHitTriplets* tripletElectronSeeds* tripletElectronClusterMask* pixelPairElectronSeedLayers* pixelPairElectronTrackingRegions* pixelPairElectronHitDoublets* pixelPairElectronSeeds* stripPairElectronSeedLayers* stripPairElectronTrackingRegions* stripPairElectronHitDoublets* stripPairElectronSeeds* newCombinedSeeds) _electronSeedsSeq_Phase1 = electronSeedsSeq.copy() _electronSeedsSeq_Phase1.replace(pixelPairStepSeedClusterMask, detachedTripletStepSeedClusterMask) trackingPhase1.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1) trackingPhase1QuadProp.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1) trackingPhase1PU70.toReplaceWith(electronSeedsSeq, cms.Sequence( initialStepSeedClusterMask* highPtTripletStepSeedClusterMask* pixelPairStepSeedClusterMask* tripletElectronSeedLayers* tripletElectronTrackingRegions* tripletElectronHitDoublets* tripletElectronHitTriplets* tripletElectronSeeds* newCombinedSeeds )) trackingPhase2PU140.toReplaceWith(electronSeedsSeq, cms.Sequence( initialStepSeedClusterMask* highPtTripletStepSeedClusterMask* pixelPairStepSeedClusterMask*
# Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * lowPtQuadStep = TrackMVAClassifierPrompt.clone( src='lowPtQuadStepTracks', GBRForestLabel='MVASelectorIter1_13TeV', qualityCuts=[-0.6, -0.3, -0.1]) trackingPhase1.toReplaceWith( lowPtQuadStep, lowPtQuadStep.clone( GBRForestLabel='MVASelectorLowPtQuadStep_Phase1', qualityCuts=[-0.65, -0.35, -0.15], )) trackingPhase1QuadProp.toReplaceWith( lowPtQuadStep, lowPtQuadStep.clone( GBRForestLabel='MVASelectorLowPtQuadStep_Phase1', qualityCuts=[-0.65, -0.35, -0.15], )) # For Phase1PU70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='lowPtQuadStepTracks', trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='lowPtQuadStepLoose', chi2n_par=2.0, res_par=(0.003, 0.002), minNumberLayers=3, maxNumberLostLayers=2, minNumber3DLayers=3,
trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19) trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09) # Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * lowPtTripletStep = TrackMVAClassifierPrompt.clone() lowPtTripletStep.src = 'lowPtTripletStepTracks' lowPtTripletStep.mva.GBRForestLabel = 'MVASelectorIter1_13TeV' lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1] trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone( mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'), qualityCuts = [-0.4,0.0,0.3], )) trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone( mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'), qualityCuts = [-0.4,0.0,0.3], )) # For LowPU and Phase2PU140 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'lowPtTripletStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter1'), trackSelectors= [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'lowPtTripletStepLoose', ), #end of pset RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( name = 'lowPtTripletStepTight',
tobTecStepClassifier2.src = 'tobTecStepTracks' tobTecStepClassifier2.GBRForestLabel = 'MVASelectorIter0_13TeV' tobTecStepClassifier2.qualityCuts = [0.0,0.0,0.0] from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * tobTecStep = ClassifierMerger.clone() tobTecStep.inputClassifiers=['tobTecStepClassifier1','tobTecStepClassifier2'] from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp trackingPhase1.toReplaceWith(tobTecStep, tobTecStepClassifier1.clone( GBRForestLabel = 'MVASelectorTobTecStep_Phase1', qualityCuts = [-0.6,-0.45,-0.3], )) trackingPhase1QuadProp.toReplaceWith(tobTecStep, tobTecStepClassifier1.clone( GBRForestLabel = 'MVASelectorTobTecStep_Phase1', qualityCuts = [-0.6,-0.45,-0.3], )) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi trackingLowPU.toReplaceWith(tobTecStep, RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'tobTecStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter6'), trackSelectors = [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'tobTecStepLoose', chi2n_par = 0.4, res_par = ( 0.003, 0.001 ), minNumberLayers = 5, maxNumberLostLayers = 1, minNumber3DLayers = 2,
ret.append(item) return ret _seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers) _seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1) _seedProducers_trackingPhase1QuadProp = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1QuadProp) _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_trackingPhase1QuadProp, _trackingNtupleSeedSelectors_trackingPhase1QuadProp) = _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) def _seedProdToTrackCands(name): return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates") trackingNtuple.trackCandidates = map(_seedProdToTrackCands, _seedProducers) trackingPhase1.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase1)) trackingPhase1QuadProp.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase1QuadProp)) trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase2PU140)) trackingNtupleSequence = cms.Sequence()
from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * mixedTripletStep = ClassifierMerger.clone() mixedTripletStep.inputClassifiers = [ 'mixedTripletStepClassifier1', 'mixedTripletStepClassifier2' ] trackingPhase1.toReplaceWith( mixedTripletStep, mixedTripletStepClassifier1.clone( mva=dict(GBRForestLabel='MVASelectorMixedTripletStep_Phase1'), qualityCuts=[-0.5, 0.0, 0.5], )) trackingPhase1QuadProp.toReplaceWith( mixedTripletStep, mixedTripletStepClassifier1.clone( mva=dict(GBRForestLabel='MVASelectorMixedTripletStep_Phase1'), qualityCuts=[-0.5, 0.0, 0.5], )) # For LowPU import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='mixedTripletStepTracks', useAnyMVA=cms.bool(False), GBRForestLabel=cms.string('MVASelectorIter4'), trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='mixedTripletStepVtxLoose', chi2n_par=1.2, res_par=(0.003, 0.001), minNumberLayers=3,
trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19) trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09) # Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * lowPtTripletStep = TrackMVAClassifierPrompt.clone() lowPtTripletStep.src = 'lowPtTripletStepTracks' lowPtTripletStep.GBRForestLabel = 'MVASelectorIter1_13TeV' lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1] trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone( GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1', qualityCuts = [0.0,0.2,0.4], )) trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone( GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1', qualityCuts = [0.0,0.2,0.4], )) # For LowPU and Phase2PU140 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'lowPtTripletStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter1'), trackSelectors= [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'lowPtTripletStepLoose', ), #end of pset RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( name = 'lowPtTripletStepTight',
initialStepTrackRefsForJetsPreSplitting, caloTowerForTrkPreSplitting, ak4CaloJetsForTrkPreSplitting, jetsForCoreTrackingPreSplitting, siPixelClusters, siPixelRecHits, MeasurementTrackerEvent, siPixelClusterShapeCache) InitialStepPreSplitting = cms.Sequence(InitialStepPreSplittingTask) _InitialStepPreSplittingTask_trackingPhase1 = InitialStepPreSplittingTask.copy( ) _InitialStepPreSplittingTask_trackingPhase1.replace( initialStepHitTripletsPreSplitting, cms.Task(initialStepHitTripletsPreSplitting, initialStepHitQuadrupletsPreSplitting)) trackingPhase1.toReplaceWith( InitialStepPreSplittingTask, _InitialStepPreSplittingTask_trackingPhase1.copyAndExclude( [initialStepHitTripletsPreSplitting])) trackingPhase1QuadProp.toReplaceWith( InitialStepPreSplittingTask, _InitialStepPreSplittingTask_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.
CAPhiCut = 0.2, ) initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone() trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3) from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer trackingPhase1QuadProp.toReplaceWith(initialStepHitQuadruplets, _pixelQuadrupletEDProducer.clone( triplets = "initialStepHitTriplets", extraHitRZtolerance = initialStepHitTriplets.extraHitRZtolerance, extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance, maxChi2 = dict( pt1 = 0.8, pt2 = 2, value1 = 200, value2 = 100, enabled = True, ), extraPhiTolerance = dict( pt1 = 0.6, pt2 = 1, value1 = 0.15, value2 = 0.1, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet )) trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3) trackingPhase2PU140.toModify(initialStepHitQuadruplets, CAThetaCut = 0.0010, CAPhiCut = 0.175, )
# Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * lowPtQuadStep = TrackMVAClassifierPrompt.clone( src = 'lowPtQuadStepTracks', GBRForestLabel = 'MVASelectorIter1_13TeV', qualityCuts = [-0.6,-0.3,-0.1] ) trackingPhase1.toReplaceWith(lowPtQuadStep, lowPtQuadStep.clone( GBRForestLabel = 'MVASelectorLowPtQuadStep_Phase1', qualityCuts = [-0.65,-0.35,-0.15], )) trackingPhase1QuadProp.toReplaceWith(lowPtQuadStep, lowPtQuadStep.clone( GBRForestLabel = 'MVASelectorLowPtQuadStep_Phase1', qualityCuts = [-0.65,-0.35,-0.15], )) # For Phase1PU70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'lowPtQuadStepTracks', trackSelectors = [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'lowPtQuadStepLoose', chi2n_par = 2.0, res_par = ( 0.003, 0.002 ), minNumberLayers = 3, maxNumberLostLayers = 2, minNumber3DLayers = 3, d0_par1 = ( 0.8, 4.0 ),
pixelLessStepClassifier2.src = 'pixelLessStepTracks' pixelLessStepClassifier2.GBRForestLabel = 'MVASelectorIter0_13TeV' pixelLessStepClassifier2.qualityCuts = [-0.0,0.0,0.0] from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * pixelLessStep = ClassifierMerger.clone() pixelLessStep.inputClassifiers=['pixelLessStepClassifier1','pixelLessStepClassifier2'] from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp trackingPhase1.toReplaceWith(pixelLessStep, pixelLessStepClassifier1.clone( GBRForestLabel = 'MVASelectorPixelLessStep_Phase1', qualityCuts = [-0.4,0.0,0.4], )) trackingPhase1QuadProp.toReplaceWith(pixelLessStep, pixelLessStepClassifier1.clone( GBRForestLabel = 'MVASelectorPixelLessStep_Phase1', qualityCuts = [-0.4,0.0,0.4], )) # For LowPU import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='pixelLessStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter5'), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'pixelLessStepLoose', chi2n_par = 0.5, res_par = ( 0.003, 0.001 ), minNumberLayers = 4, maxNumberLostLayers = 1,
CAThetaCut=0.003, CAPhiCut=0.06, CAHardPtCut=0.5) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( seedingHitSets="highPtTripletStepHitTriplets", ) trackingPhase1QuadProp.toModify(highPtTripletStepHitDoublets, layerPairs=[0]) # layer pair (0,1) _highPtTripletStepHitTriplets_propagation = _pixelTripletHLTEDProducer.clone( doublets="highPtTripletStepHitDoublets", produceSeedingHitSets=True, SeedComparitorPSet=highPtTripletStepHitTriplets.SeedComparitorPSet, ) trackingPhase1QuadProp.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) pp_on_XeXe_2017.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.7)
detachedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone() detachedTripletStepClassifier2.src = 'detachedTripletStepTracks' detachedTripletStepClassifier2.mva.GBRForestLabel = 'MVASelectorIter0_13TeV' detachedTripletStepClassifier2.qualityCuts = [-0.2,0.0,0.4] fastSim.toModify(detachedTripletStepClassifier2,vertices = "firstStepPrimaryVerticesBeforeMixing") from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * detachedTripletStep = ClassifierMerger.clone() detachedTripletStep.inputClassifiers=['detachedTripletStepClassifier1','detachedTripletStepClassifier2'] trackingPhase1.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone( mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'), qualityCuts = [-0.2,0.3,0.8], )) trackingPhase1QuadProp.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone( mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'), qualityCuts = [-0.2,0.3,0.8], )) # For LowPU import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'detachedTripletStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter3'), trackSelectors = [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'detachedTripletStepVtxLoose', chi2n_par = 1.6, res_par = ( 0.003, 0.001 ), minNumberLayers = 3, d0_par1 = ( 1.2, 3.0 ),
) ) ) pixelPairStepHitDoubletsB = pixelPairStepHitDoublets.clone( seedingLayers = "pixelPairStepSeedLayersB", trackingRegions = "pixelPairStepTrackingRegionsB", ) pixelPairStepSeedsB = pixelPairStepSeedsA.clone(seedingHitSets = "pixelPairStepHitDoubletsB") # Merge from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi import globalCombinedSeeds as _globalCombinedSeeds _pixelPairStepSeedsMerged = _globalCombinedSeeds.clone( seedCollections = ["pixelPairStepSeedsA", "pixelPairStepSeedsB"], ) trackingPhase1.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged) trackingPhase1QuadProp.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged) # 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
dr_par2=[0.4, 0.35, 0.25], dr_exp=[4, 4, 4], d0err_par=[0.002, 0.002, 0.001]))) trackingPhase1.toReplaceWith( highPtTripletStep, TrackMVAClassifierPrompt.clone( src='highPtTripletStepTracks', GBRForestLabel='MVASelectorHighPtTripletStep_Phase1', qualityCuts=[0.2, 0.3, 0.4], )) from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp trackingPhase1QuadProp.toReplaceWith( highPtTripletStep, TrackMVAClassifierPrompt.clone( src='highPtTripletStepTracks', GBRForestLabel='MVASelectorHighPtTripletStep_Phase1', qualityCuts=[0.2, 0.3, 0.4], )) # For Phase1PU70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi highPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='highPtTripletStepTracks', trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='highPtTripletStepLoose', chi2n_par=2.0, res_par=(0.003, 0.002), minNumberLayers=3, maxNumberLostLayers=3,
CAPhiCut = 0.2, ) initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone() trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3) from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer trackingPhase1QuadProp.toReplaceWith(initialStepHitQuadruplets, _pixelQuadrupletEDProducer.clone( triplets = "initialStepHitTriplets", extraHitRZtolerance = initialStepHitTriplets.extraHitRZtolerance, extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance, maxChi2 = dict( pt1 = 0.8, pt2 = 2, value1 = 200, value2 = 100, enabled = True, ), extraPhiTolerance = dict( pt1 = 0.6, pt2 = 1, value1 = 0.15, value2 = 0.1, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet )) trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3) trackingPhase2PU140.toModify(initialStepHitQuadruplets, CAThetaCut = 0.0010, CAPhiCut = 0.175, )
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) # 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
jetCoreRegionalStep.mva.maxDz = [0.5, 0.35, 0.2] jetCoreRegionalStep.mva.maxDr = [0.3, 0.2, 0.1] jetCoreRegionalStep.vertices = 'firstStepGoodPrimaryVertices' from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * trackingPhase1.toReplaceWith( jetCoreRegionalStep, TrackMVAClassifierPrompt.clone( src='jetCoreRegionalStepTracks', mva=dict(GBRForestLabel='MVASelectorJetCoreRegionalStep_Phase1'), qualityCuts=[-0.2, 0.0, 0.4], )) trackingPhase1QuadProp.toReplaceWith( jetCoreRegionalStep, TrackMVAClassifierPrompt.clone( src='jetCoreRegionalStepTracks', mva=dict(GBRForestLabel='MVASelectorJetCoreRegionalStep_Phase1'), qualityCuts=[-0.2, 0.0, 0.4], )) # Final sequence JetCoreRegionalStep = cms.Sequence( cms.ignore(jetsForCoreTracking) * cms.ignore(firstStepGoodPrimaryVertices) * #jetCoreRegionalStepClusters* jetCoreRegionalStepSeedLayers * jetCoreRegionalStepTrackingRegions * jetCoreRegionalStepHitDoublets * jetCoreRegionalStepSeeds * jetCoreRegionalStepTrackCandidates * jetCoreRegionalStepTracks * # jetCoreRegionalStepClassifier1*jetCoreRegionalStepClassifier2* jetCoreRegionalStep)
produceSeedingHitSets = False, produceIntermediateHitTriplets = True, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer _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') ), ) trackingPhase1QuadProp.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly) trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone( seedingHitSets = "initialStepHitQuadruplets" )) trackingPhase2PU140.toModify(initialStepSeeds, seedingHitSets = "initialStepHitQuadruplets") # temporary... _initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet( ComponentName = cms.string("SeedFromConsecutiveHitsCreator"), MinOneOverPtError = initialStepSeeds.MinOneOverPtError, OriginTransverseErrorMultiplier = initialStepSeeds.OriginTransverseErrorMultiplier, SeedMomentumForBOFF = initialStepSeeds.SeedMomentumForBOFF, TTRHBuilder = initialStepSeeds.TTRHBuilder, forceKinematicWithRegionDirection = initialStepSeeds.forceKinematicWithRegionDirection, magneticField = initialStepSeeds.magneticField, propagator = initialStepSeeds.propagator,
extraHitRPhitolerance = detachedQuadStepHitTriplets.extraHitRPhitolerance, maxChi2 = dict( pt1 = 0.8, pt2 = 2, value1 = 500, value2 = 100, enabled = True, ), extraPhiTolerance = dict( pt1 = 0.4, pt2 = 1, value1 = 0.2, value2 = 0.05, enabled = True, ), useBendingCorrection = True, fitFastCircle = True, fitFastCircleChi2Cut = True, ) trackingPhase1QuadProp.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadruplets_propagation) # QUALITY CUTS DURING TRACK BUILDING import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff _detachedQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone( minimumNumberOfHits = 3, minPt = 0.075, ) detachedQuadStepTrajectoryFilterBase = _detachedQuadStepTrajectoryFilterBase.clone( maxCCCLostHits = 0, minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose') ) trackingPhase2PU140.toReplaceWith(detachedQuadStepTrajectoryFilterBase, _detachedQuadStepTrajectoryFilterBase.clone( maxLostHitsFraction = 1./10.,
eta=[0.0], phi=[3.0], ))) pixelPairStepHitDoubletsB = pixelPairStepHitDoublets.clone( seedingLayers="pixelPairStepSeedLayersB", trackingRegions="pixelPairStepTrackingRegionsB", ) pixelPairStepSeedsB = pixelPairStepSeedsA.clone( seedingHitSets="pixelPairStepHitDoubletsB") # Merge from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi import globalCombinedSeeds as _globalCombinedSeeds _pixelPairStepSeedsMerged = _globalCombinedSeeds.clone( seedCollections=["pixelPairStepSeedsA", "pixelPairStepSeedsB"], ) trackingPhase1.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged) trackingPhase1QuadProp.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged) # 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)
maxChi2 = dict( 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) # 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)
tobTecStep.inputClassifiers = [ 'tobTecStepClassifier1', 'tobTecStepClassifier2' ] from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp trackingPhase1.toReplaceWith( tobTecStep, tobTecStepClassifier1.clone( mva=dict(GBRForestLabel='MVASelectorTobTecStep_Phase1'), qualityCuts=[-0.6, -0.45, -0.3], )) trackingPhase1QuadProp.toReplaceWith( tobTecStep, tobTecStepClassifier1.clone( mva=dict(GBRForestLabel='MVASelectorTobTecStep_Phase1'), qualityCuts=[-0.6, -0.45, -0.3], )) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi trackingLowPU.toReplaceWith( tobTecStep, RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector. clone( src='tobTecStepTracks', useAnyMVA=cms.bool(False), GBRForestLabel=cms.string('MVASelectorIter6'), trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS. clone(name='tobTecStepLoose',
initialStepTrackCandidatesPreSplitting* initialStepTracksPreSplitting* firstStepPrimaryVerticesPreSplitting* initialStepTrackRefsForJetsPreSplitting* caloTowerForTrkPreSplitting* ak4CaloJetsForTrkPreSplitting* jetsForCoreTrackingPreSplitting* siPixelClusters* siPixelRecHits* MeasurementTrackerEvent* siPixelClusterShapeCache) _InitialStepPreSplitting_trackingPhase1 = InitialStepPreSplitting.copy() _InitialStepPreSplitting_trackingPhase1.replace(initialStepHitTripletsPreSplitting, initialStepHitTripletsPreSplitting*initialStepHitQuadrupletsPreSplitting) 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.
_seedProducers_trackingPhase1, globals()) (_seedSelectors_trackingPhase1QuadProp, _trackingNtupleSeedSelectors_trackingPhase1QuadProp ) = _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
detachedTripletStepClassifier1.qualityCuts = [-0.5,0.0,0.5] detachedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone() detachedTripletStepClassifier2.src = 'detachedTripletStepTracks' detachedTripletStepClassifier2.mva.GBRForestLabel = 'MVASelectorIter0_13TeV' detachedTripletStepClassifier2.qualityCuts = [-0.2,0.0,0.4] from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * detachedTripletStep = ClassifierMerger.clone() detachedTripletStep.inputClassifiers=['detachedTripletStepClassifier1','detachedTripletStepClassifier2'] trackingPhase1.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone( mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'), qualityCuts = [-0.2,0.3,0.8], )) trackingPhase1QuadProp.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone( mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'), qualityCuts = [-0.2,0.3,0.8], )) # For LowPU import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'detachedTripletStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter3'), trackSelectors = [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'detachedTripletStepVtxLoose', chi2n_par = 1.6, res_par = ( 0.003, 0.001 ), minNumberLayers = 3, d0_par1 = ( 1.2, 3.0 ),
jetCoreRegionalStep.mva.minLayers = [3,5,5] jetCoreRegionalStep.mva.min3DLayers = [1,2,3] jetCoreRegionalStep.mva.maxLostLayers = [4,3,2] jetCoreRegionalStep.mva.maxDz = [0.5,0.35,0.2]; jetCoreRegionalStep.mva.maxDr = [0.3,0.2,0.1]; jetCoreRegionalStep.vertices = 'firstStepGoodPrimaryVertices' from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * trackingPhase1.toReplaceWith(jetCoreRegionalStep, TrackMVAClassifierPrompt.clone( src = 'jetCoreRegionalStepTracks', mva = dict(GBRForestLabel = 'MVASelectorJetCoreRegionalStep_Phase1'), qualityCuts = [-0.2,0.0,0.4], )) trackingPhase1QuadProp.toReplaceWith(jetCoreRegionalStep, TrackMVAClassifierPrompt.clone( src = 'jetCoreRegionalStepTracks', mva = dict(GBRForestLabel = 'MVASelectorJetCoreRegionalStep_Phase1'), qualityCuts = [-0.2,0.0,0.4], )) fastSim.toModify(jetCoreRegionalStep,vertices = "firstStepPrimaryVerticesBeforeMixing") # Final sequence JetCoreRegionalStepTask = cms.Task(jetsForCoreTracking, firstStepGoodPrimaryVertices, #jetCoreRegionalStepClusters, jetCoreRegionalStepSeedLayers, jetCoreRegionalStepTrackingRegions, jetCoreRegionalStepHitDoublets, jetCoreRegionalStepSeeds, jetCoreRegionalStepTrackCandidates, jetCoreRegionalStepTracks, # jetCoreRegionalStepClassifier1,jetCoreRegionalStepClassifier2,
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * lowPtTripletStep = TrackMVAClassifierPrompt.clone() lowPtTripletStep.src = 'lowPtTripletStepTracks' lowPtTripletStep.GBRForestLabel = 'MVASelectorIter1_13TeV' lowPtTripletStep.qualityCuts = [-0.6, -0.3, -0.1] trackingPhase1.toReplaceWith( lowPtTripletStep, lowPtTripletStep.clone( GBRForestLabel='MVASelectorLowPtTripletStep_Phase1', qualityCuts=[0.0, 0.2, 0.4], )) trackingPhase1QuadProp.toReplaceWith( lowPtTripletStep, lowPtTripletStep.clone( GBRForestLabel='MVASelectorLowPtTripletStep_Phase1', qualityCuts=[0.0, 0.2, 0.4], )) # For LowPU and Phase2PU140 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='lowPtTripletStepTracks', useAnyMVA=cms.bool(False), GBRForestLabel=cms.string('MVASelectorIter1'), trackSelectors=[ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='lowPtTripletStepLoose', ), #end of pset RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( name='lowPtTripletStepTight',
from RecoTracker.IterativeTracking.LowPtTripletStep_cff import lowPtTripletStep initialStepClassifier2 = detachedTripletStepClassifier1.clone() initialStepClassifier2.src = 'initialStepTracks' initialStepClassifier3 = lowPtTripletStep.clone() initialStepClassifier3.src = 'initialStepTracks' from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * initialStep = ClassifierMerger.clone() initialStep.inputClassifiers=['initialStepClassifier1','initialStepClassifier2','initialStepClassifier3'] trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone( GBRForestLabel = 'MVASelectorInitialStep_Phase1', qualityCuts = [-0.95,-0.85,-0.75], )) trackingPhase1QuadProp.toReplaceWith(initialStep, initialStepClassifier1.clone( GBRForestLabel = 'MVASelectorInitialStep_Phase1', qualityCuts = [-0.95,-0.85,-0.75], )) # For LowPU and Phase1PU70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src = 'initialStepTracks', useAnyMVA = cms.bool(False), GBRForestLabel = cms.string('MVASelectorIter0'), trackSelectors = [ RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'initialStepLoose', ), #end of pset RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( name = 'initialStepTight', preFilterName = 'initialStepLoose',