#include #include "FCalibrateEvent.c" #include int FOscilloscopeAllPx(fits &datafile, vector &data, vector &data_offset, unsigned int &data_num, UInt_t data_px, vector &drs_basemean, vector &drs_gainmean, vector &drs_triggeroffsetmean, UInt_t data_roi, float threshold, TH1F* spectrum[]) //Data, calibration, data_roi, data_num, data_px, threshold, two histograms { UInt_t start_sample = 10; UInt_t end_sample = data_roi-60; UInt_t min_dist = 150; UInt_t integration_size = 10; UInt_t integration_delay = 5; vector calevent(data_px*data_roi); //Vector for the calibrated event float sample, last_sample, integral; UInt_t drs_calib_offset; //********************************************************************************** for (size_t i=0; ithreshold)) { integral = 0; //std::accumulate(calevent.begin()[k+integration_delay],calevent.begin()[k+integration_delay+integration_size]); for(UInt_t l=integration_delay; l60)&&(integral<=300)) { // if((integral>60)&&(integral<=300)) { //Iterate for the pulseshape // for(Int_t l=-10; l<60; l++) // { // drs_calib_offset = (k+l+data_offset[j])%data_roi; // sample = (data[j*data_roi+k+l]*2000/4096.-drs_basemean[j*data_roi+drs_calib_offset]-drs_triggeroffsetmean[j*data_roi+k+l])/drs_gainmean[j*data_roi+drs_calib_offset]*1907.35; // } // } spectrum[j]->Fill(integral); k+=min_dist; } } } } return 0; }