Numerical data analysis framework - general applications
The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyze large amounts of data efficiently.
With the data defined as a set of objects, specialized storage methods can give direct access to the separate attributes of the selected objects, without having to touch the bulk of the data. Included are histogramming methods in 1, 2 and 3 dimensions, curve fitting, function evaluation, minimization, graphics and visualization classes to allow the easy creation of an analysis system that can query and process the data interactively or in batch mode.
The command language, the scripting (or macro) language, and the programming language are all C++, thanks to the built-in CINT C++ interpreter. This interpreter removes the time consuming compile/link cycle, allowing for fast prototyping of the macros, and providing a good environment to learn C++. If more performance is needed, the interactively developed macros can be compiled using a C++ compiler.
The system has been designed in such a way that it can query its databases in parallel on MPP machines or on clusters of workstations or high-end PCs. 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.