Jump to content

ROOT: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎Applications of ROOT: added the OPERA experiment to the list
Cc16 (talk | contribs)
mNo edit summary
Line 89: Line 89:
** [[VERITAS]]
** [[VERITAS]]
** [[Payload for Antimatter Matter Exploration and Light-nuclei Astrophysics|PAMELA]]
** [[Payload for Antimatter Matter Exploration and Light-nuclei Astrophysics|PAMELA]]
** [[The Polarised Gamma-ray Observer|PoGOLite]]
** [[PoGOLite]]


== See also ==
== See also ==

Revision as of 16:16, 9 February 2011

ROOT
Developer(s)CERN
Stable release
5.26/00c / July 13, 2010
Repository
Written inC++
Operating systemCross-platform
TypeData analysis
LicenseLGPL/GPL
Websitehttp://root.cern.ch/

ROOT is an object-oriented program and library developed by CERN. It was originally designed for particle physics data analysis and contains several features specific to this field, but it is also used in other applications such as astronomy and data mining.

Description

CERN maintained a program library written in FORTRAN for many years; development and maintenance were discontinued in 2003 in favour of ROOT, written in C++. ROOT development was initiated by René Brun and Fons Rademakers in 1994. Some parts are published under the LGPL, and others are based on GPL software and thus are also published under the terms of the GPL. It provides platform independent access to a computer's graphics subsystem and operating system using abstract layers. Parts of the abstract platform are: a graphical user interface and a GUI builder, container classes, reflection, a C++ script and command line interpreter (CINT), object serialization and persistence.

The packages provided by ROOT include those for

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 is designed for high computing efficiency, as it is required to process data from the Large Hadron Collider's experiments estimated at several petabytes per year. As of 2009 ROOT is mainly used in data analysis and data acquisition in high energy physics experiments, and most current experimental plots and results in those subfields 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 MATLAB.

Criticisms of ROOT include its difficulty for beginners, as well as various features of its design and implementation.[1] From time to time these issues are discussed on the ROOT users mailing list.[2][3]

Applications of ROOT

Several particle physics experiments have written software based on ROOT, often in favor of using more generic solutions (e.g. using ROOT containers instead of STL).

See also

References