name = ROOT
caption = Example ROOT plot showing regions of interest in a 2D distribution
latest_release_version = 5.20/00
June 25th, 2008
license = LGPL/GPL
website = http://root.cern.ch/
ROOT is an object-oriented program and library developed by
CERN. It was originally designed for particle physics data analysisand contains several features specific to this field, but it is also commonlydubious used in other applications such as astronomyand data mining.
Development was initiated by René Brun and Fons Rademakers in 1994. ROOT is written in
C++. Some parts are published under the LGPL, while others are based on GPL software and thus are also published under the terms of the GNU General Public License(GPL). It provides platform independentaccess to a computer's graphics subsystem and operating systemusing abstract layers. Parts of the abstract platform are: a graphical user interfaceand a GUI builder, container classes, reflection, a C++ script and command lineinterpreter ( CINT), object serializationand persistence.
The packages provided by ROOT include those for
histogramming" and "graphing" to visualize and analyze distributions and functions,
curve fitting" (regression analysis) and minimization of functionals,
statisticstools" used for data analysis,
* "matrix algebra",
four-vectorcomputations", as used in high energy physics,
* standard "mathematical functions",
multivariate data analysis", e.g. using neural networks,
* "image manipulation", used e.g. to analyze
* access to "distributed data" (in the context of the Grid),
distributed computing", to parallelize data analyses,
* "persistence and
serializationof objects", which can cope with changes in class definitions of persistent data,
* "access to
* 3D visualizations (geometry)
* creating files in various "graphics formats", like
PostScript, JPEG, SVG,
* interfacing Python and Ruby code in both directions,
* interfacing Monte Carlo
A key feature of ROOT is a data container called "tree", with its substructures "branches" and "leaves". A tree can be seen as a sliding window to the raw data, as stored in a file. Data from the next entry in the file can be retrieved by advancing the index in the tree. This avoids memory allocation problems associated with object creation, and allows the tree to act as a lightweight container while handling buffering invisibly.
ROOT's focus on performance is caused by the amount of data that the
Large Hadron Collider's experiments will collect, estimated to several petabytes per year. Physicists are expected to analyze this data using ROOT. ROOT is currently mainly used in data analysisand data acquisitionin high energy physicsexperiments — most current experimental plots and results are obtained using ROOT.
The inclusion of the CINT C++ interpreter makes this package very versatile as it can be used in interactive, scripted and compiled modes in a manner similar to commercial products like
Applications of ROOT
Several particle physics experiments have written software based on ROOT, often infavor of using more generic solutions (i.e. using ROOT containers instead of STL).
* Some of the running particle physics experiments using software based on ROOT
* Future particle physics experiments currently developing software based on ROOT
* Astroparticle physics projects using ROOT
Pierre Auger Observatory
HippoDraw— an alternative C++-based data analysis system
Java Analysis Studio— a Java-based AIDA-compliant data analysis system
R programming language
AIDA (computing)— open interfaces and formats for particle physics data processing
* [http://root.cern.ch/ The ROOT System Home Page]
* [http://root.cern.ch/root/roottalk/AboutRootTalk.html ROOT users mailing list]
* [http://root.bnl.gov/ The Qt/ROOT System Home Page]
* [http://www-win.gsi.de/go4/ GSI Object Oriented On-line Off-line system] , an alternative GUI for ROOT based on QT/ROOT.
* [http://openscientist.lal.in2p3.fr/ OpenScientist] a C++-based data analysis system, AIDA-compliant.
* [http://roofit.sourceforge.net/ The RooFit Toolkit for Data Modeling] , an extension to ROOT to facilitate
* [http://www.desy.de/~salvaire/root_wrapper.html Perl Binding using SWIG]
* [http://mirror.phy.bnl.gov/debian-root/ubuntu/ ROOT Repository] for Ubuntu
* [http://mirror.phy.bnl.gov/debian-root/ ROOT Repository] for
Wikimedia Foundation. 2010.