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. theStatus
field 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 theStatus
field with flags. Addressed here: !2785 (merged) and LHCb!3468 (merged). -
Use BinomialCounter
e.g. here: https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Muon/MuonID/src/component/MuonIDHlt1Alg.cpp#L483. Addressed here: !2785 (merged) -
The class name Hlt1MuonIDAlg
is calledHlt2MuonIDAlg
for its HLT2 instance. Very confusing.... Addressed here Moore!1455 (merged) and here !2785 (merged) -
Both instances of Hlt2MuonIDAlg
in Moore are calledHlt2MuonIDAlg
(with the framework adding a#1
to 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