32int main(
int argc,
char **argv)
50 JParser<> zap(
"Program to plot PDF of Cherenkov light from EM-shower using interpolation tables.");
63 catch(
const exception &error) {
72 Z.push_back(geanz.getLength(E, (i + 0.5) / (
double)
numberOfPoints));
88 const int N = inputFile.size();
95 for (
int i = 0; i != N; ++i) {
97 NOTICE(
"loading input from file " << inputFile[i] <<
"... " << flush);
99 pdf[i].load(inputFile[i].c_str());
101 pdf[i].setExceptionHandler(
new JFunction1D_t::JDefaultResult(
JMATH::zero));
103 npe[i] = JNPE_t(pdf[i]);
115 if (!x.is_valid()) { x =
JHistogram_t(150, 0.0, 150.0); }
116 if (!y.is_valid()) { y =
JHistogram_t(200, -1.0, +1.0); }
118 TH2D h0(
"h0",
"PDF Projection; D [m]; cos #theta_{0}",
119 x.getNumberOfBins(), x.getLowerLimit(), x.getUpperLimit(),
120 y.getNumberOfBins(), y.getLowerLimit(), y.getUpperLimit());
122 for (
int ix = 1;
ix <= h0.GetNbinsX(); ++
ix) {
123 for (
int iy = 1;
iy <= h0.GetNbinsY(); ++
iy) {
125 const double cd = h0.GetYaxis()->GetBinCenter(
iy);
126 const double D = h0.GetXaxis()->GetBinCenter(
ix);
132 const double W = 1.0 / (
double) Z.size();
136 const double __D = sqrt(D*D - 2.0*(D*
cd)*(*z) + (*z)*(*z));
137 const double __cd = (D *
cd - (*z)) /
__D;
139 for (
int i = 0; i != N; ++i) {
143 catch(
const exception& error) {}
149 for (
int i = 0; i != N; ++i) {
154 h0.SetBinContent(
ix,
iy, Y);
Various implementations of functional maps.
Longitudinal emission profile EM-shower.
General purpose messaging.
Numbering scheme for PDF types.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
int main(int argc, char **argv)
I/O formatting auxiliaries.
Data structure for angles in three dimensions.
double getTheta() const
Get theta angle.
double getPhi() const
Get phi angle.
Template definition of a multi-dimensional oscillation probability interpolation table.
Utility class to parse command line options.
static const JZero zero
Function object to assign zero value.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).