#include #include #include "TROOT.h" #include "TFile.h" #include "TH1D.h" #include "TH2D.h" #include "JSupport/JMultipleFileScanner.hh" #include "JROOT/JManager.hh" #include "JAcoustics/JEvt.hh" #include "JAcoustics/JSupport.hh" #include "Jeep/JPrint.hh" #include "Jeep/JParser.hh" #include "Jeep/JMessage.hh" /** * \file * * Auxiliary program to plot average tilt angles. * \author mdejong */ int main(int argc, char **argv) { using namespace std; using namespace JPP; JMultipleFileScanner inputFile; JLimit_t& numberOfEvents = inputFile.getLimit(); string outputFile; int debug; try { JParser<> zap("Auxiliary program to plot average tilt angles."); zap['f'] = make_field(inputFile, "input file (output of JKatoomba)"); zap['n'] = make_field(numberOfEvents) = JLimit::max(); zap['o'] = make_field(outputFile) = "parramatta.root"; zap['d'] = make_field(debug) = 2; zap(argc, argv); } catch(const exception &error) { FATAL(error.what() << endl); } JManager H2(new TH2D("string[%]", NULL, 500, -50.0, +50.0, 500, -50.0, +50.0)); while (inputFile.hasNext()) { STATUS("event: " << setw(10) << inputFile.getCounter() << '\r'); DEBUG(endl); const JEvt* evt = inputFile.next(); for (JEvt::const_iterator i = evt->begin(); i != evt->end(); ++i) { H2 ->Fill(i->tx*1.0e3, i->ty*1.0e3); // [mrad] H2[i->id]->Fill(i->tx*1.0e3, i->ty*1.0e3); // [mrad] } } STATUS(endl); TFile out(outputFile.c_str(), "recreate"); out << H2 << *H2; out.Write(); out.Close(); }