Dummy producers, functor factory tweaks and improved dump-to-tuple support
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 andCombineTracks
into a newwith_output_tree
mixin. - Add
with_functor_maps_deduplicated
helper on top ofwith_functor_maps
mixin; this is used inwith_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
andCLOSESTTOBEAM
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)
Edited by Olli Lupton