3.8. Data-Product WritersΒΆ
Writers write both (user-defined) data products and (framework- and user-defined) metadata to persistent output [DUNE 17]. Files written to by writers can be read using providers, through the same IO back end [DUNE 19]. The metadata written by writers is sufficient to allow the reproduction of the processing that created the written data [DUNE 28]. This means that, for example, the full configuration of the framework executable is included in the written metdata.
Writers use the same IO API as providers, ensuring that the only communication with the IO system is through the IO API. This allows the framework to support multiple IO back ends, including ROOT [DUNE 74] and HDF5 [DUNE 141], and ensure that new back ends can be added without modifying the framework code [DUNE 73]. The workflow shown in Fig. 3.1 shows an example with the write algorithm writing data products to a ROOT back end.