Belle II Software development
ECLShowerCorrectorLeakageCorrection.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11//Root
12#include <TObject.h>
13
14namespace Belle2 {
19
23
25 public:
26
31
35 ECLShowerCorrectorLeakageCorrection(const std::vector<int>& bgFractionBinNum,
36 const std::vector<int>& regNum,
37 const std::vector<int>& phiBinNum,
38 const std::vector<int>& thetaBinNum,
39 const std::vector<int>& energyBinNum,
40 const std::vector<float>& correctionFactor,
41 const std::vector<float>& avgRecEn,
42 const std::vector<float>& lReg1Theta,
43 const std::vector<float>& hReg1Theta,
44 const std::vector<float>& lReg2Theta,
45 const std::vector<float>& hReg2Theta,
46 const std::vector<float>& lReg3Theta,
47 const std::vector<float>& hReg3Theta,
48 const std::vector<int>& numOfBfBins,
49 const std::vector<int>& numOfEnergyBins,
50 const std::vector<int>& numOfPhiBins,
51 const std::vector<int>& numOfReg1ThetaBins,
52 const std::vector<int>& numOfReg2ThetaBins,
53 const std::vector<int>& numOfReg3ThetaBins,
54 const std::vector<int>& phiPeriodicity) :
55 m_bgFractionBinNum(bgFractionBinNum),
56 m_regNum(regNum),
57 m_phiBinNum(phiBinNum),
58 m_thetaBinNum(thetaBinNum),
59 m_energyBinNum(energyBinNum),
60 m_correctionFactor(correctionFactor),
61 m_avgRecEn(avgRecEn),
62 m_lReg1Theta(lReg1Theta),
63 m_hReg1Theta(hReg1Theta),
64 m_lReg2Theta(lReg2Theta),
65 m_hReg2Theta(hReg2Theta),
66 m_lReg3Theta(lReg3Theta),
67 m_hReg3Theta(hReg3Theta),
68 m_numOfBfBins(numOfBfBins),
69 m_numOfEnergyBins(numOfEnergyBins),
70 m_numOfPhiBins(numOfPhiBins),
71 m_numOfReg1ThetaBins(numOfReg1ThetaBins),
72 m_numOfReg2ThetaBins(numOfReg2ThetaBins),
73 m_numOfReg3ThetaBins(numOfReg3ThetaBins),
74 m_phiPeriodicity(phiPeriodicity)
75 {
76
77 }
78
86
90 const std::vector<int>& getBgFractionBinNum() const {return m_bgFractionBinNum;};
91
95 const std::vector<int>& getRegNum() const {return m_regNum;};
96
100 const std::vector<int>& getPhiBinNum() const {return m_phiBinNum;};
101
105 const std::vector<int>& getThetaBinNum() const {return m_thetaBinNum;};
106
110 const std::vector<int>& getEnergyBinNum() const {return m_energyBinNum;};
111
115 const std::vector<float>& getCorrectionFactor() const {return m_correctionFactor;};
116
120 const std::vector<float>& getAvgRecEn() const {return m_avgRecEn;};
121
125 const std::vector<float>& getLReg1Theta() const {return m_lReg1Theta;};
126
130 const std::vector<float>& getHReg1Theta() const {return m_hReg1Theta;};
131
135 const std::vector<float>& getLReg2Theta() const {return m_lReg2Theta;};
136
140 const std::vector<float>& getHReg2Theta() const {return m_hReg2Theta;};
141
145 const std::vector<float>& getLReg3Theta() const {return m_lReg3Theta;};
146
150 const std::vector<float>& getHReg3Theta() const {return m_hReg3Theta;};
151
155 const std::vector<int>& getNumOfBfBins() const {return m_numOfBfBins;};
156
160 const std::vector<int>& getNumOfEnergyBins() const {return m_numOfEnergyBins;};
161
165 const std::vector<int>& getNumOfPhiBins() const {return m_numOfPhiBins;};
166
170 const std::vector<int>& getNumOfReg1ThetaBins() const {return m_numOfReg1ThetaBins;};
171
175 const std::vector<int>& getNumOfReg2ThetaBins() const {return m_numOfReg2ThetaBins;};
176
180 const std::vector<int>& getNumOfReg3ThetaBins() const {return m_numOfReg3ThetaBins;};
181
186 const std::vector<int>& getPhiPeriodicity() const {return m_phiPeriodicity;};
187
188 private:
189 //"ParameterNtuple" tree
190 std::vector<int> m_bgFractionBinNum;
191 std::vector<int> m_regNum;
192 std::vector<int> m_phiBinNum;
193 std::vector<int> m_thetaBinNum;
194 std::vector<int> m_energyBinNum;
195 std::vector<float> m_correctionFactor;
196
197 //"ConstantNtuple" tree
198 std::vector<float> m_avgRecEn;
199 std::vector<float> m_lReg1Theta;
200 std::vector<float> m_hReg1Theta;
201 std::vector<float> m_lReg2Theta;
202 std::vector<float> m_hReg2Theta;
203 std::vector<float> m_lReg3Theta;
204 std::vector<float> m_hReg3Theta;
205 std::vector<int> m_numOfBfBins;
206 std::vector<int> m_numOfEnergyBins;
207 std::vector<int> m_numOfPhiBins;
208 std::vector<int> m_numOfReg1ThetaBins;
209 std::vector<int> m_numOfReg2ThetaBins;
210 std::vector<int> m_numOfReg3ThetaBins;
211 std::vector<int> m_phiPeriodicity;
212
213 // 1: Initial version
215 };
216
217} // end namespace Belle2
218
std::vector< float > m_lReg2Theta
Lower bound of theta in region 2.
std::vector< int > m_numOfReg1ThetaBins
Number of theta bins in region 1.
const std::vector< int > & getNumOfReg3ThetaBins() const
Get number of theta bins in region 3.
const std::vector< float > & getHReg3Theta() const
Get upper bound for theta in region 3.
ClassDef(ECLShowerCorrectorLeakageCorrection, 1)
ClassDef.
const std::vector< int > & getEnergyBinNum() const
Get energy bin numbers.
const std::vector< int > & getThetaBinNum() const
Get theta bin numbers.
ECLShowerCorrectorLeakageCorrection(const std::vector< int > &bgFractionBinNum, const std::vector< int > &regNum, const std::vector< int > &phiBinNum, const std::vector< int > &thetaBinNum, const std::vector< int > &energyBinNum, const std::vector< float > &correctionFactor, const std::vector< float > &avgRecEn, const std::vector< float > &lReg1Theta, const std::vector< float > &hReg1Theta, const std::vector< float > &lReg2Theta, const std::vector< float > &hReg2Theta, const std::vector< float > &lReg3Theta, const std::vector< float > &hReg3Theta, const std::vector< int > &numOfBfBins, const std::vector< int > &numOfEnergyBins, const std::vector< int > &numOfPhiBins, const std::vector< int > &numOfReg1ThetaBins, const std::vector< int > &numOfReg2ThetaBins, const std::vector< int > &numOfReg3ThetaBins, const std::vector< int > &phiPeriodicity)
Constructor.
std::vector< float > m_hReg3Theta
Upper bound of theta in region 3.
const std::vector< int > & getNumOfEnergyBins() const
Get number of energy bins.
std::vector< int > m_numOfBfBins
Number of background fraction bins.
const std::vector< float > & getLReg2Theta() const
Get lower bound for theta in region 2.
std::vector< int > m_numOfEnergyBins
Number of energy bins.
const std::vector< float > & getAvgRecEn() const
Get average reconstructed energy per bin.
const std::vector< int > & getRegNum() const
Get region numbers.
std::vector< int > m_numOfReg3ThetaBins
Number of theta bins in region 3.
std::vector< int > m_numOfReg2ThetaBins
Number of theta bins in region 2.
const std::vector< float > & getCorrectionFactor() const
Get correction factors.
const std::vector< float > & getLReg3Theta() const
Get lower bound for theta in region 3.
const std::vector< int > & getNumOfReg2ThetaBins() const
Get number of theta bins in region 2.
std::vector< float > m_avgRecEn
Average reconstructed energy.
const std::vector< float > & getHReg2Theta() const
Get upper bound for theta in region 2.
std::vector< float > m_hReg1Theta
Upper bound of theta in region 1.
const std::vector< int > & getNumOfBfBins() const
Get number of background fraction bins.
const std::vector< int > & getNumOfPhiBins() const
Get number of phi bins.
const std::vector< int > & getNumOfReg1ThetaBins() const
Get number of theta bins in region 1.
std::vector< float > m_lReg1Theta
Lower bound of theta in region 1.
std::vector< int > m_phiPeriodicity
Periodicity in phi - repeating pattern in phi direction.
std::vector< float > m_lReg3Theta
Lower bound of theta in region 3.
const std::vector< int > & getPhiPeriodicity() const
Get phi periodicity - repeating pattern in phi direction.
const std::vector< float > & getLReg1Theta() const
Get lower bound for theta in region 1.
const std::vector< int > & getPhiBinNum() const
Get phi bin numbers.
std::vector< float > m_hReg2Theta
Upper bound of theta in region 2.
const std::vector< int > & getBgFractionBinNum() const
Get background fraction bin numbers.
const std::vector< float > & getHReg1Theta() const
Get upper bound for theta in region 1.
std::vector< int > m_bgFractionBinNum
Background fraction bin number.
Abstract base class for different kinds of events.