HistoRoot is a user-friendly histogramming program based on Root. It permits you to generate and plot histograms from Root or ASCII files, specifying the value via an expression involving the NTuple variables and the usual C functions. It has four sliders that apply range cuts to an expression; sliding them updates the plot in real time. It can combine multiple NTuples in one histogram, and can display multiple histograms on a single canvas (Combo Plot). HistoRoot is an open-source program distributed for Linux, Mac OS X, and Windows; it can also be built from source.

HistoRoot is a (large) Root macro that presents the user with a GUI that permits:

  • Opening of Root Files
  • Opening of ASCII files arranged in columns (space, tab, or comma separated)
  • Selection of one or more NTuples
  • Generation of 1-D histograms from the selected NTuple(s)
  • Generation of 2-D histograms from the selected NTuple(s)
  • Generation of X-Y plots from the selected NTuple(s)
  • Defining persistent variables in terms of expressions of Ntuple fields
  • Values histogrammed or plotted are entered as C expressions of variables or NTuple fields
  • Four sliders are available to impose cuts based on the values of expressions
  • Histograms and plots can be combined onto a single canvas
  • For NTuples generated by G4beamlineOld, a count of each type of particle is printed.

Note you must have Root installed and working to use HistoRoot.

HistoRoot 2.0 is now compiled, which makes it run ~100 times faster than 1.0 on large files (1.0 ran as an interpreted Root macro). Because of this, you must install a compatible version of Root. It will fall back to running the macro if the compiled version won't load. You need a compiler only if you want to compile and run it with a version of Root that is incompatible with the distributed version.


The source code (HistoRoot.C) is included with every installer, as is a Makefile and instructions how to build it on other OSs or other versions of Root.

Mac OS X (Intel)

This version runs on Leopard (10.5.x), Snow Leopard (10.6.x), and Lion (10.7.x).
Here is a compatible version of Root (re-packaged as a Mac OS X application):


This version is built on Scientific Linux 4.x, and should run on that and later RedHat-derived distributions of Linux; it may well run on other Linux distributions.
Here is a compatible version of Root:


This version is built on Windows Xp using VC++ 9, and should run on that and later versions of Windows.
Here is a compatible version of Root: