Jpp
|
Analyzes the signal of a nanobeacon in a PMT. More...
#include <NBPulse.hh>
Public Member Functions | |
NBPulse () | |
Default constructor. More... | |
NBPulse (TH2D *h) | |
Constructor. More... | |
~NBPulse () | |
Destructor. More... | |
double | Kolmogorov_Smirnov_uniform (TH1D *h) |
Performs a Kolmogorov-Smirnov compatibility test between the hit time distribution and a uniform distribution. More... | |
void | initialize () |
Leaves the pulse ready for analysis by projecting the time vs ToT distribution to the time axis and moving it out of the Root file directory. More... | |
void | analyzeFast () |
Performs a fast analysis of the hit time distribution. More... | |
void | computeBaseline (TH1 *h) |
Computes baseline of the hit time distribution measured by the PMT. More... | |
void | fit () |
Fits the hit nanobeacon signal to a model composed by a Landau and a Gauss functions. More... | |
bool | IsGood () |
Check if the peak is good. More... | |
bool | IsFitted () |
Check if the peak is fitted. More... | |
bool | IsSaturatedHit () |
Check if the hit time distribution is saturated. More... | |
bool | IsWeak () |
Check if the hit time distribution is weak. More... | |
TH1D * | getHtime_full () |
Get the hit time distribution. More... | |
TH1D * | gettime_peak () |
Get the hit time distribution. More... | |
TH1D * | gettot_peak () |
Get the hit time distribution. More... | |
TH2D * | gettime_vs_tot () |
Get the hit time vs ToT distribution. More... | |
RooWorkspace | getWorkspace () |
Get all the information from the fit. More... | |
double | getPeakTime () |
Get the arrival time of the nanobeacon pulse. More... | |
double | getMeanToT () |
Get the mean of the ToT distribution of the hits produced by the nanobeacon. More... | |
double | getSigmaToT () |
Get the standard deviation of the ToT distribution of the hits produced by the nanobeacon. More... | |
string | getName () |
Get name of the hit time vs ToT histogram. More... | |
Private Attributes | |
TH2D * | time_vs_tot |
TH1D * | htime_full |
TH1D * | htime_peak |
TH1D * | tot_peak |
RooWorkspace | w |
pair< double, double > | baseline |
double | tlow |
double | thigh |
double | tpeak |
double | nhits |
double | meanToT |
double | sigmaToT |
double | max_ToT |
int | n_bins_right |
int | n_bins_left |
int | n_bins_before_peak |
int | n_bins_afterpulse |
int | max_n_bins_baseline |
int | min_n_bins_baseline |
int | n_sigma_peak |
int | n_sigma_before_peak |
double | fit_region_min |
double | fit_region_max |
double | fit_range_min |
double | fit_range_max |
double | landau_m_min |
double | landau_m_max |
double | landau_s_min |
double | landau_s_max |
double | gaus_m_min |
double | gaus_m_max |
double | gaus_s_min |
double | gaus_s_max |
double | l_g_ratio_min |
double | l_g_ratio_max |
double | KS_threshold |
bool | analyzed |
bool | fitted |
bool | is_good |
bool | saturated_hit |
bool | saturated_tot |
bool | weak |
Analyzes the signal of a nanobeacon in a PMT.
Definition at line 33 of file NBPulse.hh.
|
inline |
|
inline |
Constructor.
This constructor initializes the nanobeacon pulse from a 2D histogram containing the time vs ToT hit distribution.
h | time vs ToT histogram |
Definition at line 76 of file NBPulse.hh.
|
inline |
|
inline |
Performs a Kolmogorov-Smirnov compatibility test between the hit time distribution and a uniform distribution.
h | The hit time distribution |
Definition at line 141 of file NBPulse.hh.
|
inline |
Leaves the pulse ready for analysis by projecting the time vs ToT distribution to the time axis and moving it out of the Root file directory.
Definition at line 184 of file NBPulse.hh.
|
inline |
Performs a fast analysis of the hit time distribution.
Definition at line 198 of file NBPulse.hh.
|
inline |
Computes baseline of the hit time distribution measured by the PMT.
For this the first bins of the distribution (where the nanobeacon pulse is absent) are used.
h | Histogram with the hit time distribution |
Definition at line 279 of file NBPulse.hh.
|
inline |
Fits the hit nanobeacon signal to a model composed by a Landau and a Gauss functions.
Definition at line 355 of file NBPulse.hh.
|
inline |
Check if the peak is good.
Definition at line 439 of file NBPulse.hh.
|
inline |
Check if the peak is fitted.
Definition at line 451 of file NBPulse.hh.
|
inline |
Check if the hit time distribution is saturated.
Definition at line 463 of file NBPulse.hh.
|
inline |
Check if the hit time distribution is weak.
Definition at line 475 of file NBPulse.hh.
|
inline |
Get the hit time distribution.
Definition at line 488 of file NBPulse.hh.
|
inline |
Get the hit time distribution.
Definition at line 501 of file NBPulse.hh.
|
inline |
Get the hit time distribution.
Definition at line 514 of file NBPulse.hh.
|
inline |
Get the hit time vs ToT distribution.
Definition at line 528 of file NBPulse.hh.
|
inline |
Get all the information from the fit.
Definition at line 541 of file NBPulse.hh.
|
inline |
Get the arrival time of the nanobeacon pulse.
Definition at line 554 of file NBPulse.hh.
|
inline |
Get the mean of the ToT distribution of the hits produced by the nanobeacon.
Definition at line 567 of file NBPulse.hh.
|
inline |
Get the standard deviation of the ToT distribution of the hits produced by the nanobeacon.
Definition at line 580 of file NBPulse.hh.
|
inline |
Get name of the hit time vs ToT histogram.
Definition at line 593 of file NBPulse.hh.
|
private |
Definition at line 35 of file NBPulse.hh.
|
private |
Definition at line 37 of file NBPulse.hh.
|
private |
Definition at line 37 of file NBPulse.hh.
|
private |
Definition at line 37 of file NBPulse.hh.
|
private |
Definition at line 39 of file NBPulse.hh.
|
private |
Definition at line 41 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 43 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 45 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 47 of file NBPulse.hh.
|
private |
Definition at line 49 of file NBPulse.hh.
|
private |
Definition at line 51 of file NBPulse.hh.
|
private |
Definition at line 53 of file NBPulse.hh.
|
private |
Definition at line 55 of file NBPulse.hh.
|
private |
Definition at line 57 of file NBPulse.hh.
|
private |
Definition at line 59 of file NBPulse.hh.