Belle II Software  release-08-01-10
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 
14 namespace Belle2 {
24  class ECLShowerCorrectorLeakageCorrection: public TObject {
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 
84  {
85  }
86 
90  std::vector<int> getBgFractionBinNum() const {return m_bgFractionBinNum;};
91 
95  std::vector<int> getRegNum() const {return m_regNum;};
96 
100  std::vector<int> getPhiBinNum() const {return m_phiBinNum;};
101 
105  std::vector<int> getThetaBinNum() const {return m_thetaBinNum;};
106 
110  std::vector<int> getEnergyBinNum() const {return m_energyBinNum;};
111 
115  std::vector<float> getCorrectionFactor() const {return m_correctionFactor;};
116 
120  std::vector<float> getAvgRecEn() const {return m_avgRecEn;};
121 
125  std::vector<float> getLReg1Theta() const {return m_lReg1Theta;};
126 
130  std::vector<float> getHReg1Theta() const {return m_hReg1Theta;};
131 
135  std::vector<float> getLReg2Theta() const {return m_lReg2Theta;};
136 
140  std::vector<float> getHReg2Theta() const {return m_hReg2Theta;};
141 
145  std::vector<float> getLReg3Theta() const {return m_lReg3Theta;};
146 
150  std::vector<float> getHReg3Theta() const {return m_hReg3Theta;};
151 
155  std::vector<int> getNumOfBfBins() const {return m_numOfBfBins;};
156 
160  std::vector<int> getNumOfEnergyBins() const {return m_numOfEnergyBins;};
161 
165  std::vector<int> getNumOfPhiBins() const {return m_numOfPhiBins;};
166 
170  std::vector<int> getNumOfReg1ThetaBins() const {return m_numOfReg1ThetaBins;};
171 
175  std::vector<int> getNumOfReg2ThetaBins() const {return m_numOfReg2ThetaBins;};
176 
180  std::vector<int> getNumOfReg3ThetaBins() const {return m_numOfReg3ThetaBins;};
181 
186  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;
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;
213  // 1: Initial version
215  };
217 } // end namespace Belle2
218 
Class to hold the information for the ECL shower leakage corrections.
std::vector< float > m_lReg2Theta
Lower bound of theta in region 2.
std::vector< int > m_numOfReg1ThetaBins
Number of theta bins in region 1.
ClassDef(ECLShowerCorrectorLeakageCorrection, 1)
ClassDef.
std::vector< float > getAvgRecEn() const
Get average reconstructed energy per bin.
std::vector< float > getCorrectionFactor() const
Get correction factors.
std::vector< int > getRegNum() const
Get region numbers.
std::vector< int > getNumOfReg2ThetaBins() const
Get number of theta bins in region 2.
std::vector< float > getLReg1Theta() const
Get lower bound for theta in region 1.
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.
std::vector< int > m_numOfBfBins
Number of background fraction bins.
std::vector< int > m_numOfEnergyBins
Number of energy bins.
std::vector< int > m_numOfReg3ThetaBins
Number of theta bins in region 3.
std::vector< int > getThetaBinNum() const
Get theta bin numbers.
std::vector< int > getPhiBinNum() const
Get phi bin numbers.
std::vector< int > m_numOfReg2ThetaBins
Number of theta bins in region 2.
std::vector< float > m_avgRecEn
Average reconstructed energy.
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.
std::vector< int > getNumOfBfBins() const
Get number of background fraction bins.
std::vector< int > getBgFractionBinNum() const
Get background fraction bin numbers.
std::vector< float > getHReg1Theta() const
Get upper bound for theta in region 1.
std::vector< float > m_lReg1Theta
Lower bound of theta in region 1.
std::vector< int > m_phiPeriodicity
Periodicity in phi - repeating patter in phi direction.
std::vector< float > m_lReg3Theta
Lower bound of theta in region 3.
std::vector< float > m_correctionFactor
Correction factors.
std::vector< int > getNumOfPhiBins() const
Get number of phi bins.
std::vector< int > getEnergyBinNum() const
Get energy bin numbers.
std::vector< int > getNumOfReg1ThetaBins() const
Get number of theta bins in region 1.
std::vector< float > getHReg3Theta() const
Get upper bound for theta in region 3.
std::vector< float > getLReg2Theta() const
Get lower bound for theta in region 2.
std::vector< int > getPhiPeriodicity() const
Get phi periodicity - repeating pattern in phi direction.
std::vector< int > getNumOfReg3ThetaBins() const
Get number of theta bins in region 3.
std::vector< float > getLReg3Theta() const
Get lower bound for theta in region 3.
std::vector< float > m_hReg2Theta
Upper bound of theta in region 2.
std::vector< int > getNumOfEnergyBins() const
Get number of energy bins.
std::vector< int > m_bgFractionBinNum
Background fraction bin number.
Abstract base class for different kinds of events.