Home - Watchman-PMT/Wavedump_Wrapper GitHub Wiki
UK PMT Software
Email comments / issues to [email protected]
Quick Start Instructions
Follow the Wavedump_Wrapper readme.
Software Task List
Software Framework Structure
The parent folder Wavedump_Wrapper contains the following sub-folders:
- Data_Acquisition - shell scripts to assist data taking
- Data_Processing - convert from .dat to .root, cook and add meta data (two stage process)
- Data_Analysis - analysis routines
- Common_Tools - generally useful code and data
Analysis Software
The Data_Analysis folder contains software for the following purposes:
- to be used in the common processing and analysis pipeline,
- for developing stand-alone analysis routines and the pipeline itself,
- to collect potentially useful code in development (and historical code) for later integration into the pipeline or common framework.
The Analyse_Cooked folder contains the mother analysis program analyse_cooked. This program is intended for analysing data that have been processed using the command line executables dat_to_root and cook_raw and is the place where automatable analysis routines should ultimately be implemented.
Other Executables
Some programs have been be developed as stand-alone utilities. Note that the examples for how to run these executables are based on the presumption that the programs have already been built with making.sh or otherwise.
The Shipping_Data folder contains the routine shipping_data for accessing Hamamatsu test data. This routine utilises the Common_Tools ShippingData.C class. An example of how to print shipping data for PMT 130 is as follows:
$ shipping_data 130
The Waveform_Plotter folder contains code to create and executable for plotting waveforms and/or FFTs from root files. This routine utilises the TCookedAnalyser.C class. An example of how to plot waveforms or FFTs is as follows:
$ waveform_plotter Run_1_PMT_78_Loc_0_Test_D.root
where the argument is the relative or absolute path to a file created using cook_raw.
Environment
The shell script WM.sh is used to set up the environment and contains several variables including paths to header files, binaries and libraries. It also contains functions for determining the nominal HV and first HV Step from HVScan.txt.
To print the nominal HV for PMT 15:
$ nominal_HV 15
To print the first HV step for PMT 131:
$ HV_step_1 131