HDF5 at NOvA

HDF5 integration into the NOvA ecosystem is currently underway and is expected to develop rapidly. This documentation will mutate as that development progresses. Be sure to check back often if you are currently making use of HDF5 in your work.

This disclaimer will be removed once things stabalize.

What is HDF5?

HDF is the Hierarchical Data Format, a file format which is designed to store large data in a self-describing and file-system-like way. The number "5" refers to the version of the format, which is currently version 5. This version number will not often change.

HDF5 is a file format specification, just as ROOT is a file format specification (among other things). The difference between them lies primarily in the way they store data and the tools they provide to interact with the format.

HDF5 at NOvA

Text under development...


The ART module used to produce an HDF5 file from a PID file is called HDF5Maker. It can be found in the HDF5Maker package in the offline codebase:

Text under development...

Inspecting an HDF5 file

GUI Tools

The HDF Group maintains a GUI tool called HDFView which can be used to examine HDF5 files. It is sort of analogous to ROOT's TBrowser.

CLI Tools

Useful links

HDF Home - The HDF Group
The HDF Group is a non-profit organization with the mission of advancing state-of-the-art open source data management technologies, ensuring long-term access to the data, and supporting our dedicated and diverse user community.

HDF Wikipedia page
"Hierarchical Data Format (HDF) is a set of file formats (HDF4, HDF5) designed to store and organize large amounts of data..."

HDF5 for Python
The h5py package is a Pythonic interface to the HDF5 binary data format.