Crate root_io[][src]


This crate provides a way to retrieve data saved in the ROOT binary format commonly used in particle physics experiments. This library provides the basic means to inspect and process the contents of arbitrary ROOT files. Root-io provides a simple mean to read data stored in so-called TTrees. The goal of this library is primarily to make the data published by the ALICE collaboration accessible in pure Rust. An example of its usage for that purpose is demonstrated as an example analysis.

The API surface is deliberately small to make the processing of said files as easy as possible. If you are looking for a particular parser chances have it that it exists but it is not marked as pub.



This module contains the core structs and parsers needed to read the self-description of a root file. These parsers can be used to build new parsers using the root-ls cli.


A convenience wrapper and needed parsers to work with ROOT's TTrees. A Tree may be thought of as a table where each row represents a particle collision. Each column may contain one or several elements per collision. This module provides two Iterator structs in order to iterate over these columns (TBranches in ROOT lingo).




Zip n streams together analogous to the zip() function. This is useful when iterating over multiple branches of a TTree. See the examples of this crate for the suggested use-case.



Describes a single item within this file (e.g. a Tree)


RootFile wraps the most basic information of a ROOT file.


The source from where the Root file is read. Construct it using .into() on a Url or Path. The latter is not availible for the wasm32 target.