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_MCParticles
interface fromLHCb::MCParticles
->LHCb::MCParticle::Range
that will accept not only the legacy typeLHCb::MCParticles
but also the new typeLHCb::MCParticle::Selection
. This new typeLHCb::MCParticle::Selection
is created to avoid unnecessary clones in MCParticles. -
New functorcollections
forMC_Reconstrutible
andMC_ReconstructedTrack
. -
When an array variable (e.g. "Track_NUTHITS[nRecoTracks]": MCP2TRACK.nUTHits
) is added to the special fieldALL
, the indexnRecoTracks
can 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