Skip to content

splitting n-tuple making from CP algorithms into multiple algorithms

Nils Erik Krumnack requested to merge krumnack/athena:tree_output_alg into 21.2

The goal here is to make it easier to write out more complex n-tuple configurations without having to write your own n-tuple writing algorithms, or indeed without having to fudge the systematics a lot. Thankfully this turned out a lot simpler than I thought, essentially all the logic needed is already in the algorithm base class. It may still be worthwhile to add something like an OutputTreeHandle to hold some of the common code (and to ensure we can actually work with multiple output streams, etc.).

This is mostly a prototype for discussion/review. In particular we had a discussion whether to go this way or to use tools instead. If we decide to go with this MR we will have to update the test/example files for the other object types as well (only did muons so far).

If we go with this, ideally I'd also like to update the mini-xAOD writing in the same fashion, but I'm afraid that may require some more work (I'd have to check, maybe that is also straightforward).

Edited by Nils Erik Krumnack

Merge request reports