Instructions on how to use/read the online ROOT file of TDC data

Get a kerberos ticket

kinit -f username@FNAL.GOV

Setup the ROOT environment

This needs to be a newish version of ROOT i.e. > 5.30.

export ROOTSYS=/directory/with/root
export PATH=$PATH:$ROOTSYS/bin

Download the script from here

chmod +x
. ./

This takes a couple of minutes since it copies the whole git tracker DAQ/readout repository (70 Mb) from FNAL.

In your current directory this copies/creates a subset of the files from the git repository. The key files are:


To build the code:

cd src

To run the code

../bin/Gm2TrackerDaqAnalysisExample.exe name-of-Root-file

An example ROOT file (called Gm2TrackerDummyData.root) can be found here and this
was produced with ROOT 5.34/10 with g++ 4.4.7 (ie CERN SL6, FERMI SLF6).


As can be seen from Gm2TrackerDummyData.root (and src/ the ROOT data is associated with a given spill, readout-number and TDC. Since the testbeam spills will have a long duration (5 sec, every 60 secs) then we will have several "readouts" of a given TDC buffer per spill (and so necessarily some deadtime). We expect to read 5ms worth of spill data at a time from both TDCs with a deadtime (during readout) of a similar time and so we expect approx 500 TDC buffers worth of data per spill. Each buffer readout has as an associated readout number and so the data for the same readout number and spill number will be the data we expect to be in-coincidence between the two TDCs. There will be approx 500 readout numbers for a given spill.

The pertinent data for tracking is in the branch called "data" in the tree "READOUT_DATA". "hit_tdc_num" is the number identifying which TDC the data is for, "hit_channel" is the straw channel number and "hit_time_ns" the time of the hit on that straw.