RootStorageSvc+RootAuxDynIO: Restructure RNTuple writing
In the current implementation, RootAuxDynIO/RNTupleAuxDynWriter
takes care of writing both generic data and xAOD
specific data. This MR splits this into two:
-
RootStorageSvc/RNTupleWriterHelper
is a concrete class that wraps around the vanillaRNTupleWriter
and takes care of writing generic data, -
RootAuxDynIO/RNTupleAuxDynWriter
is simplified to the collection ofxAOD
specific data, which is later on pass to and written by the former.
The former doesn't implement an interface as I don't see much of a point to it at this point. The eventual goal is to revert the dependency structure such that RootAuxDynIO
depends on RootStorageSvc
and not vice versa (current approach). We can probably accomplish that by accessing the helper class (via an interface or other means) in RootAuxDynIO
and filling in the data that should be written out. It should be relatively easy to do this w/ RNTuple
but might be more tricky for TTree
. That would require a major rethinking/rework, which is out of the scope of this MR.
Let's keep this as draft and discuss how we think about it. If people are generally happy, I can clean up/fine-tune things etc.