C++ C HTML Roff Python JavaScript Other
Failed to load latest commit information.
README update release notes Apr 26, 2017
bindings Added Float16_t as fundamental type for PyROOT. Completes ROOT-8732. Apr 27, 2017
build Added modulemap for libc. (#477) Apr 4, 2017
cmake Be more specific on what is a header file to be moved and installed (#… Apr 26, 2017
config Add new required library to hadd link line Apr 28, 2017
core Avoid leaking 'old' TProtoClass Apr 28, 2017
doc Set release date. Jun 2, 2015
documentation [Doc] Add PyMVA introduction and Keras documentation to TMVA Users Gu… Apr 6, 2017
etc JSROOT 5.1.2 Apr 21, 2017
fonts Remove trailing spaces Aug 5, 2014
geom Clang-formatting for TGeoPgon.cxx Apr 11, 2017
graf2d Add an extra protection on fSelected. Apr 24, 2017
graf3d Includes. Apr 13, 2017
gui Fix Jira issues #ROOT-8722 and ROOT-8723 Mar 22, 2017
hist "TGraph Axis Range Computed Differently Depending on Order of SetLog[… Apr 26, 2017
html Remove all redundant header guards around include directives Feb 14, 2017
icons Fix file permissions Aug 28, 2015
interpreter Fix noexcept for __cxa_atexit. Apr 29, 2017
io io/tree: style-coding fixes from clang-format Apr 12, 2017
macros Fix Jira #ROOT-8404 macro Dialogs.C does not compile and crashes Oct 18, 2016
main Add new required library to hadd link line Apr 28, 2017
man/man1 Missing changes from documentation fixes Jun 27, 2016
math [Math] Apply clang-format to testSMatrix.cxx Apr 25, 2017
misc Remove all redundant header guards around include directives Feb 14, 2017
montecarlo Applied Root formatting style Mar 27, 2017
net Remove unused variable causing a compilation warning Apr 20, 2017
proof proof: fix Coverity #66767 Apr 12, 2017
roofit Do not define nullptr, it is part C++11 which ROOT requires. Apr 13, 2017
rootx Revert "Revert "Merge branch '130'". This broke the cmake build system." Jan 28, 2017
sql sqlite3.h is only needed when compiling the source file. Apr 11, 2017
test "TGraph Axis Range Computed Differently Depending on Order of SetLog[… Apr 26, 2017
tmva testing new PR procedure Apr 28, 2017
tree [TDF] Give more visibility to jitted Filters, Defines in the doc Apr 28, 2017
tutorials [TDF] Show the Snapshot method without template arguments Apr 28, 2017
.clang-format As discussed disable weird aligning policy. Mar 20, 2017
.clang-tidy Treat clang-tidy warnings as errors. Fixes PR wrongly marked red status. Apr 24, 2017
.gitattributes Also update clang to r191429; gitignore must not ignore clang! Add mo… Sep 27, 2013
.gitignore Fixes to 10 coverity defect reports (#480) Apr 9, 2017
.travis.yml Enable travis on branches that start with Travis prefix. Apr 26, 2017
CMakeLists.txt Only write module.modulemap.extra with enabled modules. Apr 12, 2017
LICENSE Put back the 'new page' in license file Aug 5, 2014
Makefile TThreadExecutor.hxx and TAtomicCountGcc.h do not need special treatme… Apr 13, 2017
README.md Updated imt-builds badge Apr 28, 2017
configure print deprecation message within 80 chars to be terminal friendly. Feb 22, 2017



The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Having the data defined as a set of objects, specialized storage methods are used to get direct access to the separate attributes of the selected objects, without having to touch the bulk of the data. Included are histograming methods in an arbitrary number of dimensions, curve fitting, function evaluation, minimization, graphics and visualization classes to allow the easy setup of an analysis system that can query and process the data interactively or in batch mode, as well as a general parallel processing framework, PROOF, that can considerably speed up an analysis.

Thanks to the built-in C++ interpreter cling, the command, the scripting and the programming language are all C++. The interpreter allows for fast prototyping of the macros since it removes the time consuming compile/link cycle. It also provides a good environment to learn C++. If more performance is needed the interactively developed macros can be compiled using a C++ compiler via a machine independent transparent compiler interface called ACliC.

The system has been designed in such a way that it can query its databases in parallel on clusters of workstations or many-core machines. ROOT is an open system that can be dynamically extended by linking external libraries. This makes ROOT a premier platform on which to build data acquisition, simulation and data analysis systems.

License: LGPL v2.1

Build Status

Branch Continuous Nightly
master Build Status Build Status
master-noimt Build Status Build Status
v5-34-00-patches Build Status Build Status
v6-08-00-patches Build Status Build Status

Live Demo


These screenshots shows some of the plots (produced using ROOT) presented when the Higgs boson discovery was announced at CERN:

CMS Data MC Ratio Plot

Atlas P0 Trends

See more screenshots on our gallery.

Download and Getting Started

See root.cern download page for the latest binary releases.

Getting started with ROOT.


Clone the repo

$ git clone https://github.com/root-project/root.git

Make a directory for building

$ mkdir build
$ cd build

Run cmake and make

$ cmake ../root
$ make -j8

Setup and run ROOT

$ source bin/thisroot.sh
$ root

More information regarding building.

Help and Support

Contribution Guidelines