The official repository for ROOT: analyzing, storing and visualizing big data
Switch branches/tags
Clone or download
dpiparo [TTreeCacheUnzip] Improve documentation and implementation
the documentation was outdated, the implementation was sligthly
Latest commit 92d3d61 Dec 14, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci Simplify travis runner May 8, 2018
.github [github/CodeOwn] Add Stephan as RooFit reviewer! Nov 20, 2018
README Release Notes Dec 4, 2018
bindings [PyROOT] Fix lazy array interface pythonization for Python 3 Dec 13, 2018
build [build] makepchinput should keep order of CXXFLAGS. Dec 11, 2018
builtins Replace -fvisibility=hidden with C_VISIBILITY_PRESET hidden Dec 8, 2018
cmake Better fix to avoid source pollution with *pyc file. Dec 10, 2018
config Next iteration for improvement of generic switch of compr.algorithms Dec 4, 2018
core [TThreadExecutor][NFC] Fix Doxygen doc of the class Dec 14, 2018
doc Set release date. Jun 2, 2015
documentation A better way to handle the R__CLING_PTRCHECK macro in Doxygen Dec 13, 2018
etc eve7: more checkes when update GL view Dec 13, 2018
fonts Remove trailing spaces Aug 5, 2014
geom Added GDML support for: opticalsurface, skinsurface, bordersurface, m… Dec 11, 2018
graf2d Update graf2d/qt/CMakeLists.txt Dec 7, 2018
graf3d eve7: use RCsg library, eliminate copy in eve7 Dec 11, 2018
gui webgui: add docu entry about WebGui.RecordData env variable Dec 12, 2018
hist [hist] Add test for TFormula autoloading (ROOT-9840). Dec 10, 2018
html Remove references to Cintex in the codebase Sep 7, 2018
icons Fix file permissions Aug 28, 2015
interpreter [cxxmodules] Support autoloading of dynamic symbols and callback from… Dec 13, 2018
io Fix ROOT-9784. Avoid to use empty name in v5 'replacement name'. Dec 10, 2018
macros Fix Jira #ROOT-8404 macro Dialogs.C does not compile and crashes Oct 18, 2016
main Next iteration for improvement of generic switch of compr.algorithms Dec 4, 2018
man/man1 doc/man : remove references to rootd / proofd Dec 3, 2018
math Clean up makefiles for standalone builds of mathcore,mathmore,genvect… Dec 13, 2018
misc Pin vtable for misc/table headers (#2847) Oct 25, 2018
montecarlo Use full relative path for source files Oct 3, 2018
net Fix warnings due to strncpy() usage in rpdutils Dec 7, 2018
proof proof/proofd: remove references to rootd Dec 3, 2018
roofit [RF][ROOT-9826] Fix generation of Asimov data. (#3156) Dec 12, 2018
rootx - white spaces Nov 29, 2018
sql From Sergey: Try to fix compilation error Oct 3, 2018
test Fix ROOT-9801, by correctly copying the members for lazy initializati… Nov 20, 2018
tmva [TMVA/BDT/IMT] fix memory leak Dec 6, 2018
tree [TTreeCacheUnzip] Improve documentation and implementation Dec 15, 2018
tutorials [TTreeReader][NFC] Improve and debug TTreeReader documentation Dec 13, 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 Protect contents of .vscode from `git clean -df` Dec 6, 2018
.mailmap Add .mailmap file to help with git statistics Dec 10, 2018
.travis.yml [Travis] Try to fix "do not run default job" / travis-ci/issues/4681. Jul 16, 2018
CMakeLists.txt Revert "[cmake] Add missing dependency." Dec 7, 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 [Doc] Remove old ROOT versions from the build status table Sep 25, 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


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,
(Select the right link for your release here:

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