ValenciaSCT
IFIC

Getting Started with DSTs

The DST format is loosely based on the old DST format , but is now contained in a ROOT TTree, in which - for each event - the following information is being stored:

DST format:

(!) these are run parameters rather than event variables, but may come in handy if one decides to merge RUN Ntuples into larger SCAN or SUPERSCAN Ntuples. Also they may serve as a double check of the run list.

For each of the reconstructed tracks, the following information is available

The cluster information of the telescopes is also available (to allow for cross-checks and custom alignments)

Work is in progress on the inclusion of a track reliability variabele (fit Chi squared)

Finally, for each binary cluster:

Hits only

Some users might be interested in the (binary and telescope) hits only and prefer to do their own alignment. Those know all they have to know and can generate their analysis macro skeleton by executing the following ROOT commands: TFile f("mydst.root"); DST->MakeCode("mymacro.C"); The result should look like this . On execution of the macro, a warning will appear:

Warning in : Unknow class: rootTrack. Cannot read BranchClones: Tracks
Warning in : Unknow class: outBinHit. Cannot read BranchClones: BinHits
Warning in : Unknow class: outTelHit. Cannot read BranchClones: TelHits
Warning in : Cannot find class:outEvent

This can be ignored, the macro will continue without any problem.

Using the tracks

Those who want to make full use of the DST - including the tracks - need the alignment parameters to be able to extrapolate the tracks from the global system to each DUT's local system. An example of a macro that opens the DST, reads in the alignment parameters and extrapolates the track is available here .

Advanced DST use

The code generated by MakeCode is flexible, but not very elegant. In the offline program (DST) events contained in a class that consists of some simple types and TClonesArrays of 3 types of objects: tracks, binary hits and telescope hits (or analog hits in general). The same class can be used to load a whole event from the DST into one "Event" object. This method is not as flexible as the previous, but results in far more compact code. The class definitions can be loaded into ROOT as a dynamic library. Source code, a Makefile and a macro filling a hitmap are available:

Summary Ntuple

We are working on a summary Ntuple that will contain a number of important parameters/results for each plane and run. Most likely these will be bias voltage, threshold, angle and magnetic field for the run parameters and efficiency, noise, average multiplicity, etc with their errors. In the first place this is a convenient way to represent all results (rather than generating hundreds of PS files). Secondly, it might be a useful tool to get a quick insight into the general behaviour of X as a function of Y and thus facilitate a more profound analysis.


Last update June 12, 2000
Marcel.Vos@ific.uv.es