Implement the NTuple::Writer and NTuple::GenericWriter algorithms for thread-safe NTuple writing
Compare changes
Files
14@@ -28,6 +28,7 @@ namespace details {
@@ -49,6 +50,8 @@ public:
The NTuple writer is a Gaudi algorithm for writing data of any type from N locations in the event store to a TTree. It allows users to write data from various locations within the event store into a ROOT TTree structure dynamically creating branches leveraging ROOT's dynamic typing and I/O capabilities to support a range of data types based on either runtime or compile-time configurations.
NTuple::GenericWriter
: This class represents an algorithm that dynamically creates branches based on runtime information. It is intended for scenarios where the exact configuration of the TTree branches is determined when configuring the Gaudi application itself. It allows users to specify N input data types and their corresponding locations in the event store to construct matching TTree branches.NTuple::Writer
: This class represents a compile-time configured algorithm, inheriting from Gaudi::Functional::Consumer
. It requires a transformation function to convert input data into a specific output format allowing it to deal with an arbitrary number of inputs and to also write to the file an arbitrary number of outputs. It relies on templates to define the structure and data transformations at compile time.The merge request includes both pytest and Boost frameworks for unit and integration tests.