Skip to content

WIP shiny combiny

Niklas Stefan Nolte requested to merge NN_combiner into master

functional substitute for combineparticles/nbodydecays (2,3,4 body).
uses @olupton's ThOr functors.
it is by no means feature complete, but its good enough for further development (given that we have the required functors available, which is the next todo).
It supports mother/daughter cuts similar to how combineparticles does, and a seemingly peculiar set of combination cuts:

  • cut<12> (a combination cut between the first and the second particle in the decay descriptor)
  • (for 3 and 4 body only) cut<13>
  • (for 3 and 4 body only) cut<123>
  • (for 4 body only) cut<1234>
  • (for 4 body only) cut<14>
    For reference: N<M>BodyDecays supports {cut<12>, cut<123>, ..., cut<123..m>}
    So the addition in this combiner is basically cut<13> and cut<14>.
    This is because of the loop implementation.

signature: list of SharedParticleContainers --> std::vector<LHCb::Vertex> and std::vector<LHCb::Particle>.

it has some leftover TODOs, but i think this is a mergable first iteration.

The optimizations that would/will make this stage fast are:

  • efficient implementations for complicated functors like DOCACHI2 (implies suitable particle class design)
  • an efficient vertex fit (probably implies suitable particle class design, not as much as the functors though)
  • an efficient way to check for overlaps between particles (see the CheckOverlapTool)

depends on Rec!1728 (merged)

Edited by Niklas Stefan Nolte

Merge request reports