Documentation / Manuel utilisateur en C++ :
Abstract
This chapter is dealing with the DataServer module which is the spine of the Uranie project. In this module
crucial classes are defined to handle data and transmit them to other modules, along with basic statistics
implementation.
The source files are in souRCE.git/dataSERVER/souRCE
and the corresponding namespace is URANIE::DataServer.
Table of Contents
The DataServer module is the spine of the Uranie platform as it is where the data are stored, the attributes (name given
to the variable in Uranie) are gathered and important basic mathematical operations are performed. Objects and
methods will indeed need a TDataServer
to retrieve, process and transmit the results of their own operations.
Since it is used by all other technical libraries (Sampler, Launcher, ...), this library is the core library of Uranie
(as shown in Figure I.1). The already discussed TDataServer
contains two main objects
(has shown in Figure II.1):
the header: represented in Uranie by the object
TDataSpecification
. Different information related to the variables (called in "attributes" in Uranie language and represented byTAttribute
objects) are specified in Section II.2.the data matrix: represented by the object
TDSNtupleD
(class derived from the ROOT classTTree
). For an advanced use of this object, the reader can refer to chapter XII "Trees ROOT" in ROOT's user manual.
The chapter presentation will be articulated as follows. First of all, the way variable are handled will be introduced
in Section II.2. This is a needed step, as all TDataServer
have to be filled with attributes for
being able to move along. The creation of a TDataServer
(with many construction, from ASCII to ROOT files) is discussed
in Section II.3 before discussing the basic statistical
treatment (in Section II.4) and the dedicated visualisation
tool (in Section II.5).
Tip
An important point to know for the use of Uranie: all options are not case sensitive. Actually, the treatment of these options is taken anyway as lowercase. The following instructions are equivalent:
tdsGeyser->draw("x1","","Nclass=Sturges");
tdsGeyser->draw("x2","","nclass=Sturges");
tdsGeyser->draw("x2","","nclass=sturges");
tdsGeyser->draw("x2","","NCLASS=STURGES");