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);
57 FATAL(
"error file descriptor " << fileDescriptor << endl);
63 JMAPLIST<JHistogramMap_t,
65 JHistogramGridMap_t>::maplist> JMultiHistogram_t;
67 typedef JPDFTransformer<3, abscissa_type> JFunction3DTransformer_t;
73 h1.transformer.reset(
new JFunction3DTransformer_t());
74 h2.transformer.reset(
new JFunction3DTransformer_t());
79 JFileStreamReader
in(inputFile.c_str());
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();
99 const JDirection3D
u(JAngle3D(i0->second->first, i0->second->second->first));
102 int number_of_bins = (int) (2 +
u.getDot(
v));
116 const JMultiHistogram_t& value;
125 typedef JPDFTable<JPolint1Function1D_t,
126 JMAPLIST<JPolint1FunctionalMap,
127 JPolint1FunctionalGridMap,
128 JPolint1FunctionalGridMap>::maplist> JPDF_t;
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());
144 catch(
const JException& error) {
145 FATAL(error.what() << endl);
Utility class to parse command line options.
double getCosThetaC()
Get average cosine of Cherenkov angle of water corresponding to group velocity.
scattered light from muon
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
scattered light from EM showers
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any.
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity.
bool hasWildCard(const std::string &file_name)
Check presence of wild card.