158 JParser<> zap(
"Auxiliary program to draw npe as a function of EM-energy.");
167 catch(
const exception &error) {
168 FATAL(error.what() << endl);
191 const double precision = 1.0e-10;
193 while (fabs(
xmax -
xmin) > precision) {
196 const double E =
pow(10.0, x);
198 const double y = getEMShowerCorrection(E);
213 TH1D h0(
"h0", NULL, 10000, -4.0, +4.0);
214 TH1D h1(
"h1", NULL, 10000, -4.0, +4.0);
216 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
218 const Double_t x = h0.GetBinCenter(i);
219 const Double_t E =
pow(10.0, x);
221 h0.SetBinContent(i, E *
geanc() * pdf.getNumberOfPhotons());
222 h1.SetBinContent(i, getEMShowerCorrection(E));
Utility class to parse command line options.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
double geanc()
Equivalent muon track length per unit shower energy.
double getScatteringProbability(const double x)
Function to describe light scattering in water.
double getMinimalWavelength()
Get minimal wavelength for PDF evaluations.
double getMaximalWavelength()
Get maximal wavelength for PDF evaluations.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
double getQE(const double R, const double mu)
Get QE for given ratio of hit probabilities and expectation value of the number of photo-electrons...
double getAmbientPressure()
Get ambient pressure.
T pow(const T &x, const double y)
Power .
double getPhotocathodeArea()
Get photo-cathode area of PMT.
static const double MASS_ELECTRON
electron mass [GeV]
double getAbsorptionLength(const double lambda)
Get absorption length.
double getScatteringLength(const double lambda)
Get scattering length.
double getAngularAcceptance(const double x)
Angular acceptence of PMT.