ROOT is a general-purpose framework that provides an object oriented set of tools with all the functionality needed to handle and analyze large amounts of data in an extremely efficient way. It defines the data as a set of objects, and then 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 in the framework 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 that can considerably speed up any data analysis process.
- R. Brun, F. Rademakers, ROOT — An object oriented data analysis framework, Nucl. Instr. and Methods in Physics A 389, Issues 1–2, 11 April 1997, (81-86)
- I. Antcheva, et al, ROOT — A C++ framework for petabyte data storage, statistical analysis and visualization, Computer Phys. Com., 180, Issue 12, December 2009, (2499-2512)
Data Analysis in various fields. Examples are: High Energy Physics, Astronomy, Biology, Finance and Medicine
- The command language, the scripting, or macro, language and the programming language are all C++. This is due to a built-in C++ programming language interpreter CINT that also allows for fast prototyping of the macros to be processed 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.
- 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.