Next: CDS Services; recent Developments
Up: BoFs and Demos
Previous: Real Time Linux -- The RTOS for Astronomy?
Table of Contents - Subject Index - Author Index - PS reprint -

Rohlfs, R. & O'Neel, B. 2000, in ASP Conf. Ser., Vol. 216, Astronomical Data Analysis Software and Systems IX, eds. N. Manset, C. Veillet, D. Crabtree (San Francisco: ASP), 687

The ROOT Object Oriented Framework to Analyze INTEGRAL Data

R. Rohlfs, B. O'Neel
INTEGRAL Science Data Centre, 16 ch. d'Ecogia, CH-1290 Versoix, Switzerland


The Integral Science Data Centre (ISDC), located near
Geneva, Switzerland, is building a software system to receive, analyze and visualize the data from the INTEGRAL satellite which launches in 2001. The ISDC decided to use the ROOT package developed at CERN for data display. ROOT consists of a C++ interpreter, a huge scientific C++ library and a file structure to archive objects. The C++ interpreter of ROOT will be used at ISDC as a scripting language to call other programs, for example FTOOLS, to start analysis scripts and to display the results with the built-in graphical classes. The classes in the ROOT C++ library are used to build on- and off-line applications with graphical user interfaces and graphics. The scientific and housekeeping data of the INTEGRAL satellite will be displayed using a wide range of different types of graphs. The GUIs of ROOT are used to select the data to be displayed by time, by data type and by their meta data.

1. Introduction

ISDC is responsible for the analysis and processing of the data from the INTEGRAL satellite to make it directly usable by scientists. Furthermore, ISDC has to closely monitor the instruments and will solve eventual problems during the mission. OPUS pipelines are planned to process the data in an automatic way from raw data to first scientific results. The output of these pipelines can be displayed interactively to investigate any problems.

ISDC will use ROOT (Brun & Rademakers 1997) as a graphical tool to display the housekeeping data and the science data of the INTEGRAL satellite. All displays are freely configurable and the configured graphs can be saved in a ROOT - file and reused in an other session.


ROOT is a C++ framework developed since 1994 at CERN. The experience in developing PAW, PIAF and GEANT was used to design a new object oriented package including a C++ interpreter. Both the change from FORTRAN to C++ and the huge amount of data of the new experiments at CERN (up to 10 TB or raw data per run) were the drivers of this new development.
The ROOT system consists of a huge C++ library with all the functionality needed to handle and analyze large amounts of data in a very efficient way. New methods are used to save objects in ROOT - files and to get direct access to attributes of selected objects, without reading the the bulk of data. Included in the ROOT system are histograming methods in 1, 2 and 3 dimensions, curve fitting, function evaluation, graphics and visualization classes.
Thanks to the built-in CINT C++ interpreter, the command language, the scripting, or macro, language and the programming language are all C++. The interpreter allows for fast prototyping of the macros 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.

3. Interactive Operation Status Monitoring

The Interactive Operation Status Monitoring at ISDC consists of several display tools build with the ROOT C++ library of graphic classes and GUI - classes.

3.1. Housekeeping - Display

The housekeeping (HK) display tool (Figure 1) is used to monitor several of the more than 7000 HK - parameters of the instruments and the satellite. The ROOT - classes allow the interactive modification of the graphs. The size of graphs, lines and text, the colors of background, graphs and axis and the style of the graphs can be changed with some mouse clicks. The selection of the HK - parameters to be displayed and the time range of interest can be defined through a graphical user interface.

Figure 1: Display of INTEGRAL Housekeeping Data.

3.2. Instrument Mode Display

During operation the modes of the instruments and the sub-assemblies of the instruments will change. A graphical display can show the modes of more than 25 sub systems. With a graphical user interface the subsystems of interest can be selected. Each mode is coded in a specific color. The time range of the display can be defined from some minutes up to several months.

3.3. Scientific Data Display

There will be instrument specific display tools for each of the four instruments of the INTEGRAL satellite to monitor the detectors. They will show the count rates of a detector element, energy spectra and light curves.

3.4. Saving the Screen Configuration

Every display tool is freely configurable with some mouse clicks and through a GUI. The configuration of one tool as well as a set of tools displaying data on the same screen can be saved in a ROOT file and read again in another session to restore exactly the same setup of the screen. Every user modification of the standard display is saved in the ROOT file. The ROOT feature of writing C++ classes into a file is used to save the configurations of the graphic tools.

4. Off-line Analysis

A standard analysis will be performed at ISDC in an automatic pipeline process. First scientific results will be produced during this automatic process. The scientists at ISDC as well as at their home institutes can use off-line the ROOT C++ interpreter to analyze their data in more detail. C / C++ - scripts, called macros, define the interactive process. A typical script will read the data, will call analysis tools like FTOOLS, can calculate new result, using the C / C++ language of the script and will display the result.

The functionality of the C++ interpreter can be enlarged. Functions in a shared library or a dll - library can be read by the interpreter environment to make these functions available in an interactive session. ISDC has already written a shared library to read and write FITS files with the DAL (data access layer) library (O'Neel et al. 2000) developed at ISDC. All INTEGRAL data in the ISDC archive are stored in FITS files and can be read with the DAL functions into the interpreter environment for further calculations and displays.

ROOT was not developed for astronomical purpose. It has therefore no astronomical specific displays. But the common graphics to display 1, 2 and 3 dimensional histograms can be used to display astronomical sky maps. ROOT does not have built-in astronomical sky coordinates. But with the object oriented methods display classes can be inherited to add any coordinate system to the displays. ISDC has already developed a class to read the coordinate system from FITS headers and to display a sky map in l/b and RA/DEC coordinate systems. The standard ROOT classes to display any two dimensional graph will be used to display INTEGRAL light curves and spectra. No additional development is necessary.

5. Conclusion

ISDC will use ROOT as a display development tool and the ROOT interpreter as a scripting language for interactive analysis and displays. The advantages are the freely configurable graphs and displays. It is not necessary to define the data to be displayed or the style of the graphs in advance. They can be defined when a problem has to be investigated. Furthermore, any modified graph can be saved and printed without any additional work of development. Thanks to the object oriented ROOT missing features can be added easily. The ROOT development team at CERN is happy to add new features to the standard delivery of ROOT from any side and to maintain it.


Brun, R., & Rademakers, F. 1997, Nucl. Inst. & Meth. in Phys. Res., A 389, 81-86

O'Neel, B., Jennings, D., Rohlfs, R., & Paltani, S. 2000, this volume, 187

© Copyright 2000 Astronomical Society of the Pacific, 390 Ashton Avenue, San Francisco, California 94112, USA
Next: CDS Services; recent Developments
Up: BoFs and Demos
Previous: Real Time Linux -- The RTOS for Astronomy?
Table of Contents - Subject Index - Author Index - PS reprint -