NERSCPowering Scientific Discovery Since 1974

ROOT

ROOT provides a set of object oriented frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Originally designed for particle physics, its usage has extended to other data-intensive fields like astrophysics and neuroscience. ROOT is written in C++ and uses an indexed tree format as it base data unit, with substructures called branches and leaves. ROOT is mainly used for data analysis at NERSC.

How to Use ROOT

You can access ROOT interactively on NERSC systems with

module swap PrgEnv-intel PrgEnv-gnu
module load root
root

You can also run ROOT jobs using the batch system. This is the best way to do long running data processing. Here's a sample batch script for running on Edison :

#!/bin/bash -l
#SBATCH -t 00:30:00

cd $SLURM_SUBMIT_DIR

module swap PrgEnv-intel PrgEnv-gnu
module load root

root -q -b your_script.C

Performance may be improved by adding one or two  '+' signs to the end of their macro (where '+' only compiles if the module is changed and '++') forces compilation.  

 root -b your_script.C++

Users can also create a compiled executable by linking with the ROOT libraries, e.g with gcc.

g++ -I$ROOTSYS/include -o output/file/path.o -c input/file/source.cxx `$ROOTSYS/bin/root-config --glibs`

Documentation

There is a lot of documentation on the ROOT web page. ROOT also has a fairly active mailing list where you can get further help. For questions about running ROOT at NERSC, please contact consult@nersc.gov.

Availability

PackagePlatformCategoryVersionModuleInstall DateDate Made Default
ROOT cori applications/ visualization 5.34.36 root/5.34.36 2016-07-14
ROOT cori applications/ visualization 6.02.12 root/6.02.12 2015-11-03 2016-07-08
ROOT cori applications/ visualization 6.06.06 root/6.06.06 2016-07-14 2016-07-14
ROOT cori applications/ visualization 6.10.02 root/6.10.02 2017-08-17
ROOT edison applications/ visualization 6.10.02 root/6.10.02 2017-08-17 2017-08-17
ROOT genepool applications/ programming 5.34.05 ROOT/5.34.05 2013-03-20 2013-03-20
ROOT genepool applications/ programming 5.34.05_1 ROOT/5.34.05_1 2014-08-21 2014-08-21
ROOT pdsf applications/ physics 5.30.00 ROOT/5.30.00 2012-03-09
ROOT pdsf_sl6 applications/ programming 5.34.10 ROOT/5.34.10 2013-10-14 2013-10-14
ROOT pdsf_sl6 applications/ programming 6.08.00 ROOT/6.08.00 2016-11-10
ROOT phoebe applications/ programming 5.34.05 ROOT/5.34.05 2013-03-20 2013-03-20