Skip to content

support selections on contiguous containers (e.g. vector<v2 Track>...)

Olli Lupton requested to merge olupton_pr_filter_container into master

See task 3 in these slides.

  • Add class Pr::Selection<T> to support selections on contiguous storage containers (i.e. LHCb::span<T>). This is implemented as span + vector of indices.
  • Add tests for Pr::Selection<T>.

Add two algorithms:

  • One (Pr::Filter<T>) that applies a selection cut to Pr::Selection<T> input, producing another Pr::Selection<T>. The selection cut is specified via LoKi. This MR depends on !1285 (merged) so that LoKi cuts can be applied to v2::Track objects.
  • One (Pr::MakeSelection<T>) that creates a Pr::Selection<T> from std::vector<T>, accepting all elements. This is needed for gluing things together until there is explicit support in Gaudi. It is instantiated for v1::Track and v2::Track.

Extra minor changes:

  • Instantiate PrCheckEmptyFilter for v1::Track and v2::Track

cc: @sstahl @graven @pseyfert

Edited by Marco Cattaneo

Merge request reports