Analysis of the ALICE ope-data can now be down in pure Rust! Check out alice-rs.
This crate contains the bindgen generated bindings to a c++ object which reads the data from disk.
The c++ class is automatically generated by ROOT's TTree::MakeClass
function specifically for the Event-Summary-Data (ESD) data format at hand.
I disabled the majority of the unneeded columns (branches) in the c++
files. I would love to be able to enable/disable branches from the Rust side. I am toying with the idea of having some sort of a macro which enables specific branches and then implements a trait to access them. Alternatively, it would be awesome to actually do the IO in pure rust using nom
, but that seems far away at this point.
The compilation of this crate requires a ROOT 6 installation.