Skip to content

Dummy producers, functor factory tweaks and improved dump-to-tuple support

Olli Lupton requested to merge olupton_dummy_producers into master

Depends on LHCb!2209 (merged), used by Moore!302 (merged).

  • Follow changes in LHCb!2209 (merged)
  • Add DumpContainer algorithm and factor out tuple-making boilerplate from that and CombineTracks into a new with_output_tree mixin.
  • Add with_functor_maps_deduplicated helper on top of with_functor_maps mixin; this is used in with_output_tree but might be useful elsewhere.
  • Functor factory tweaks:
    • Throw an exception when at least one of cling and cache is enabled and a functor could not be retrieved.
    • When generating the functor cache, write to all available files to ensure old contents are overwritten.
    • Tweak cling interaction to make sure code optimisation is picked up.
  • Add X, Y, Z, TX, TY, COV, NDOF, QOVERP and CLOSESTTOBEAM functors and tests for them.

I removed some functor benchmarking changes from this MR as they were less mature (see ongoing discussion at https://root-forum.cern.ch/t/cling-jit-ed-code-speed-interaction-with-shared-libraries/36711)

cc: @sstahl @nnolte

Edited by Olli Lupton

Merge request reports