WARNING : The software relies on Boost and ROOT librairies. A compiler with c++11 standard is also required (typical gcc version > 4.4).
A framework to analyse PMTData written in ROOT format, inside a TTree (cf ROOT). The ROOT file is written in a specific structure. The following table describe the structure of the 2 trees holding the DAQ information and the data per channel :
PMTDataHeader | PMTData |
---|---|
TBranch* GlobalHeader | UInt_t DataChXXX[nbSmp] |
TBranch* ChXXXHeader | UInt_t DataChXXX[nbSmp]... |
TBranch* ChXXXHeader ... |
The ChXXX value correspond to the channel number.
The software will only work using ROOT files written in this format. It can handles the analysis of multiple files at the same time too. It handles also uses of joker * to select the files. Have a look at QMUL-data-converter in order to write your data in the appropriate format.
Classes provided to build analysis software are describe in the following :
This object opens the ROOT TTrees and create the relevant signal histograms.
PMTData *Data = new PMTData(std::string inputFileName);
TH1I *hExample = Data->getSignalHistogram(0,0);
hExample->Draw();
This object takes a PMTData in argument and contains the fundamental bricks and methods to analyze your signals. Construction of the class is on-going at the moment.
- PMTAnalysis which is based on main.cc This is a template program who takes data file in argument and open the TTrees inside, to create the signal histogram.
make PMTAnalysis
./PMTAnalysis /path/to/data1.root /path/to/data2.root ...
- showPlots (based on showPlots.cc) This is an example program plotting the first signal recorded on channel Ch0 on your data.
make showPlots
./showPlots /path/to/data.root