I Introduction
VEGA (Visual Environment for Gravitational waves data Analysis) is designed
to be a framework in which one can analyze data coming from interferometric
gravitational wave detectors. This data is supposed to be in the Frame format,
which was agreed upon between the two gravitational wave detection experiments
VIRGO and LIGO. This data format is now also used by other such
experiments.
VEGA is based on the ROOT framework developed at CERN by R. Brun and F.
Rademakers. There are numerous other contributors to this work and I apologize
for not citing them all.
VEGA is an environment containing :
- The entire Framelib (
http://wwwlapp.in2p3.fr/virgo/FrameL
), which is a set of functions written in C that enable access and manipulation
of frame data files
- A set of Manager classes that makes the heart of the framework, especially
doing the interface with the Framelib and Framelib objects (frames, frame files,
frame vectors).
- A set of metadatabase classes that allows the user an easy access data
contained in a big number of files.
- A set of algorithm classes that defines a standard form for algorithms, thus
enabling easy manipulation and inclusion of these algorithms. They can be used
in drawing, multiprocessing, etc...
So VEGA extends ROOT in the
field of signal processing. We hope to provide in the near future as many tools
as possible, for example a set of standard algorithms as well as an interface to
Matlab.
Tutorials written by Andrew Haas (University of Washington), Mark Pollack
(RHIC) and Fons Rademakers in part inspired this document. Thanks to
them.
I.1 What
is ROOT ?
ROOT is a system for large-scale data analysis and data mining. It is being
developed for the analysis of Particle Physics data, but can equally well be
used in other fields where large amounts of data need to be processed.
ROOT is not a computer program, but instead is a set of over 300 C++
classes and an interactive C++ interpreter. So one can use it as a framework,
just using existing classes and libraries in his programs. Or, one can use the
interactive part of the interpreter to execute tasks defined by the user on the
command line or run macros, which are in fact made of C++ code. Once the user is
satisfied with his macro, he can compile it (since it is nothing else than C++)
with a little extra effort and run it much faster.
I.2 Objectives
of this document
This User’s Manual is written with the beginner or casual user in
mind. Therefore, the first chapter is an "interactive" one in the sense that the
best way to read it is in front of a computer with a VEGA session
opened.
Next chapters are more for reference.
People that will begin to work with VEGA will usually have a FORTRAN or C
background. I will suppose that the user is a little bit familiar with C and I
will introduce the basic C++ notions when needed. This is not intended to be a
C++ guide, it’s too huge of a task, but ROOT is a good environment to
learn C++ and it would be a pity not to use it that way! So I will try to be as
simple as possible from the C++ point of view. Each example will be followed by
the explanation of the underlying C++ concepts used, enough to understand the
various commands. I will also introduce some ROOT related specific concepts
after each example.
I.3 Installation
of VEGA/ROOT
I.4 How
to find information ?
The main source of information for ROOT is ROOT main site
http://root/cern.ch. There is a
lot of information online, and a User's Manual. In particular, one can find all
the source code of ROOT organized in a very nice way, and a searchable archive
of the mailing list devoted to ROOT, roottalk. If you have a question, there is
a slight chance that someone asked it before you!
For VEGA, the information
can be found at the VEGA
site:
http://wwwlapp.in2p3.fr/virgo/vega/
Damir BUSKULIC
Last update :19/11/2001;