Draft: Generalisation of vertexing for N-track SVs
This MR is a continuation of !1502 (merged) and aims to generalize the vertexing of N-body secondary vertices (SVs) in Allen for N > 2.
So far there exist different ad-hoc vertexing algorithms for 3-body and 4-body SVs (see for instance Particle Combiners) which are uncompleted. Indeed, a vertex fit is not performed and some key variables are not available (\chi^2, ndfs, DOCAs...). The objects returned by these algorithms are not standard SVs (in Allen language, Allen::Views::Physics::CompositeParticles) so the selections relying on the output of these algorithms are hard-coded. This presents an issue to work towards a more general vertexing in HLT1.
We propose a more general vertexing algorithm which works as a SV + track maker, returning a SV of type Allen::Views::Physics::CompositeParticles. Some methods of this class have been generalized in order to account for N-track SV variables. In addition, the input and output of our algorithm is the same object, which allows to generalize building a N-track SV from (N-1)-track SV and a track.