32int main(
int argc,
char **argv)
38 string fileDescriptor;
43 JParser<> zap(
"Program to convert multi-dimensional histograms of muon light to multi-dimensional PDFs.");
46 zap[
'o'] =
make_field(fileDescriptor) =
"J%p.dat";
51 catch(
const exception &error) {
52 FATAL(error.what() << endl);
56 if (!hasWildCard(fileDescriptor)) {
57 FATAL(
"error file descriptor " << fileDescriptor << endl);
73 h1.transformer.reset(
new JFunction3DTransformer_t());
74 h2.transformer.reset(
new JFunction3DTransformer_t());
81 for (JMultiHistogram_t* p : { &h0, &h1, &h2 }) {
90 for (JMultiHistogram_t::super_iterator
91 i0 = h0.super_begin(),
92 i1 = h1.super_begin(),
93 i2 = h2.super_begin(); i0 != h0.super_end(); ++i0, ++i1, ++i2) {
95 const double W = i0.getValue().getIntegral();
100 const JDirection3D v(getSinThetaC(), 0.0, getCosThetaC());
102 int number_of_bins = (int) (2 + u.
getDot(v));
116 const JMultiHistogram_t& value;
120 { SCATTERED_LIGHT_FROM_MUON, h1 },
121 { SCATTERED_LIGHT_FROM_EMSHOWERS, h2 }
130 for (
int i = 0; i !=
sizeof(ntuple)/
sizeof(ntuple[0]); ++i) {
132 const string file_name = getFilename(fileDescriptor, ntuple[i].type);
136 NOTICE(
"storing output to file " << file_name <<
"... " << flush);
138 const JPDF_t pdf(ntuple[i].value);
140 pdf.store(file_name.c_str());