Port MCParticle and MCVertex unpackers to functional
As discussed in Rec!1773 (merged), the MCParticle
and MCVertex
unpackers are not functional. It's not trivial to make them functional because the particle and vertex objects each refer to each other via SmartRef
links, so there is a circular data dependency.
Seeing as one generally wants both MC particles and vertices, it might make the logic easier to have a single algorithm that takes packed particles and vertices as input, and outputs unpacked particles and vertices. The problem with this idea today is that the SmartRef
links rely on knowing the TES location of the referenced object, and I don't know if this is available within the algorithm. Perhaps some framework support is needed (or the MC object model needs to be refined).