3 #include <utl/AugerException.h>
4 #include <utl/Reader.h>
5 #include <utl/Branch.h>
6 #include <utl/AugerUnits.h>
7 #include <utl/NormalDistribution.h>
13 using namespace AachenTankResponseNS;
29 fTable.OpenFile(dataFilePath);
36 if (nmuon == 0)
return 0;
37 if (nmuon <
ulong(fTable.GetTableLimit()))
38 return fTable.Moment(theta,nmuon,1);
39 return fTable.GetFittedMean(theta,nmuon);
46 if (nmuon == 0)
return 0;
47 if (nmuon <
ulong(fTable.GetTableLimit())) {
48 const double m = fTable.Moment(theta,nmuon,1);
49 return sqrt(fTable.Moment(theta,nmuon,2)-m*
m);
51 return fTable.GetFittedSigma(theta,nmuon);
58 if (nmuon == 0)
return signal == 0;
59 if (nmuon < (
unsigned long)(fTable.GetTableLimit()))
60 return fTable.PDF(signal,theta,nmuon);
62 const double m = fTable.GetFittedMean(theta,nmuon);
63 const double s = fTable.GetFittedSigma(theta,nmuon);
72 if (nmuon == 0)
return 0;
73 if (nmuon < (
unsigned long)(fTable.GetTableLimit()))
74 return fTable.CDF(signalmin,theta,nmuon);
76 const double m = fTable.GetFittedMean(theta,nmuon);
77 const double s = fTable.GetFittedSigma(theta,nmuon);
virtual double PDF(const double signal, const double theta, const double r, const ulong muons) const
PDF of signal, given a fixed number of muons.
virtual double Mean(const double theta, const double r, const ulong muons) const
Average signal, given fixed number of muons.
Branch GetChild(const std::string &childName) const
Get child of this Branch by child name.
double NormalPDF(const double x)
double NormalCDF(const double x)
virtual double CDF(const double threshold, const double theta, const double r, const ulong muons) const
Probability of signal begin smaller than smax, given a fixed number of muons.
Class representing a document branch.
virtual double StDev(const double theta, const double r, const ulong muons) const
Standard deviation of signal, given fixed number of muons.
void GetData(bool &b) const
Overloads of the GetData member template function.
static TankResponse & GetInstance(const utl::Branch branch)