I Introduction - Contents
I Introduction - Title Page
I Introduction
I.1 What is ROOT ?
I.2 Objectives of this document
I.3 Installation of VEGA/ROOT
I.4 How to find information ?
II An interactive session
II.1 Basic intrinsic operations
II.2 The interpreter CINT, graphical interaction through a few examples
II.2.1 First very simple example
II.2.2 Graphical output example
II.2.3 Classes, methods and constructors
II.2.4 ROOT related specifics
II.2.5 Graphical output example: User interaction
II.2.6 Second example : Building a multi-pad canvas
II.2.7 Inheritance and data encapsulation
II.2.7.1 Inheritance
II.2.7.2 Method overriding
II.2.8 ROOT related specifics
II.3 An example of a macro
II.3.1 C++ notions used: method overloading
II.4 How to compile a macro ?
II.4.1 Preparation of the script
II.4.2 Compiling the script
II.4.3 Compiling a more complex code
III Hands on VEGA
III.1 Preparation
III.2 Building a database.
III.3 Extracting a frame from the database and plotting it
III.4 Extracting a vector from the database and plotting it
III.5 Extracting a 2D vector (image...) from the database and plotting it
III.6 Extracting a frame with a condition or selection
III.7 How to deal with slow monitoring data ?
IV More on C++ (for the interested reader)
IV.1 C++ notions used: classes, methods and constructors
IV.2 C++ notions used: inheritance and data encapsulation
IV.2.1 Inheritance
IV.2.2 Method overriding
IV.2.3 Public and private : data encapsulation
IV.3 C++ notions used: operators new and delete
V Accessing and managing Gravitational Waves data
V.1 Accessing frames through the Framelib
V.2 Metadatabase for easy data access
V.2.1 What for ?
V.2.2 Principle and structure
V.2.3 Creation of a metadatabase
V.2.4 Accessing data through a metadatabase
V.2.4.1 Opening an existing database
V.2.4.2 Extracting frames
V.2.4.3 Extracting vectors of any length
V.2.4.4 Extracting n-tuples of SMS data
V.2.5 Getting general information about the metadatabase and it’s contents
V.2.5.1 Getting the start time of the metadatabase
V.2.5.2 Printing information about the metadatabase
V.3 Dealing with selected or triggered data
V.3.1 Condition information in the metadatabase
V.3.2 Condition Sets
V.3.3 Extracting frames with a condition
V.3.3.1 Direct methods
V.3.3.2 Sequential methods
V.3.4 Extracting vectors with a condition
V.3.4.1 Direct methods
V.3.4.2 Sequential methods
V.3.5 Getting information about condition sets
V.3.5.1 Printing the names of the conditions present in a metadatabase
V.3.5.2 Current status of a condition set
V.4 N-tuples adapted for GW data analysis
V.4.1 Building VNtuple
V.4.2 Filling an N-tuple and getting data
V.4.3 Drawing
VI Representing Gravitational Waves data
VI.1 Series plots
VI.2 Graphical managers of frames
VI.2.1 Definition of managers
VI.2.2 Building a manager : the global gVM
VI.2.3 General use
VI.2.4 Drawing methods
VI.2.4.1 Drawing contents and distribution of frame vectors
VI.2.4.2 Drawing selected contents or distribution of a frame
VI.2.4.3 Drawing 2D vectors (images or time-frequency plots)
VI.2.5 Management of the plots produced
VI.3 Representing slow monitoring data
VII Dealing with time
VII.1 Time when accessing data
VII.1.1 The reference time
VII.1.2 How to set a reference time
VII.2 Time when outputting information
VII.2.1 Plotting frames or vectors start time
VII.2.2 Plotting time on time series axis
VII.2.2.1 Interactively setting time display on the axis
VII.2.2.2 Set axis time parameters in a script
VII.2.2.2.1 Directly
VII.2.2.2.2 Through the style
VIII Signal processing and algorithms
IX The global variables often used
IX.1 The active manager gVM
IX.2 The active style gVStyle
X Examples of macros
X.1 Example 1 : Displaying a peak
X.2 Example 2 : scrolling data
X.3 Example 3 : histogramming some data and fitting the result
X.4 Example 4 : Extracting some slow monitoring data and doing some simple plots
X.5 Example 5 : Extracting a vector and plotting spectra
XI How to compile your own code for VEGA or use the VEGA libraries in your code
XI.1 Loading an existing shared library
XI.2 Compiling a script and making a shared library of it
XI.2.1 Preparation of the script
XI.2.2 Compiling the script
XI.2.3 Limitations
XI.3 Building a standalone executable
XI.3.1 Building an executable that is linked with the ROOT and VEGA libraries
XI.3.2 Options of the vega-config utility
XI.3.3 Using only a subset of capabilities
XI.4 Building a general shared library usable with VEGA