#include "hitutils.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "TStopwatch.h" #include "Math/MinimizerOptions.h" #include "TVirtualFitter.h" #include "TMatrixD.h" //function declarations int analyse(int argc, char **argv); int opendatafiles(int argc, char ** argv); void histograms(int argc, char ** argv); void set_background_v1(int frames); int closedatafiles(); //////global variables //opendatafiles long int fileframesize; BufferData* dataptr; char * filename; ifstream file; TFile *rootFile; //output root file TTree *rootTree; char * rootfilename; char * ethercatfile; TTree *tree2; //ethercat root tree char * timestampfilename; ifstream timestampfile; char * offsetfilename; ifstream offsetfile; bool ethercat; struct bpm_frame_v1 { double channel_amp[128]; double avg_position; double avg_width; double integratedsignalamp; int maxchannel; double maxchannel_amp; }; bpm_frame_v1 board_b[4]; bpm_frame_v1 board_b_bkg[4]; bpm_frame_v1 readboard(int frame, int boardnumber); int framestart = 0; struct beamRecon { double Position; double Focus; double Peak; double Rsqr; double Skew; double Kurtosis; }; beamRecon beamreconstruction(bpm_frame_v1 frametoanalyse, double threshold); beamRecon BPMbeamrecon[4];