MICC JINR Multifunctional
Information and Computing
Complex

RU

ROOT

  

 
 
ROOT is a package of object-oriented programs and libraries developed in the European Organization for Nuclear Research. The package was designed specifically for use as an experimental high-energy physics data processing platform and contains products specific to this area; however, it can also be used to analyze other data, for example, in astronomy. 
 
ROOT has a graphics user interface, container classes, C++ based scripting language, a command interpreter (CINT), and a long-term data storage system.
Scientific tools and computer simulation generate enormous amounts of data, for the analysis and organization of which new scientific methods are required. Every year, data volumes are almost doubled. Since new scientific instruments are extremely accurate, just as quickly data quality is improving. For analyzing these data to find the subtle effects missed in previous studies, algorithms that can simultaneously work with huge data sets and detect very subtle effects are required. Currently ROOT has become almost standard software for modern accelerator experiments.

Packages included in ROOT contain:

  • tools for creating histograms and graphs of functions for visualizing and analyzing probabilistic distributions and functions;
  • means of "fitting" theoretical curves for experimental data and the minimization of functions (for the selection of the simplest dependencies describing experimental data);
  • statistical analysis tools;
  • tools of matrix algebra;
  • tools for four-vector calculations (four-dimensional Minkowski space is convenient used in high energy physics);
  • standard math functions;
  • multivariate data analysis tools, in particular, the use of neural networks;
  • image processing tools used, for example, to analyze astronomical images;
  • means of access to distributed data (in the context of database tables);
  • tools for distributed computing, data processing parallelization;
  • means of serialization and long-term preservation of objects;
  • database access tools;
  • 3D geometric visualization tools;
  • tools for creating files in various graphics formats, such as PostScript, JPEG, SVG;
  • two-way interfaces to Python and Ruby languages ​​(you can use ROOT tools for a code in Python or Ruby and the use of modules written in Python or Ruby in ROOT);
  • interfaces to Monte Carlo generators of elementary particle physics.