Root Article Index for
Root
Articles about
Root
Website Links For
Root
 

Information About

Root





Information

  Name ROOT
  Screenshot
  Caption Example ROOT plot showing regions of interest in a 2D distribution
  Developer CERN
  Latest Release Version 516
  Latest Release Date June 29, 2006
  Operating System Cross-platform
  Genre Data Analysis
  License LGPL / GPL
  Website ROOT home page


ROOT is an Object-oriented Software Package developed by CERN . It was originally designed for Particle Physics Data Analysis and contains several features specific to this field, but it is also commonly used in other applications such as Astronomy and Data Mining .


DESCRIPTION

Development was initiated by René Brun and Fons Rademakers in 1994. ROOT is written in 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 issues 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 Analysis and Data Acquisition in High Energy Physics experiments — most current experimental plots and results are obtained using ROOT.


CRITICISMS


ROOT has been criticised by some, claiming it has a monolithic design, a tendency to re-invent existing technologies, a too-strong reliance on the CINT interpreter, and poor use of object-oriented programming methods, including OO Antipattern s. {Link without Title}
In attempting to provide all the functionality required by any data analysis task through a single interface, ROOT has attracted " No Silver Bullet " criticisms. Many of ROOT's fundamental design elements, such as global state, STL-incompatibility and aggressive single-owner based memory management, can make integration of ROOT functionality with stand-alone code difficult.

Additionally, some users fault ROOT for generally poor documentation. ROOT classes do not always behave as advertised or as expected.

However, ROOT has a large user community which on the whole has little issue with these defects, or at least considers their solution secondary to more immediate problems of data analysis. From time to time, issues of ROOT's design and implementation are discussed on the ROOT users mailing list. {Link without Title} {Link without Title}


APPLICATION OF ROOT

Several particle physics experiments have written software based on ROOT, often in
favor of using more generic solutions (i.e. using ROOT containers instead of STL ). The exact meaning of "generic" here is unclear: obviously it is not in the sense of "generic programming" which makes significant use of compile-time abstractions, often via C++ templates.


  • Future particle physics experiments currently developing software based on ROOT

  • --- ALICE

  • --- ATLAS

  • --- CMS

  • --- LHCb

  • --- NOνA

  • --- PANDA




SEE ALSO



EXTERNAL LINKS