A generic framework for producing tabular data for analysis from IceCube data files.
The I3 file format is excellent for passing data from module to module during data processing, but is a terrible format for analysis and plotting. For these tasks, it is often more convenient to dump a subset of the physics data contained in an I3 file to a format that can be easily read in to one’s analysis tool of choice, such as HDF5 or ROOT files, or even plain text. A number of projects, including analysis-tree, flat-ntuple, hdf5booker, and hdf-writer, were created over the years to extract physics data from I3 files. This kind of diversity is actually a problem, as it inhibits communication between analyzers using different booking tools. In addition, many previous attempts at booking were difficult to modify and extend without replacing large swaths of their internal code.
This project was designed to create a single, generic booking framework that is modular in both input and output. In addition, it allows coders to document any calculations they make by assigning units and a documentation string to every field.
Writing data to a table involves three components:
The modularity of the design comes in three parts:
Table of Contents: