CNRS Université Paris-Sud 11



Rechercher

Sur ce site

Sur le Web du CNRS

CSNSM - UMR8609
Bâtiments 104 et 108
91405 Orsay Campus

+33 1 69 15 52 13
104 +33 1 69 15 50 08
108 +33 1 69 15 52 68
Mentions légales

Accueil > Groupes de recherche > Structure du noyau > AGATA > Database Team > Simulated Data > Preprocessing

Also in this section

Preprocessing

All the versions of this article: English , français

GZ - 104.8 ko
MGS_v5.tar.gz
Is a gzipped tar containing the following codes :

ReadQ_v5.cxx was the code used to
preprocess the charge pulses calculated using MGS-v5.

  • First, the total (raw) charge collected is normalised to 1 (original unit from MGS was 5.41276e-2 - this is the value collected on the core at the end of the trace).
  • Then these signals are passed through the Schlarb model of a pre-amplifier. (NB due to decay constant the maximum charge will no longer be 1).
  • The resulting signals are then sub-sampled at 10 ns intervals (matching the flash-adc) and 50 sample points are stored in a ROOT tree. (This could be done more inteligently using a variable length array adjusted to the length of useful data).


An example of the resulting pulses for various y positions in the detector with fixed x and z are shown in the following histogram :
core_z6_x55.5.gif

Within the ROOT data tree the branches for the Core and the 36 segments are "core_Q"
and "SegMN_Q" where M=A,B,C,D,E,F and N=1-6 respectively. Currently these data
are saved as floats. Also stored in the tree are the positions in mm for
each simulated point : fPosX, fPosY, fPosZ. The tree has been indexed using
BuildIndex("10.*fPosZ", "10000.*fPosX + 10.*fPosY") which creates a look-up table to uniquely identify each position. One can then directly extract the data required without parsing
through the tree.

ReadTree.cxx
is a simple example showing how to connect to a ROOT tree,
define pointers to the (data) branches of this tree and
to assign them to sort variables which can be used later.
Using the tree index direct access to a given (thisZ,thisX,thisY)
position can be obtained by :

  • Int_t index1 = (Int_t) (10.*thisZ)
    Int_t index2 = (Int_t) (10000.*thisX + 10.*thisY)
    tree->GetEntryWithIndex(index1, index2);

  • Long64_t thisEntry = tree->GetEntryNumberWithIndex(index1, index2);
    tree->GetEntry(thisEntry);