Skip to content

Changes supporting the new ThOr::Combiner<T>

Niklas Stefan Nolte requested to merge olupton_nn_combiners into master

This works together with

Improvements:

  • ThOr functor framework:
    • Generated C++ code prefers operatorOP( a, b ) to a OP b to avoid some expressions being parsed in surprising ways
    • Generated C++ code expresses integer constants as std::integer_constant, enabling more compile-time dispatch
    • Allow Python-side functors to opt into having multiple positional arguments, enabling e.g. DOCACHI2(1, 2)
  • Extend the MakeZip algorithm to optionally wrap its output up in a specific type, such as a variant.
  • Forward Sel::Utils::*variant* helpers to LHCb::*variant* ones
  • Make ThOr [MAX]DOCA[CHI2]CUT functors more consistently named
  • Add SIMD-friendly versions of calculations such as docachi2
  • Rework Sel::ParticleCombination to support variant types

Removals:

  • Remove usage of the now-dropped unwrapping feature of LHCb::Pr::Zip
  • Remove CombineTracks algorithm, replacing it with CombineTracksSIMD in the few places it still existed
Edited by Niklas Stefan Nolte

Merge request reports