#include <string>
#include <iostream>
#include <iomanip>
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#include "TH2D.h"
#include "JDAQ/JDAQ.hh"
#include "JDetector/JDetector.hh"
#include "JDetector/JDetectorToolkit.hh"
#include "JTools/JRange.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
 
Go to the source code of this file.
 | 
| int  | main (int argc, char **argv) | 
|   | 
Auxiliary application to convert PMT parameters text file to ROOT histograms. 
- Author
 - mkarel 
 
Definition in file JPlotPMTSystematics.cc.
 
◆ main()
      
        
          | int main  | 
          ( | 
          int  | 
          argc,  | 
        
        
           | 
           | 
          char **  | 
          argv  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 28 of file JPlotPMTSystematics.cc.
   33   typedef JRange<double>              JRange_t;
 
   54   catch(
const exception &error) {
 
   55     FATAL(error.what() << endl);
 
   63     load(detectorFile, detector);
 
   65   catch(
const JException& error) {
 
   69   if (detector.empty()) {
 
   70     FATAL(
"Empty detector." << endl);
 
   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);
 
  103     for (
size_t dom = 0; dom != detector.size(); ++dom) {
 
  105       const JModule& module = detector.at(dom);
 
  107       TH1D* 
p1 = (TH1D*) in->Get(
MAKE_CSTRING(module.getID() << 
".1" << key));
 
  113       const int iy = (module.getString() - 1) * number_of_floors  +  module.getFloor();
 
  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) {
 
  134       const JModule& module = detector.at(dom);
 
  137                                                      << setw(3) << setfill(
'0') << module.getString() << 
' '  
  138                                                      << setw(2) << setfill(
'0') << module.getFloor()));
 
  141     h2.GetZaxis()->SetTitle(key.c_str());