HistoView.h
Go to the documentation of this file.
1 #ifndef _SdCalibPlotterOG_HistoView_h_
2 #define _SdCalibPlotterOG_HistoView_h_
3 
4 #include <vector>
5 #include <sevt/PMT.h>
6 #include <sevt/PMTCalibData.h>
7 #include <utl/QuadraticFitData.h>
8 #include <utl/ExponentialFitData.h>
9 #include "TObjectCollection.h"
10 #include <sdet/Station.h>
11 #include <sevt/Station.h>
12 
13 
14 class TCanvas;
15 class TH1D;
16 
17 
18 namespace SdCalibPlotterOG {
19 
20  class HistoView : public TObjectCollection {
21  public:
22  bool HasNoCalib(const sevt::PMT& pmt);
23 
24  bool IsNotOK(const sevt::PMT& pmt);
25 
26  void SetContent(TH1D& rh,
27  const std::vector<double>& bins, const std::vector<int>& hist,
28  const std::string& what = "",
29  const int subtractBin = -1) const;
30 
31  void DrawQuadraticFit(const utl::QuadraticFitData& qf, TH1D& hist,
32  const double lsValue);
33 
34  void DrawQuadraticFit(TH1D& hist, const double lsValue, const double fitValue = 0);
35 
36  void DrawExponentialFit(TH1D& hist, const utl::ExponentialFitData& ef);
37 
38  void DrawBaseline(const sevt::PMTCalibData& pmtCalib, const double max);
39 
40  void DrawOffset(const double x, const double max);
41 
42  void DrawAverage(TH1D& h);
43 
44  void DrawDecay(const double time);
45 
46  static void DividePage(TCanvas& c, const double xmargin = 0.01, const double ymargin = 0.01);
47  };
48 
49 
50  class MuonPeakView : protected HistoView {
51  public:
52  void Draw(const sdet::Station& dStation, const sevt::Station& sStation, const sevt::PMT& pmt, const int pmtId);
53  };
54 
55 
56  class MuonChargeView : protected HistoView {
57  public:
58  void Draw(const sdet::Station& dStation, const sevt::Station& sStation, const sevt::PMT& pmt, const int pmtId);
59  };
60 
61 
62  class MuonShapeView : protected HistoView {
63  public:
64  void Draw(const sdet::Station& dStation, const sevt::PMT& pmt, const int pmtId, const int calibrationVersion);
65  };
66 
67 
68  class PMTBaselineView : protected HistoView {
69  public:
70  void Draw(const sdet::Station& dStation, const sevt::PMT& pmt, const int pmtId);
71  };
72 
73 }
74 
75 
76 #endif
void DrawDecay(const double time)
Definition: HistoView.cc:316
Holds result of the quadratic fit.
class to hold data at PMT level
Definition: SEvent/PMT.h:28
Detector description interface for Station-related data.
void Draw(const sdet::Station &dStation, const sevt::Station &sStation, const sevt::PMT &pmt, const int pmtId)
Definition: HistoView.cc:30
void DrawQuadraticFit(const utl::QuadraticFitData &qf, TH1D &hist, const double lsValue)
Definition: HistoView.cc:214
bool IsNotOK(const sevt::PMT &pmt)
Definition: HistoView.cc:173
#define max(a, b)
class to hold data at Station level
void Draw(const sdet::Station &dStation, const sevt::PMT &pmt, const int pmtId, const int calibrationVersion)
Definition: HistoView.cc:87
void SetContent(TH1D &rh, const std::vector< double > &bins, const std::vector< int > &hist, const std::string &what="", const int subtractBin=-1) const
Definition: HistoView.cc:189
Online Calibration data.
Definition: PMTCalibData.h:27
void DrawBaseline(const sevt::PMTCalibData &pmtCalib, const double max)
Definition: HistoView.cc:273
bool HasNoCalib(const sevt::PMT &pmt)
Definition: HistoView.cc:157
void Draw(const sdet::Station &dStation, const sevt::PMT &pmt, const int pmtId)
Definition: HistoView.cc:111
void DrawExponentialFit(TH1D &hist, const utl::ExponentialFitData &ef)
Definition: HistoView.cc:259
static void DividePage(TCanvas &c, const double xmargin=0.01, const double ymargin=0.01)
Definition: HistoView.cc:131
void Draw(const sdet::Station &dStation, const sevt::Station &sStation, const sevt::PMT &pmt, const int pmtId)
Definition: HistoView.cc:57
void DrawOffset(const double x, const double max)
Definition: HistoView.cc:286

, generated on Tue Sep 26 2023.