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 Opening a Frame Channel
III.3 Extracting a frame using a frame channel and plotting it
III.4 Extracting a vector using a frame channel and plotting it
III.5 Extracting a 2D vector (image...) from the frame channel and plotting it
III.6 Building a metadatabase for more complex tasks
III.7 Extracting a frame with a condition or selection
III.8 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 General scheme for data access
V.3 Different information databases for different uses
V.3.1 Simple access: direct files
V.3.2 More complex case: metadatabase
V.3.3 Full case: bookkeeping database
V.4 Access to the data through a Frame Channel
V.4.1 Opening a frame channel and connecting to an information database
V.4.2 Accessing data through a Frame Channel
V.4.2.1 Extracting frames
V.4.2.2 Extracting vectors of any length
V.4.2.3 Extracting n-tuples of SMS data
V.4.3 Getting general information about the information database and it’s contents
V.4.3.1 Getting the start time of the information database
V.4.3.2 Printing information about the frame channel
V.5 Dealing with selected or triggered data
V.5.1 Condition information in the information database
V.5.2 Condition Sets
V.5.3 Extracting frames with a condition
V.5.3.1 Direct methods
V.5.3.2 Sequential methods
V.5.4 Extracting vectors with a condition
V.5.4.1 Direct methods
V.5.4.2 Sequential methods
V.5.5 Getting information about condition sets
V.5.5.1 Printing the names of the conditions present in an information database
V.5.5.2 Current status of a condition set
V.6 N-tuples adapted for GW data analysis
V.6.1 Building VNtuple
V.6.2 Filling an N-tuple and getting data
V.6.3 Drawing
VI Analysis of data coming from a frame channel: the selector
VII Representing Gravitational Waves data
VII.1 Series plots
VII.2 Graphical managers of frames
VII.2.1 Definition of managers
VII.2.2 Building a manager : the global gVM
VII.2.3 General use
VII.2.4 Drawing methods
VII.2.4.1 Drawing contents and distribution of frame vectors
VII.2.4.2 Drawing selected contents or distribution of a frame
VII.2.4.3 Drawing 2D vectors (images or time-frequency plots)
VII.2.5 Change of the plots attributes
VII.2.6 Management of the plots produced
VII.3 Representing slow monitoring data
VIII Dealing with time
VIII.1 Time when accessing data
VIII.1.1 The reference time
VIII.1.2 How to set a reference time
VIII.2 Time when outputting information
VIII.2.1 Plotting frames or vectors start time
VIII.2.2 Plotting time on time series axis
VIII.2.2.1 Interactively setting time display on the axis
VIII.2.2.2 Set axis time parameters in a script
VIII.2.2.2.1 Directly
VIII.2.2.2.2 Through the style
IX The Data Display as a data viewer
IX.1 Goals
IX.2 The Data Display inside VEGA
IX.2.1 Displaying data from a frame channel source
IX.2.2 Interaction with the produced plots
IX.2.3 Using configuration files produced by the standalone dataDisplay application
X Signal processing and algorithms
XI The global variables often used
XI.1 The active manager gVM
XI.2 The active style gVStyle
XII Examples of macros
XII.1 Example 1 : Displaying a peak
XII.2 Example 2 : scrolling data
XII.3 Example 3 : histogramming some data and fitting the result
XII.4 Example 4 : Extracting some slow monitoring data and doing some simple plots
XII.5 Example 5 : Extracting a vector and plotting spectra
XIII How to compile your own code for VEGA or use the VEGA libraries in your code
XIII.1 Loading an existing shared library
XIII.2 Compiling a script and making a shared library of it
XIII.2.1 Preparation of the script
XIII.2.2 Compiling the script
XIII.2.3 Limitations
XIII.3 Building a standalone executable
XIII.3.1 Building an executable that is linked with the ROOT and VEGA libraries
XIII.3.2 Options of the vega-config utility
XIII.3.3 Using only a subset of capabilities
XIII.4 Building a general shared library usable with VEGA
I Appendix A : Local metadatabase structure and principles
I.1 Metadatabase for easy data access
I.1.1 Principle and structure
I.1.2 Creation of a metadatabase
I.1.3 Access to metadata
I.1.3.1 Opening an existing database
I.1.3.2 Extracting metadata
I.1.4 Getting general information about the metadatabase and it’s contents
I.1.4.1 Getting the start time of the metadatabase
I.1.4.2 Printing information about the metadatabase
I.2 Dealing with selected or triggered data
I.2.1 Condition information in the metadatabase
I.2.2 Extracting metadata with a condition
I.2.2.1 Direct methods
I.2.2.2 Sequential methods
Table of Contents