PMTCalibData.h
Go to the documentation of this file.
1 #ifndef _sevt_PMTCalibData_h_
2 #define _sevt_PMTCalibData_h_
3 
4 #include <utl/ShadowPtr_fwd.h>
5 #include <sdet/PMTConstants.h>
6 #include <vector>
7 
8 
9 namespace sevt {
10 
11  class PMT;
12 
13 
27  class PMTCalibData {
28  public:
29  bool IsTubeOk() const { return fIsTubeOk; }
30 
31  bool IsLowGainOk() const { return fIsLowGainOk && fIsTubeOk; }
32 
33  double GetRate() const { return fRate; }
34 
36  double GetOnlinePeak() const { return fOnlinePeak; }
37 
39  double GetOnlineCharge() const { return fOnlineCharge; }
40 
42  { return fBaseline[gain]; }
43 
45  { return fBaselineRMS[gain]; }
46 
47  double GetGainRatio() const { return fGainRatio; }
48 
49  double GetGainRatioRMS() const { return fGainRatioRMS; }
50 
52  double GetHighGainDelay() const { return fHighGainDelay; }
53 
54  double GetHighGainDelayRMS() const { return fHighGainDelayRMS; }
55 
56  double GetHighGainDelayChi2() const { return fHighGainDelayChi2; }
57 
59  const std::vector<int>& GetMuonBaseHisto() const { return fMuonBaseHisto; }
62 
64  const std::vector<int>& GetMuonPeakHisto() const { return fMuonPeakHisto; }
67 
69  const std::vector<int>& GetMuonChargeHisto() const { return fMuonChargeHisto; }
72 
74  const std::vector<int>& GetMuonShapeHisto() const { return fMuonShapeHisto; }
75 
76  int GetEvolution() const { return fEvolution; }
77  int GetNumberTDA() const { return fNTDA; }
78 
79  void SetIsTubeOk(const bool ok) { fIsTubeOk = ok; }
80  void SetIsLowGainOk(const bool ok) { fIsLowGainOk = ok; }
81  void SetRate(const double rate) { fRate = rate; }
82  void SetOnlinePeak(const double peak) { fOnlinePeak = peak; }
83  void SetOnlineCharge(const double charge) { fOnlineCharge = charge; }
84 
86  void SetBaseline(const double base, const double rms,
88  { fBaseline[gain] = base; fBaselineRMS[gain] = rms; }
89 
91  void SetGainRatio(const double da, const double rms)
92  { fGainRatio = da; fGainRatioRMS = rms; }
93 
94  void SetEvolution(const int ev) { fEvolution = ev; }
95  void SetNumberTDA(const int num) { fNTDA = num; }
96 
98  void SetHighGainDelay(const double dt, const double rms)
99  { fHighGainDelay = dt; fHighGainDelayRMS = rms; }
100  void SetHighGainDelayChi2(const double chi2)
101  { fHighGainDelayChi2 = chi2; }
102 
103  void SetMuonBaseHisto(const std::vector<int>& mbh, const int offset)
104  { fMuonBaseHisto = mbh; fMuonBaseHistoOffset = offset; }
105  void SetMuonPeakHisto(const std::vector<int>& mph, const int offset)
106  { fMuonPeakHisto = mph; fMuonPeakHistoOffset = offset; }
107  void SetMuonChargeHisto(const std::vector<int>& mch, const int offset)
108  { fMuonChargeHisto = mch; fMuonChargeHistoOffset = offset; }
109  void SetMuonShapeHisto(const std::vector<int>& ms) { fMuonShapeHisto = ms; }
110 
111  private:
112  PMTCalibData() = default;
113  ~PMTCalibData() = default;
114 
115  double fRate = 0;
116  double fOnlinePeak = 0;
117  double fOnlineCharge = 0;
120  double fGainRatio = 0;
121  double fGainRatioRMS = 0;
122  double fHighGainDelay = 0;
123  double fHighGainDelayRMS = 0;
124  double fHighGainDelayChi2 = 0;
125  int fEvolution = 0;
126  int fNTDA = 0;
127  bool fIsTubeOk = false;
128  bool fIsLowGainOk = true;
129 
130  std::vector<int> fMuonBaseHisto;
131  std::vector<int> fMuonPeakHisto;
132  std::vector<int> fMuonChargeHisto;
133  std::vector<int> fMuonShapeHisto;
134 
138 
139  friend class PMT;
141 
142  };
143 
144 }
145 
146 
147 #endif
double GetHighGainDelayChi2() const
Definition: PMTCalibData.h:56
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
int GetEvolution() const
Definition: PMTCalibData.h:76
void SetMuonPeakHisto(const std::vector< int > &mph, const int offset)
Definition: PMTCalibData.h:105
std::vector< int > fMuonChargeHisto
Definition: PMTCalibData.h:132
class to hold data at PMT level
Definition: SEvent/PMT.h:28
double GetBaselineRMS(const sdet::PMTConstants::PMTGain gain=sdet::PMTConstants::eHighGain) const
Definition: PMTCalibData.h:44
double GetHighGainDelayRMS() const
Definition: PMTCalibData.h:54
bool IsTubeOk() const
Definition: PMTCalibData.h:29
void SetOnlineCharge(const double charge)
Definition: PMTCalibData.h:83
int GetMuonPeakHistoOffset() const
x-axis offset of the muon peak histogram
Definition: PMTCalibData.h:66
void SetNumberTDA(const int num)
Definition: PMTCalibData.h:95
const std::vector< int > & GetMuonChargeHisto() const
Muon charge histogram.
Definition: PMTCalibData.h:69
std::vector< int > fMuonShapeHisto
Definition: PMTCalibData.h:133
double fBaseline[sdet::PMTConstants::eNumberOfGains]
Definition: PMTCalibData.h:118
const std::vector< int > & GetMuonPeakHisto() const
Muon peak histogram.
Definition: PMTCalibData.h:64
void SetMuonChargeHisto(const std::vector< int > &mch, const int offset)
Definition: PMTCalibData.h:107
void SetOnlinePeak(const double peak)
Definition: PMTCalibData.h:82
void SetHighGainDelayChi2(const double chi2)
Definition: PMTCalibData.h:100
bool ok(bool okay)
Definition: testlib.cc:89
int gain
Definition: dump1090.h:241
const std::vector< int > & GetMuonShapeHisto() const
Average shape of a muon.
Definition: PMTCalibData.h:74
const std::vector< int > & GetMuonBaseHisto() const
Muon base histogram.
Definition: PMTCalibData.h:59
constexpr double ms
Definition: AugerUnits.h:164
std::vector< int > fMuonBaseHisto
Definition: PMTCalibData.h:130
void SetGainRatio(const double da, const double rms)
Set dynode/anode and dynode/anode RMS.
Definition: PMTCalibData.h:91
double GetGainRatioRMS() const
Definition: PMTCalibData.h:49
Online Calibration data.
Definition: PMTCalibData.h:27
double GetHighGainDelay() const
delay relative to low gain
Definition: PMTCalibData.h:52
void SetRate(const double rate)
Definition: PMTCalibData.h:81
bool IsLowGainOk() const
Definition: PMTCalibData.h:31
double GetBaseline(const sdet::PMTConstants::PMTGain gain=sdet::PMTConstants::eHighGain) const
Definition: PMTCalibData.h:41
std::vector< int > fMuonPeakHisto
Definition: PMTCalibData.h:131
void SetHighGainDelay(const double dt, const double rms)
Set dynode anode delay and delay RMS.
Definition: PMTCalibData.h:98
int GetMuonBaseHistoOffset() const
x-axis offset of the muon base histogram
Definition: PMTCalibData.h:61
int GetNumberTDA() const
Definition: PMTCalibData.h:77
void SetMuonBaseHisto(const std::vector< int > &mbh, const int offset)
Definition: PMTCalibData.h:103
void SetIsLowGainOk(const bool ok)
Definition: PMTCalibData.h:80
~PMTCalibData()=default
int GetMuonChargeHistoOffset() const
x-axis offset of the muon charge histogram
Definition: PMTCalibData.h:71
double fBaselineRMS[sdet::PMTConstants::eNumberOfGains]
Definition: PMTCalibData.h:119
void SetEvolution(const int ev)
Definition: PMTCalibData.h:94
double GetOnlineCharge() const
Online estimate of VEM_charge [adc*time_bin].
Definition: PMTCalibData.h:39
double GetRate() const
Definition: PMTCalibData.h:33
double GetOnlinePeak() const
Online estimate of VEM_peak [adc].
Definition: PMTCalibData.h:36
void SetIsTubeOk(const bool ok)
Definition: PMTCalibData.h:79
void SetMuonShapeHisto(const std::vector< int > &ms)
Definition: PMTCalibData.h:109
PMTCalibData()=default
double GetGainRatio() const
Definition: PMTCalibData.h:47
void SetBaseline(const double base, const double rms, const sdet::PMTConstants::PMTGain gain=sdet::PMTConstants::eHighGain)
Set baseline and baseline RMS for a particular channel (defaults to high gain channel) ...
Definition: PMTCalibData.h:86

, generated on Tue Sep 26 2023.