diff --git a/DataFormats/GsfTrackReco/src/classes_def.xml b/DataFormats/GsfTrackReco/src/classes_def.xml index ad1a5387eac24..c38f956481dcb 100644 --- a/DataFormats/GsfTrackReco/src/classes_def.xml +++ b/DataFormats/GsfTrackReco/src/classes_def.xml @@ -24,7 +24,8 @@ - + + diff --git a/DataFormats/TrackReco/interface/TrackBase.h b/DataFormats/TrackReco/interface/TrackBase.h index 0d63f8940ff88..97e448e600fe0 100644 --- a/DataFormats/TrackReco/interface/TrackBase.h +++ b/DataFormats/TrackReco/interface/TrackBase.h @@ -126,7 +126,17 @@ class TrackBase hltIter4 = 35, // steps used by all other objects @HLT hltIterX = 36, - algoSize = 37 + // steps used by HI muon regional iterative tracking + hiRegitMuInitialStep = 37, + hiRegitMuLowPtTripletStep = 38, + hiRegitMuPixelPairStep = 39, + hiRegitMuDetachedTripletStep = 40, + hiRegitMuMixedTripletStep = 41, + hiRegitMuPixelLessStep = 42, + hiRegitMuTobTecStep = 43, + hiRegitMuMuonSeededStepInOut = 44, + hiRegitMuMuonSeededStepOutIn = 45, + algoSize = 46 }; /// algo mask diff --git a/DataFormats/TrackReco/interface/trackAlgoPriorityOrder.h b/DataFormats/TrackReco/interface/trackAlgoPriorityOrder.h index a88dda324c50b..8c982f4038a59 100644 --- a/DataFormats/TrackReco/interface/trackAlgoPriorityOrder.h +++ b/DataFormats/TrackReco/interface/trackAlgoPriorityOrder.h @@ -58,7 +58,16 @@ namespace impl { reco::TrackBase::hltIter2, reco::TrackBase::hltIter3, reco::TrackBase::hltIter4, - reco::TrackBase::hltIterX + reco::TrackBase::hltIterX, + reco::TrackBase::hiRegitMuInitialStep, + reco::TrackBase::hiRegitMuPixelPairStep, + reco::TrackBase::hiRegitMuMixedTripletStep, + reco::TrackBase::hiRegitMuPixelLessStep, + reco::TrackBase::hiRegitMuDetachedTripletStep, + reco::TrackBase::hiRegitMuMuonSeededStepInOut, + reco::TrackBase::hiRegitMuMuonSeededStepOutIn, + reco::TrackBase::hiRegitMuLowPtTripletStep, + reco::TrackBase::hiRegitMuTobTecStep }; static_assert(reco::TrackBase::algoSize == sizeof(algoPriorityOrder)/sizeof(unsigned int), "Please update me too after adding new enumerators to reco::TrackBase::TrackAlgorithm"); diff --git a/DataFormats/TrackReco/src/TrackBase.cc b/DataFormats/TrackReco/src/TrackBase.cc index 8d251ce439705..c37c1296a9aaa 100644 --- a/DataFormats/TrackReco/src/TrackBase.cc +++ b/DataFormats/TrackReco/src/TrackBase.cc @@ -43,7 +43,16 @@ std::string const TrackBase::algoNames[] = { "hltIter2", "hltIter3", "hltIter4", - "hltIterX" + "hltIterX", + "hiRegitMuInitialStep", + "hiRegitMuLowPtTripletStep", + "hiRegitMuPixelPairStep", + "hiRegitMuDetachedTripletStep", + "hiRegitMuMixedTripletStep", + "hiRegitMuPixelLessStep", + "hiRegitMuTobTecStep", + "hiRegitMuMuonSeededStepInOut", + "hiRegitMuMuonSeededStepOutIn" }; std::string const TrackBase::qualityNames[] = { diff --git a/DataFormats/TrackReco/src/classes_def.xml b/DataFormats/TrackReco/src/classes_def.xml index abdb892608c7e..14bf7f7ba2496 100644 --- a/DataFormats/TrackReco/src/classes_def.xml +++ b/DataFormats/TrackReco/src/classes_def.xml @@ -7,7 +7,8 @@ - + + @@ -315,7 +316,8 @@ - + + diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py index 626477decf4be..e1902abb8f1c2 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py @@ -64,29 +64,37 @@ # fitting: feed new-names hiRegitMuDetachedTripletStepTracks = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuDetachedTripletStep'), src = 'hiRegitMuDetachedTripletStepTrackCandidates' ) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuDetachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src ='hiRegitMuDetachedTripletStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter7'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuDetachedTripletStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuDetachedTripletStepTight', preFilterName = 'hiRegitMuDetachedTripletStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.2) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( name = 'hiRegitMuDetachedTripletStep', preFilterName = 'hiRegitMuDetachedTripletStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.09) ) ) #end of vpset ) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py index 722a7224263ec..eec5c0e42ae5c 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonInitialStep_cff.py @@ -55,29 +55,37 @@ # fitting: feed new-names hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuInitialStep'), src = 'hiRegitMuInitialStepTrackCandidates' ) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuInitialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src ='hiRegitMuInitialStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter4'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuInitialStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), #end of pset - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuInitialStepTight', preFilterName = 'hiRegitMuInitialStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.38) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( name = 'hiRegitMuInitialStep', preFilterName = 'hiRegitMuInitialStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.77) ), ) #end of vpset ) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonLowPtTripletStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonLowPtTripletStep_cff.py index 865697aed4683..4128eb676c05a 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonLowPtTripletStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonLowPtTripletStep_cff.py @@ -76,29 +76,37 @@ # fitting: feed new-names hiRegitMuLowPtTripletStepTracks = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuLowPtTripletStep'), src = 'hiRegitMuLowPtTripletStepTrackCandidates' ) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuLowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuLowPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src ='hiRegitMuLowPtTripletStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter5'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'relpterr', 'nhits', 'nlayers', 'eta']), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuLowPtTripletStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), #end of pset - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone( name = 'hiRegitMuLowPtTripletStepTight', preFilterName = 'hiRegitMuLowPtTripletStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.58) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuLowPtTripletStep', preFilterName = 'hiRegitMuLowPtTripletStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(0.35) ), ) #end of vpset ) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py index 698e57700e598..6f8d88e12ee1e 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py @@ -94,30 +94,38 @@ # fitting: feed new-names hiRegitMuMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuMixedTripletStep'), src = 'hiRegitMuMixedTripletStepTrackCandidates', ) # TRACK SELECTION AND QUALITY FLAG SETTING. import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuMixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src = 'hiRegitMuMixedTripletStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter7'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuMixedTripletStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuMixedTripletStepTight', preFilterName = 'hiRegitMuMixedTripletStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.2) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( name = 'hiRegitMuMixedTripletStep', preFilterName = 'hiRegitMuMixedTripletStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.09) ) ) #end of vpset ) #end of clone diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py index 2ccfb72018fdd..d9cdd2ed17d83 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelLessStep_cff.py @@ -71,28 +71,36 @@ # fitting: feed new-names hiRegitMuPixelLessStepTracks = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuPixelLessStep'), src = 'hiRegitMuPixelLessStepTrackCandidates' ) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuPixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuPixelLessStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src ='hiRegitMuPixelLessStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter7'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']), trackSelectors = cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuPixelLessStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuPixelLessStepTight', preFilterName = 'hiRegitMuPixelLessStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.2) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( name = 'hiRegitMuPixelLessStep', preFilterName = 'hiRegitMuPixelLessStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.09) ), ) #end of vpset ) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py index f8b9813aa15d6..e247d0a391b0e 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py @@ -75,30 +75,38 @@ # fitting: feed new-names hiRegitMuPixelPairStepTracks = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuPixelPairStep'), src = 'hiRegitMuPixelPairStepTrackCandidates', clustersToSkip = cms.InputTag('hiRegitMuPixelPairStepClusters'), ) import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuPixelPairStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src ='hiRegitMuPixelPairStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter6'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuPixelPairStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), #end of pset - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuPixelPairStepTight', preFilterName = 'hiRegitMuPixelPairStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.58) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( name = 'hiRegitMuPixelPairStep', preFilterName = 'hiRegitMuPixelPairStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(0.77) ), ) #end of vpset ) diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonTobTecStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonTobTecStep_cff.py index 86537e22bf510..ea8e8a2d40e80 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonTobTecStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonTobTecStep_cff.py @@ -92,29 +92,36 @@ # fitting: feed new-names hiRegitMuTobTecStepTracks = RecoTracker.IterativeTracking.TobTecStep_cff.tobTecStepTracks.clone( - AlgorithmName = cms.string('undefAlgorithm'), + AlgorithmName = cms.string('hiRegitMuTobTecStep'), src = 'hiRegitMuTobTecStepTrackCandidates' ) -# import RecoHI.HiTracking.hiMultiTrackSelector_cfi import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi -hiRegitMuTobTecStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( +import RecoHI.HiTracking.hiMultiTrackSelector_cfi +hiRegitMuTobTecStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src ='hiRegitMuTobTecStepTracks', vertices = cms.InputTag("hiSelectedVertex"), + useAnyMVA = cms.bool(True), + GBRForestLabel = cms.string('HIMVASelectorIter7'), + GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']), trackSelectors= cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name = 'hiRegitMuTobTecStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name = 'hiRegitMuTobTecStepTight', preFilterName = 'hiRegitMuTobTecStepLoose', - qualityBit = cms.string('loose'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.2) ), - RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone( + RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone( name = 'hiRegitMuTobTecStep', preFilterName = 'hiRegitMuTobTecStepTight', - qualityBit = cms.string('tight'), + min_nhits = cms.uint32(8), + useMVA = cms.bool(True), + minMVA = cms.double(-0.09) ), ) #end of vpset