Change from MCParticles to MCParticleRange in FunTuple and some fix for the new MC Track functors
Moving from previous MR that got merged accidentally.
This MR contains following changes:
-
Change FunTuple_MCParticlesinterface fromLHCb::MCParticles->LHCb::MCParticle::Rangethat will accept not only the legacy typeLHCb::MCParticlesbut also the new typeLHCb::MCParticle::Selection. This new typeLHCb::MCParticle::Selectionis created to avoid unnecessary clones in MCParticles. -
New functorcollectionsforMC_ReconstrutibleandMC_ReconstructedTrack. -
When an array variable (e.g. "Track_NUTHITS[nRecoTracks]": MCP2TRACK.nUTHits) is added to the special fieldALL, the indexnRecoTrackscan be different for different particles in the tree. As a result, prepend the user specified particle name to the index i.e.Track_NUTHITS[nRecoTracks]->piminus_Track_NUTHITS[piminus_nRecoTracks].
To be tested with: Moore!1759 (merged) DaVinci!716 (merged) and Rec!2979 (merged)
Work towards DPA task https://gitlab.cern.ch/lhcb-dpa/project/-/issues/121.
Edited by Jiahui Zhuo