The NA49 ROOT mini-DST classes derive from the ROOT49 mini-DST classes written by Gunther Roland.
They are divided in two libraries.
One (T49DST) is containing all classes that are used for storing
the DSTs in the mini-DST trees and consists basically of the ROOT49-classes
with a number of extensions. The ROOT49-class collection (mainly developed
and maintained by Gunther Roland)
has already been extensively used for data analysis in NA49 and serves now as
the foundation of the T49 analysis framework.
The extensions to ROOT49 include on one side additional
data-members for each track (see
T49ParticleRoot),
which now also contain, e.g.,
the first and last coordinate
of a track in each TPC and the PID, and on the other side classes for the
storage of secondary vertices
(T49VertexRoot)
and Monte Carlo Information
(T49EventMCRoot,
T49ParticleMCRoot and
T49VertexMCRoot).
The usage of version-dependent streamer-functions ensures the backward
compability of libT49DST. This
means that it should be possible to read old ROOT49 mini-DSTs using the
T49DST-library. On the other hand it should also work to read new mini-DSTs,
created with T49DST-classes, with ROOT49, however without access to the
additional data members.
The second library (T49ANA) provides all kinds of tools (e.g. event and track cuts, event mixing, dEdx-analysis, etc.) to be used in the analysis of the ROOT mini-DST.
These two libraries can either be directly loaded via
gSystem->Load("libT49DST.so") and
gSystem->Load("libT49ANA.so")
into the standard ROOT, or one might also use the
root49-executable
that has all these classes already included.
The root49 additionally contains the
TRootDS-class, originally
written by Gunther Roland,
which allows a direct access to NA49-data in DSPACK format.
This way root49 has the same functionality as the former rootds.
Schematic overview of the T49 Data Structures