Hello, should we probably target having a consistent set of functors to access the subdetector acceptance information? Such as hasCalo, hasRich, hasMuon in Run 2?
Yes we should think about the naming scheme. The names should try to reflect the precise meaning of these flags, which we should find out from the subdetector/algorithm people. In and Has have subtly different meanings in my [naive] picture.
During the development @yingl found that implementing HasMuon functor would need additional changes in the MuonPID code itself as no specific function corresponding to Run2 information is not present in the current code.
I also think that having both for the muon is a bit redundant.
InMuonAcceptance is filled if a track has p>3GeV and the extrapolation goes inside the muon acceptance. If this criteria are not met there is no sense in having a MuonPID. I don't think a specific functor for the momentum is needed because is a trivial check. So for the muon system there is only a muonPID if it is in the acceptance. So InMuon and HasMuon are the same thing.
For other subdetectors, do InCalo/InRich and HasCalo/HasRich exist?
Maybe for the sake of consistency with the other subdetectors, the Run2 InMuon functor needs to be renamed HasMuon in Run3