28int main(
int argc,
char **argv)
54 catch(
const exception &error) {
55 FATAL(error.what() << endl);
70 FATAL(
"Empty detector." << endl);
73 const int number_of_strings = getNumberOfStrings(
detector);
74 const int number_of_floors = getNumberOfFloors (
detector);
76 const int ny = number_of_strings * number_of_floors;
79 TFile* in = TFile::Open(inputFile.c_str(),
"read");
82 FATAL(
"No data in inputfile " << inputFile << endl);
87 for (map_type::const_iterator i = parameters.begin(); i != parameters.end(); ++i) {
89 const string key = i->first;
90 const JRange_t range = i->second;
94 100, range.first, range.second);
98 NUMBER_OF_PMTS, -0.5, NUMBER_OF_PMTS - 0.5,
103 for (
size_t dom = 0; dom !=
detector.size(); ++dom) {
113 const int iy = (
module.getString() - 1) * number_of_floors + module.getFloor();
115 for (
int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
117 const double value =
p1->GetBinContent(pmt+1);
121 h2.SetBinContent(pmt+1, iy, value);
127 h1.GetXaxis()->SetTitle(key.c_str());
128 h1.GetYaxis()->SetTitle(
"PMTs");
130 h2.GetXaxis()->SetTitle(
"PMT DAQ index");
132 for (
size_t dom = 0; dom !=
detector.size(); ++dom) {
137 << setw(3) << setfill(
'0') << module.
getString() <<
' '
138 << setw(2) << setfill(
'0') << module.
getFloor()));
141 h2.GetZaxis()->SetTitle(key.c_str());