English

ROOT - A C++ Framework for Petabyte Data Storage, Statistical Analysis and Visualization

Data Analysis, Statistics and Probability 2015-09-01 v1 Distributed, Parallel, and Cluster Computing

Abstract

ROOT is an object-oriented C++ framework conceived in the high-energy physics (HEP) community, designed for storing and analyzing petabytes of data in an efficient way. Any instance of a C++ class can be stored into a ROOT file in a machine-independent compressed binary format. In ROOT the TTree object container is optimized for statistical data analysis over very large data sets by using vertical data storage techniques. These containers can span a large number of files on local disks, the web, or a number of different shared file systems. In order to analyze this data, the user can chose out of a wide set of mathematical and statistical functions, including linear algebra classes, numerical algorithms such as integration and minimization, and various methods for performing regression analysis (fitting). In particular, ROOT offers packages for complex data modeling and fitting, as well as multivariate classification based on machine learning techniques. A central piece in these analysis tools are the histogram classes which provide binning of one- and multi-dimensional data. Results can be saved in high-quality graphical formats like Postscript and PDF or in bitmap formats like JPG or GIF. The result can also be stored into ROOT macros that allow a full recreation and rework of the graphics. Users typically create their analysis macros step by step, making use of the interactive C++ interpreter CINT, while running over small data samples. Once the development is finished, they can run these macros at full compiled speed over large data sets, using on-the-fly compilation, or by creating a stand-alone batch program. Finally, if processing farms are available, the user can reduce the execution time of intrinsically parallel tasks - e.g. data mining in HEP - by using PROOF, which will take care of optimally distributing the work over the available resources in a transparent way.

Keywords

Cite

@article{arxiv.1508.07749,
  title  = {ROOT - A C++ Framework for Petabyte Data Storage, Statistical Analysis and Visualization},
  author = {Ilka Antcheva and Maarten Ballintijn and Bertrand Bellenot and Marek Biskup and Rene Brun and Nenad Buncic and Philippe Canal and Diego Casadei and Olivier Couet and Valery Fine and Leandro Franco and Gerardo Ganis and Andrei Gheata and David Gonzalez Maline and Masaharu Goto and Jan Iwaszkiewicz and Anna Kreshuk and Diego Marcos Segura and Richard Maunder and Lorenzo Moneta and Axel Naumann and Eddy Offermann and Valeriy Onuchin and Suzanne Panacek and Fons Rademakers and Paul Russo and Matevz Tadel},
  journal= {arXiv preprint arXiv:1508.07749},
  year   = {2015}
}
R2 v1 2026-06-22T10:45:02.665Z