wavecatcher-analysis
|
Class containing legacy functions to be removed in the future. Let me know if they are still in use. More...
#include <Legacy_functions.h>
Public Member Functions | |
void | FractionEventsAboveThreshold (float=4, bool=true, bool=true, double=0., double=0., bool=false) |
Find events with max/min above/below a certain threshold. | |
Legacy_functions (int no_of_bin_files_to_read) | |
Initializer will call initializer of ReadRun class. | |
![]() | |
TH1F * | BaselineCorrectionResults (int, int, float=-5, float=5, int=200) |
Histograms of the contents of baseline_correction_result. | |
void | ChargeCorrelation (float, float, float, float, float, float, int, int, int, bool=false) |
Plot correlation of integrals/amplitudes between two channels. | |
float * | ChargeList (int, float=20, float=80, float=0, float=300, bool=1) |
Returns array with the individual "charge"/amplitude for all events of one channel. | |
TH1F * | ChargeSpectrum (int, float, float, float=0, float=300, float=-50, float=600, int=750) |
Histogram of the "charge" spectrum for one channel. | |
int | CheckBoundsX (int) |
Check if index exists in time of waveforms. | |
void | CorrectBaseline (float, float=-999) |
Baseline correction constant window. | |
void | CorrectBaseline_function (vector< float > &, float, float, int) |
Helper function called by CorrectBaseline() | |
void | CorrectBaselineMin (int=100, double=0.5, int=0, int=0, int=2) |
Baseline correction using minimum sum ( \(\propto\) mean) in range for correction. | |
void | CorrectBaselineMin (vector< float >, double, int, int) |
Wrapper for backwards compatibility. | |
void | CorrectBaselineMin (vector< float >, double=0, int=2) |
Baseline correction using minimum sum ( \(\propto\) mean) in range for correction. | |
void | CorrectBaselineMinSlopeRMS (int=100, bool=false, double=0.5, int=0, int=0, int=2) |
Baseline correction method searching for non-monotonic, rather constant regions. | |
void | CorrectBaselineMinSlopeRMS (vector< float >, double, int, int) |
Wrapper for backwards compatibility. | |
void | CorrectBaselineMinSlopeRMS (vector< float >, double=0, int=2) |
Baseline correction method searching for non-monotonic, rather constant regions. | |
void | FilterAll (double=.3, double=.9, double=.2) |
Filter all waveforms. | |
int | GetChannelIndex (int) |
Match channel number (wavecatcher input channel) to channel index. | |
virtual int | GetCurrentChannel (int) |
Get the current channel index for a certain waveform index. | |
virtual int | GetCurrentEvent (int) |
Get the current event index for a certain waveform index. | |
int | GetEventIndex (unsigned int) |
Returns index of a certain event number (if data files are read in parallel threads) | |
array< int, 3 > | GetIntWindow (const vector< float > &, float, float, float, float, int=0) |
Determine indices for integration window for peaks. | |
array< int, 3 > | GetIntWindow (const vector< float > &, int, int, int, int, int=0) |
Determine indices for integration window for peaks with bin indices. | |
array< int, 3 > | GetIntWindow (TH1F *, float, float, float, float, int=0) |
Determine indices for integration window for peaks. | |
float | GetPeakIntegral (const vector< float > &, float, float, float, float, int=0) |
Calculate the integral around a peak with several options explained in GetIntWindow(). | |
float | GetPeakIntegral (TH1F *, float, float, float, float, int=0) |
Calculate the integral around a peak with several options explained in GetIntWindow(). | |
void | GetTimingCFD (float=.3, float=100, float=140, double=0., bool=true, int=2, bool=false, bool=false) |
Determine the timing of the maximum peak with constant fraction discrimination. | |
virtual int | GetWaveformIndex (int, int) |
Returns index of a certain event number (if data files are read in parallel threads) | |
TH1F * | Getwf (int) |
Helper that returns the waveform histogram for a certain waveform number number. | |
virtual TH1F * | Getwf (int, int, int=1) |
Helper that returns the waveform histogram for a certain channel number and a certain event number. | |
template<typename T > | |
T * | getx (double shift=0.) |
Get array of x axis (time of the bin centers) for standard wavecatcher settings. | |
double * | gety (int) |
Get array of y values for a certain waveform. | |
double * | gety (int, int) |
Get array of y values for a certain waveform. | |
TH1F * | His_GetTimingCFD (int, float, float, int=-999) |
Plot results of GetTimingCFD() | |
TH1F * | His_GetTimingCFD_diff (vector< int >, vector< int >, float, float, int=-999) |
Plot timing difference between the mean timings of two channel ranges. | |
float | IndexToTime (int) |
Convert the bin number of the waveform to the time of the left bin edge | |
void | IntegralFilter (vector< float >, vector< bool >, float, float, float=50, float=250, bool=false, bool=false) |
Skip events with threshold on integral. | |
TGraph2D * | MaxDist (int, float=0, float=300) |
Finds maximum amplitude for a given channel in time window ["from", "to"] and creates 3d map of waveforms ordered by maxima on z axis. | |
virtual int | Nevents_good (int=0) |
Number of good events that are not skipped. | |
bool | PlotChannel (int) |
Check if a channel index should be plotted according to ReadRun::plot_active_channels. | |
void | PlotChannelAverages (bool=false) |
Plot averages only of the good, corrected waveforms for each channel. | |
void | PlotChannelSums (bool=false, bool=false, double=0., double=0., int=2) |
Plot sums of all raw waveforms for each channel. | |
void | PlotWFHeatmaps (float=-20, float=200, int=880, string="", float=0, EColorPalette=kRainBow) |
Plot stacks of all non-skipped waveforms for all active channels. | |
vector< bool > | PolarityMap (bool, int) |
Channel map of polarity changes during reading. For parameters see ReadFile(). | |
void | Print_GetTimingCFD (float=100, float=140, int=0, int=-999, string="S", bool=true) |
Plot results of GetTimingCFD() | |
void | Print_GetTimingCFD_diff (vector< int >, vector< int >, float=100, float=140, int=0, int=-999, float=-999, float=-999, string="RS", bool=true) |
Plot timing difference between the mean timings of two channel ranges. | |
void | PrintBaselineCorrectionResults (float=-5, float=5, int=200) |
Print histogram of the baseline correction values for all channels. | |
void | PrintChargeSpectrum (float, float, float=0, float=300, float=-50, float=600, int=750, float=0., float=0., int=99, int=0, bool=false) |
Plots the "charge" spectrums of all channels. | |
void | PrintChargeSpectrumWF (float, float, float=0, float=300, int=1, float=0., float=0., float=0., float=0.) |
Plot waveforms of all channels for a given event number and add the determined integration windows to the plot. | |
void | PrintDCR (float=15, float=85, float=0, float=300, double=3) |
Calculate (SiPM) dark count rate. | |
void | PrintMaxDist (float=0, float=300) |
Finds maximum amplitude for a given channel in time window ["from", "to"] and creates 3d map of waveforms ordered by maxima on z axis. | |
void | PrintSkippedEvents () |
Prints a list of all skipped events into the terminal for diagnostics. | |
void | PrintTimeDist (float=0, float=300, float=0, float=300, int=100, int=0, float=.3) |
Time distribution of maximum, CFD, or 10% - 90% rise time in a certain time window. | |
void | PrintWFProjection (float=0, float=320, float=-50, float=50, int=200) |
Plots waveform projection histograms of all channels. | |
virtual void | ReadFile (string, bool=false, int=9, string="out.root", bool=false, long long=-1) |
Routine to read files created by the wavecatcher. | |
ReadRun (int last_bin_file=0, int first_bin_file=0) | |
Constructor of the class. | |
void | SaveChargeLists (float=20, float=80, float=0, float=300, bool=1) |
Saves TGraphs to root file with the individual "charge"/amplitude for all events and all channels. | |
void | ShiftAllToAverageCF () |
This function shifts all waveforms to the average signal starting times for each channel. | |
virtual bool | SkipEvent (int, int=-1) |
Check if event should be skipped. | |
void | SkipEventsPerChannel (vector< float >, float=0, float=0, bool=false) |
Skip events above/below individual thresholds per channel. | |
void | SkipEventsTimeDiffCut (int, int, double, double, bool=false) |
Skip events where the time difference between two channels is outside of specified range. | |
void | SmoothAll (double, int) |
Smoothing all waveforms which are not skipped (for testing, careful when using for analysis!) | |
void | SmoothAll (double, string="Gaus") |
Smoothing all waveforms which are not skipped (for testing, careful when using for analysis!) | |
TH1F * | TimeDist (int, float=0, float=300, float=0, float=300, int=100, int=0, float=.3) |
Time distribution of maximum, CFD, or 10% - 90% rise time in a certain time window. | |
int | TimeToIndex (float) |
Convert time to the bin number of the waveform. | |
void | UnskipAll () |
Sets skip_event flag to false for all events, removing any previous cuts. | |
TH2F * | WFHeatmapChannel (int, float=-20, float=200, int=880) |
2D histogram of all non-skipped waveforms for one channel | |
TH1F * | WFProjectionChannel (int, int=0, int=1024, float=-50, float=50, int=200) |
Waveform projections for one channel. | |
virtual | ~ReadRun () |
Destructor. | |
Additional Inherited Members | |
![]() | |
static pair< float, bool > | LinearInterpolation (float, float, float, float, float, bool=false) |
Simple linear interpolation for x. | |
![]() | |
vector< int > | active_channels |
Stores the numbers of the active channels. | |
vector< vector< float > > | amplValuessum |
Collects sums of all waveforms for each channel. | |
vector< vector< float > > | baseline_correction_result |
Stores baseline correction results for CorrectBaseline() and related functions. | |
int | binNumber |
Number of bins (usually 1024 samples per waveform). | |
float | DAQ_factor = 250. / 4096. |
DAQ conversion factor for wavecatcher output to mV. | |
string | data_path |
Path to data. | |
bool | discard_original_eventnr = false |
Can be used to discard the original event numbering of the data. | |
int | end_read_at_channel = -1 |
See ReadRun::start_read_at_channel. | |
vector< unsigned int > | eventnr_storage |
Events will be stored here in the order they have been read. | |
int | FirstBinFileToRead |
Number first of .bin file to be read in. | |
vector< TFitResultPtr > | fit_results |
Stores the fit results of PrintChargeSpectrum() for all channels and all function calls in ascending order. | |
int | LastBinFileToRead |
Number of last .bin file to be read in. | |
int | maxNWF = 1e7 |
Maximum possible number of waveforms in data: number of active channels x number of events. | |
vector< int > | maxSumBin |
Stores bin numbers where the sum of waveforms have their maximum. | |
vector< float > | mean_integral |
Stores the mean integral/lightyield from PrintChargeSpectrum() for all channels. | |
int | nchannels |
Number of active channels in data. | |
int | nChannelsWC = 64 |
Wavecatcher hardware max. number of channels (reduce/increase if not using the 64 channel crate) | |
int | nevents = 0 |
Number of triggered events in data. | |
int | nwf |
Total number of waveforms read from data: number of active channels x number of events. | |
vector< int > | plot_active_channels |
Stores the numbers of the active channels which should be plotted. | |
vector< vector< float > > | PrintChargeSpectrum_cal = vector(nChannelsWC, vector<float>(2, 1)) |
Calibration values to normalize charge spectrum to number of photoelectrons Chennels must be ordered as in plot_active_channels. The first entry must be the gain and the second the position of the pedestal. | |
vector< float > | PrintChargeSpectrum_pars |
Starting values of the fit parameters for PrintChargeSpectrum() | |
TFile * | root_out |
Stores results of analysis. | |
vector< vector< float > > | rundata |
Stores waveforms. | |
vector< bool > | skip_event |
Stores the event numbers which should be skipped in the analysis. | |
float | SP = .3125 |
Sampling: ns per bin of data, sampling rate 3.2 GS/s -> 0.3125 ns. | |
float | SP_inv = 1 / .3125 |
1/SP | |
int | start_read_at_channel = -1 |
Do analysis only for limited range of channels to reduce memory usage. | |
vector< int > | switch_polarity_for_channels |
Stores the channel number where the polarity should be inverted. Example use to switch polarity for channel 0 and channel 14: mymeas.switch_polarity_for_channels = {0, 14}; . Needs to be called before ReadFile(). | |
float | tCutEndg |
End of time window for baseline correction when using ReadRun::Using_BaselineCorrection_in_file_loop. | |
float | tCutg |
Start of time window for baseline correction when using ReadRun::Using_BaselineCorrection_in_file_loop. | |
vector< TFitResultPtr > | timing_fit_results |
Stores the fit results of Print_GetTimingCFD() for all channels. | |
vector< vector< float > > | timing_results |
Matrix to store timing of peaks from GetTimingCFD() | |
bool | Using_BaselineCorrection_in_file_loop = false |
Set true for baseline correction during data reading. Needs to be called before ReadFile(). | |
![]() | |
virtual void | checkData (bool isBaselineCorrection=false) const |
Primitive check to see if data has been loaded. | |
![]() | |
int | PlotChannelAverages_cnt |
Index for multiple executions of the same plotting function. | |
int | PlotWFHeatmaps_cnt |
Index for multiple executions of the same plotting function. | |
int | PrintChargeSpectrum_cnt |
Index for multiple executions of the same plotting function. | |
int | PrintWFProjection_cnt |
Index for multiple executions of the same plotting function. | |
Class containing legacy functions to be removed in the future. Let me know if they are still in use.
Definition at line 7 of file Legacy_functions.h.
|
inline |
Initializer will call initializer of ReadRun class.
no_of_bin_files_to_read | Parameter not yet implemented |
Definition at line 11 of file Legacy_functions.h.
void Legacy_functions::FractionEventsAboveThreshold | ( | float | threshold = 4 , |
bool | max = true , |
||
bool | greater = true , |
||
double | from = 0. , |
||
double | to = 0. , |
||
bool | verbose = false |
||
) |
Find events with max/min above/below a certain threshold.
Needs to be called before the charge spectrum etc functions.
Baseline correction should be called before this function. Sequential Clone() loop makes this inefficient. Please let me know if the function is still in use and should be updated.
threshold | Threshold in mV. |
max | If true uses max, else uses min. |
greater | If true looks for events with max/min>threshold, else looks for events with max/min<threshold. |
from | Start search at "from" in ns. |
to | End search at "to" in ns. |
verbose | Set true for extra verbosity. |
Definition at line 15 of file Legacy_functions.cc.