Improve MuonID code
Following the temporary lack of MuonDLL, I'll summarize here some issues that I saw while looking at it:
-
Implement new MuonDLL. -
Fix flags for IsMuon,IsMuonTight, etc. There is a unhealthy mix here: https://gitlab.cern.ch/lhcb/LHCb/-/blob/master/Event/RecEvent/include/Event/MuonPIDs_v2.h#L28, i.e. theStatusfield is designed to hold all of these flags, but effectively is only filled forIsMuon, and the others are filled into their dedicated field e.g. https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Muon/MuonID/src/component/MuonIDHlt1Alg.cpp#L474 However, when the flags are checked e.g. here: https://gitlab.cern.ch/lhcb/LHCb/-/blob/master/Event/RecEvent/include/Event/MuonPIDs_v2.h#L54. This needs to be changed to all use theStatusfield with flags. Addressed here: !2785 (merged) and LHCb!3468 (merged). -
Use BinomialCountere.g. here: https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Muon/MuonID/src/component/MuonIDHlt1Alg.cpp#L483. Addressed here: !2785 (merged) -
The class name Hlt1MuonIDAlgis calledHlt2MuonIDAlgfor its HLT2 instance. Very confusing.... Addressed here Moore!1455 (merged) and here !2785 (merged) -
Both instances of Hlt2MuonIDAlgin Moore are calledHlt2MuonIDAlg(with the framework adding a#1to one). Name them uniquely to see what is for Long tracks, downstream tracks, etc. -
Using the full object here: https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Muon/MuonID/src/component/MuonIDHlt1Alg.cpp#L420 is an overkill, one only needs a status field and a value for Chi2Corr. Addressed here: !2785 (merged)
Edited by Carla Marin Benito