-
Notifications
You must be signed in to change notification settings - Fork 10
Description
At the moment there's no way to tell which low-level (detector-specific) object(s) a SRRecoParticle was made from. This is often information needed to make further high-level decisions.
I attemped (in branch feature/reco_linkage) a structure where every low-level CAF reco object would inherit from a base class, and the SRRecoParticle would maintain a pointer back to it. Unfortunately that isn't compatible with SRProxy, which only understands POD types (and vectors of them), nor with flat CAFs, which want to serialize the values in every branch to POD types.
I also have considered a structure where SRRecoParticles maintain something like the SRNDLArID (etc.) that gives the relevant indicies back to their reco-obj-of-origin. The trouble with this is that this object-of-origin could be anywhere in the StandardRecord and we'd have to do some very unwieldy thing that can map out all the possible places it could live.