The official repository for ROOT: analyzing, storing and visualizing big data
Switch branches/tags
Clone or download
Failed to load latest commit information.
.ci Simplify travis runner May 8, 2018
.github Remove duplication in codeowners Sep 14, 2018
README [RelNotes] Mention --version. Sep 20, 2018
bindings [Exp PyROOT] Support Python3 string literals (Unicode by default) Sep 20, 2018
build Revert "Final changes to py2help new (#2516)" Sep 21, 2018
builtins Clear cache and set $DAVIX_FOUND when using builtin Davix Jul 30, 2018
cmake Claryifing documentation about ccache and clang Sep 22, 2018
config [RDF] Remove RDF from the build and tests in case the platform is a 3… Aug 29, 2018
core [MetaCling] Test for ROOT-6967 Sep 22, 2018
doc Set release date. Jun 2, 2015
documentation [Doc] The ROOTBOOK-izer tool is not anymore a beta. Aug 14, 2018
etc jsroot dev 7/09/2018 Sep 20, 2018
fonts Remove trailing spaces Aug 5, 2014
geom Revert to 316f55 Sep 4, 2018
graf2d webgui: ensure that update called also for batch jobs Sep 20, 2018
graf3d [cxxmodules] Reduce the pcm duplicates. Aug 22, 2018
gui Fix Jira issue #ROOT-9640 Segmentation violation after starting TBrow… Sep 21, 2018
hist [Math] Remove memory leaks in TFormula using variables on the stack Sep 20, 2018
html Remove references to Cintex in the codebase Sep 7, 2018
icons Fix file permissions Aug 28, 2015
interpreter exclude clang from install directive Sep 22, 2018
io Avoid warning about cast between incompatible pointer types Aug 30, 2018
macros Fix Jira #ROOT-8404 macro Dialogs.C does not compile and crashes Oct 18, 2016
main Revert "Final changes to py2help new (#2516)" Sep 21, 2018
man/man1 Revert "Final changes to py2help new (#2516)" Sep 21, 2018
math [VecOps] Add a test for ROOT-9669 Sep 18, 2018
misc Pin vtable of ProcInfo_t and TTableMap Aug 23, 2018
montecarlo Support for user defined sensitive detectors; new TVirtualMC::NIELEde… Apr 25, 2018
net http: latest civetweb 1.11 plus OpenSSL patches Sep 20, 2018
proof Replace XrdSecEntity::Reset() with assignment to default object Sep 3, 2018
roofit Revert "Final changes to py2help new (#2516)" Sep 21, 2018
rootx Revert "Final changes to py2help new (#2516)" Sep 21, 2018
sql Revert "Do not include internal PostgreSQL header" Jul 26, 2018
test [COV-98839, COV-98840] Fix potential null dereference Sep 16, 2018
tmva Use fix initialisation of test input data and of DNN initialisation Sep 21, 2018
tree [DF] Test custom axes of mono dimensional profile models Sep 22, 2018
tutorials webgui: clang-format of v7/tutorials/draw_mt.cxx Sep 20, 2018
.clang-format We want all new headers in folder ROOT to be sorted up. Sep 24, 2017
.clang-tidy Treat clang-tidy warnings as errors. Fixes PR wrongly marked red status. Apr 24, 2017
.gitattributes Fix LOGICAL type suport in TFITSIO Feb 5, 2018
.gitignore test: Add test for Method DL, for the DNN case Apr 8, 2018
.travis.yml [Travis] Try to fix "do not run default job" / travis-ci/issues/4681. Jul 16, 2018
CMakeLists.txt Claryifing documentation about ccache and clang Sep 22, 2018 Updated link for how to make PRs Aug 9, 2017
LGPL2_1.txt Clarify "LGPL >= 2.1"; move LGPL text into LGPL2_1.txt. Dec 13, 2017
LICENSE Clarify "LGPL >= 2.1"; move LGPL text into LGPL2_1.txt. Dec 13, 2017 Update build status badges in Jun 11, 2018
configure Remove entry point for configure/make. Feb 6, 2018


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+ Test coverage

Build Status

Branch Continuous Nightly
master Build Status Build Status
master-noimt Build Status Build Status
v6-14-00-patches Build Status Build Status
v6-12-00-patches Build Status Build Status
v6-10-00-patches Build Status Build Status
v5-34-00-patches Build Status Build Status


We are DOI

Please cite us as

Rene Brun and Fons Rademakers, ROOT - An Object Oriented Data Analysis Framework,
Proceedings AIHENP'96 Workshop, Lausanne, Sep. 1996,
Nucl. Inst. & Meth. in Phys. Res. A 389 (1997) 81-86.
See also "ROOT" [software], Release vX.YY/ZZ, dd/mm/yyyy,

Live Demo for CERN Users


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 download page for the latest binary releases.

Getting started with ROOT.


Clone the repo

$ git clone

Make a directory for building

$ mkdir build
$ cd build

Run cmake and make

$ cmake ../root
$ make -j8

Setup and run ROOT

$ source bin/
$ root

More information regarding building.

Help and Support

Contribution Guidelines