Belle II Software  release-05-02-19
ECLShowerCorrectorLeakageCorrection.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Leakage corrections for ECL showers (N1). *
6  * *
7  * Author: The Belle II Collaboration *
8  * Contributors: Torben Ferber (ferber@physics.ubc.ca) *
9  * Alon Hershenhorn (hershen@physics.ubc.ca) *
10  * *
11  * This software is provided "as is" without any warranty. *
12  **************************************************************************/
13 
14 #pragma once
15 
16 //Root
17 #include <TObject.h>
18 
19 namespace Belle2 {
29  class ECLShowerCorrectorLeakageCorrection: public TObject {
30  public:
31 
36 
40  ECLShowerCorrectorLeakageCorrection(const std::vector<int>& bgFractionBinNum,
41  const std::vector<int>& regNum,
42  const std::vector<int>& phiBinNum,
43  const std::vector<int>& thetaBinNum,
44  const std::vector<int>& energyBinNum,
45  const std::vector<float>& correctionFactor,
46  const std::vector<float>& avgRecEn,
47  const std::vector<float>& lReg1Theta,
48  const std::vector<float>& hReg1Theta,
49  const std::vector<float>& lReg2Theta,
50  const std::vector<float>& hReg2Theta,
51  const std::vector<float>& lReg3Theta,
52  const std::vector<float>& hReg3Theta,
53  const std::vector<int>& numOfBfBins,
54  const std::vector<int>& numOfEnergyBins,
55  const std::vector<int>& numOfPhiBins,
56  const std::vector<int>& numOfReg1ThetaBins,
57  const std::vector<int>& numOfReg2ThetaBins,
58  const std::vector<int>& numOfReg3ThetaBins,
59  const std::vector<int>& phiPeriodicity) :
60  m_bgFractionBinNum(bgFractionBinNum),
61  m_regNum(regNum),
62  m_phiBinNum(phiBinNum),
63  m_thetaBinNum(thetaBinNum),
64  m_energyBinNum(energyBinNum),
65  m_correctionFactor(correctionFactor),
66  m_avgRecEn(avgRecEn),
67  m_lReg1Theta(lReg1Theta),
68  m_hReg1Theta(hReg1Theta),
69  m_lReg2Theta(lReg2Theta),
70  m_hReg2Theta(hReg2Theta),
71  m_lReg3Theta(lReg3Theta),
72  m_hReg3Theta(hReg3Theta),
73  m_numOfBfBins(numOfBfBins),
74  m_numOfEnergyBins(numOfEnergyBins),
75  m_numOfPhiBins(numOfPhiBins),
76  m_numOfReg1ThetaBins(numOfReg1ThetaBins),
77  m_numOfReg2ThetaBins(numOfReg2ThetaBins),
78  m_numOfReg3ThetaBins(numOfReg3ThetaBins),
79  m_phiPeriodicity(phiPeriodicity)
80  {
81 
82  }
83 
89  {
90  }
91 
95  std::vector<int> getBgFractionBinNum() const {return m_bgFractionBinNum;};
96 
100  std::vector<int> getRegNum() const {return m_regNum;};
101 
105  std::vector<int> getPhiBinNum() const {return m_phiBinNum;};
106 
110  std::vector<int> getThetaBinNum() const {return m_thetaBinNum;};
111 
115  std::vector<int> getEnergyBinNum() const {return m_energyBinNum;};
116 
120  std::vector<float> getCorrectionFactor() const {return m_correctionFactor;};
121 
125  std::vector<float> getAvgRecEn() const {return m_avgRecEn;};
126 
130  std::vector<float> getLReg1Theta() const {return m_lReg1Theta;};
131 
135  std::vector<float> getHReg1Theta() const {return m_hReg1Theta;};
136 
140  std::vector<float> getLReg2Theta() const {return m_lReg2Theta;};
141 
145  std::vector<float> getHReg2Theta() const {return m_hReg2Theta;};
146 
150  std::vector<float> getLReg3Theta() const {return m_lReg3Theta;};
151 
155  std::vector<float> getHReg3Theta() const {return m_hReg3Theta;};
156 
160  std::vector<int> getNumOfBfBins() const {return m_numOfBfBins;};
161 
165  std::vector<int> getNumOfEnergyBins() const {return m_numOfEnergyBins;};
166 
170  std::vector<int> getNumOfPhiBins() const {return m_numOfPhiBins;};
171 
175  std::vector<int> getNumOfReg1ThetaBins() const {return m_numOfReg1ThetaBins;};
176 
180  std::vector<int> getNumOfReg2ThetaBins() const {return m_numOfReg2ThetaBins;};
181 
185  std::vector<int> getNumOfReg3ThetaBins() const {return m_numOfReg3ThetaBins;};
186 
191  std::vector<int> getPhiPeriodicity() const {return m_phiPeriodicity;};
192 
193  private:
194  //"ParameterNtuple" tree
195  std::vector<int> m_bgFractionBinNum;
196  std::vector<int> m_regNum;
197  std::vector<int> m_phiBinNum;
198  std::vector<int> m_thetaBinNum;
199  std::vector<int> m_energyBinNum;
200  std::vector<float> m_correctionFactor;
202  //"ConstantNtuple" tree
203  std::vector<float> m_avgRecEn;
204  std::vector<float> m_lReg1Theta;
205  std::vector<float> m_hReg1Theta;
206  std::vector<float> m_lReg2Theta;
207  std::vector<float> m_hReg2Theta;
208  std::vector<float> m_lReg3Theta;
209  std::vector<float> m_hReg3Theta;
210  std::vector<int> m_numOfBfBins;
211  std::vector<int> m_numOfEnergyBins;
212  std::vector<int> m_numOfPhiBins;
213  std::vector<int> m_numOfReg1ThetaBins;
214  std::vector<int> m_numOfReg2ThetaBins;
215  std::vector<int> m_numOfReg3ThetaBins;
216  std::vector<int> m_phiPeriodicity;
218  // 1: Initial version
220  };
222 } // end namespace Belle2
223 
Belle2::ECLShowerCorrectorLeakageCorrection::getHReg1Theta
std::vector< float > getHReg1Theta() const
Get upper bound for theta in region 1.
Definition: ECLShowerCorrectorLeakageCorrection.h:146
Belle2::ECLShowerCorrectorLeakageCorrection::getNumOfPhiBins
std::vector< int > getNumOfPhiBins() const
Get number of phi bins.
Definition: ECLShowerCorrectorLeakageCorrection.h:181
Belle2::ECLShowerCorrectorLeakageCorrection::getLReg2Theta
std::vector< float > getLReg2Theta() const
Get lower bound for theta in region 2.
Definition: ECLShowerCorrectorLeakageCorrection.h:151
Belle2::ECLShowerCorrectorLeakageCorrection::ECLShowerCorrectorLeakageCorrection
ECLShowerCorrectorLeakageCorrection()
Default constructor.
Definition: ECLShowerCorrectorLeakageCorrection.h:46
Belle2::ECLShowerCorrectorLeakageCorrection::m_phiBinNum
std::vector< int > m_phiBinNum
Phi bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:208
Belle2::ECLShowerCorrectorLeakageCorrection::m_lReg3Theta
std::vector< float > m_lReg3Theta
Lower bound of theta in region 3.
Definition: ECLShowerCorrectorLeakageCorrection.h:219
Belle2::ECLShowerCorrectorLeakageCorrection::getPhiPeriodicity
std::vector< int > getPhiPeriodicity() const
Get phi periodicity - repeating pattern in phi direction.
Definition: ECLShowerCorrectorLeakageCorrection.h:202
Belle2::ECLShowerCorrectorLeakageCorrection::m_bgFractionBinNum
std::vector< int > m_bgFractionBinNum
Background fraction bin number.
Definition: ECLShowerCorrectorLeakageCorrection.h:202
Belle2::ECLShowerCorrectorLeakageCorrection::getLReg1Theta
std::vector< float > getLReg1Theta() const
Get lower bound for theta in region 1.
Definition: ECLShowerCorrectorLeakageCorrection.h:141
Belle2::ECLShowerCorrectorLeakageCorrection::getPhiBinNum
std::vector< int > getPhiBinNum() const
Get phi bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:116
Belle2::ECLShowerCorrectorLeakageCorrection
Class to hold the information for the ECL shower leakage corrections.
Definition: ECLShowerCorrectorLeakageCorrection.h:40
Belle2::ECLShowerCorrectorLeakageCorrection::m_numOfEnergyBins
std::vector< int > m_numOfEnergyBins
Number of energy bins.
Definition: ECLShowerCorrectorLeakageCorrection.h:222
Belle2::ECLShowerCorrectorLeakageCorrection::getNumOfEnergyBins
std::vector< int > getNumOfEnergyBins() const
Get number of energy bins.
Definition: ECLShowerCorrectorLeakageCorrection.h:176
Belle2::ECLShowerCorrectorLeakageCorrection::ClassDef
ClassDef(ECLShowerCorrectorLeakageCorrection, 1)
ClassDef.
Belle2::ECLShowerCorrectorLeakageCorrection::getRegNum
std::vector< int > getRegNum() const
Get region numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:111
Belle2::ECLShowerCorrectorLeakageCorrection::getNumOfBfBins
std::vector< int > getNumOfBfBins() const
Get number of background fraction bins.
Definition: ECLShowerCorrectorLeakageCorrection.h:171
Belle2::ECLShowerCorrectorLeakageCorrection::m_hReg1Theta
std::vector< float > m_hReg1Theta
Upper bound of theta in region 1.
Definition: ECLShowerCorrectorLeakageCorrection.h:216
Belle2::ECLShowerCorrectorLeakageCorrection::m_lReg1Theta
std::vector< float > m_lReg1Theta
Lower bound of theta in region 1.
Definition: ECLShowerCorrectorLeakageCorrection.h:215
Belle2::ECLShowerCorrectorLeakageCorrection::m_hReg3Theta
std::vector< float > m_hReg3Theta
Upper bound of theta in region 3.
Definition: ECLShowerCorrectorLeakageCorrection.h:220
Belle2::ECLShowerCorrectorLeakageCorrection::getAvgRecEn
std::vector< float > getAvgRecEn() const
Get average reconstructed energy per bin.
Definition: ECLShowerCorrectorLeakageCorrection.h:136
Belle2::ECLShowerCorrectorLeakageCorrection::m_thetaBinNum
std::vector< int > m_thetaBinNum
Theta bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:209
Belle2::ECLShowerCorrectorLeakageCorrection::getLReg3Theta
std::vector< float > getLReg3Theta() const
Get lower bound for theta in region 3.
Definition: ECLShowerCorrectorLeakageCorrection.h:161
Belle2::ECLShowerCorrectorLeakageCorrection::m_numOfPhiBins
std::vector< int > m_numOfPhiBins
Number of phi bins.
Definition: ECLShowerCorrectorLeakageCorrection.h:223
Belle2::ECLShowerCorrectorLeakageCorrection::m_regNum
std::vector< int > m_regNum
Region numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:207
Belle2::ECLShowerCorrectorLeakageCorrection::~ECLShowerCorrectorLeakageCorrection
~ECLShowerCorrectorLeakageCorrection()
Destructor.
Definition: ECLShowerCorrectorLeakageCorrection.h:99
Belle2::ECLShowerCorrectorLeakageCorrection::m_lReg2Theta
std::vector< float > m_lReg2Theta
Lower bound of theta in region 2.
Definition: ECLShowerCorrectorLeakageCorrection.h:217
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLShowerCorrectorLeakageCorrection::m_avgRecEn
std::vector< float > m_avgRecEn
Average reconstructed energy.
Definition: ECLShowerCorrectorLeakageCorrection.h:214
Belle2::ECLShowerCorrectorLeakageCorrection::getNumOfReg1ThetaBins
std::vector< int > getNumOfReg1ThetaBins() const
Get number of theta bins in region 1.
Definition: ECLShowerCorrectorLeakageCorrection.h:186
Belle2::ECLShowerCorrectorLeakageCorrection::getCorrectionFactor
std::vector< float > getCorrectionFactor() const
Get correction factors.
Definition: ECLShowerCorrectorLeakageCorrection.h:131
Belle2::ECLShowerCorrectorLeakageCorrection::m_numOfReg3ThetaBins
std::vector< int > m_numOfReg3ThetaBins
Number of theta bins in region 3.
Definition: ECLShowerCorrectorLeakageCorrection.h:226
Belle2::ECLShowerCorrectorLeakageCorrection::getNumOfReg3ThetaBins
std::vector< int > getNumOfReg3ThetaBins() const
Get number of theta bins in region 3.
Definition: ECLShowerCorrectorLeakageCorrection.h:196
Belle2::ECLShowerCorrectorLeakageCorrection::getBgFractionBinNum
std::vector< int > getBgFractionBinNum() const
Get background fraction bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:106
Belle2::ECLShowerCorrectorLeakageCorrection::m_energyBinNum
std::vector< int > m_energyBinNum
Energy bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:210
Belle2::ECLShowerCorrectorLeakageCorrection::m_hReg2Theta
std::vector< float > m_hReg2Theta
Upper bound of theta in region 2.
Definition: ECLShowerCorrectorLeakageCorrection.h:218
Belle2::ECLShowerCorrectorLeakageCorrection::getNumOfReg2ThetaBins
std::vector< int > getNumOfReg2ThetaBins() const
Get number of theta bins in region 2.
Definition: ECLShowerCorrectorLeakageCorrection.h:191
Belle2::ECLShowerCorrectorLeakageCorrection::m_numOfReg2ThetaBins
std::vector< int > m_numOfReg2ThetaBins
Number of theta bins in region 2.
Definition: ECLShowerCorrectorLeakageCorrection.h:225
Belle2::ECLShowerCorrectorLeakageCorrection::m_numOfReg1ThetaBins
std::vector< int > m_numOfReg1ThetaBins
Number of theta bins in region 1.
Definition: ECLShowerCorrectorLeakageCorrection.h:224
Belle2::ECLShowerCorrectorLeakageCorrection::getHReg3Theta
std::vector< float > getHReg3Theta() const
Get upper bound for theta in region 3.
Definition: ECLShowerCorrectorLeakageCorrection.h:166
Belle2::ECLShowerCorrectorLeakageCorrection::getEnergyBinNum
std::vector< int > getEnergyBinNum() const
Get energy bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:126
Belle2::ECLShowerCorrectorLeakageCorrection::getHReg2Theta
std::vector< float > getHReg2Theta() const
Get upper bound for theta in region 2.
Definition: ECLShowerCorrectorLeakageCorrection.h:156
Belle2::ECLShowerCorrectorLeakageCorrection::getThetaBinNum
std::vector< int > getThetaBinNum() const
Get theta bin numbers.
Definition: ECLShowerCorrectorLeakageCorrection.h:121
Belle2::ECLShowerCorrectorLeakageCorrection::m_correctionFactor
std::vector< float > m_correctionFactor
Correction factors.
Definition: ECLShowerCorrectorLeakageCorrection.h:211
Belle2::ECLShowerCorrectorLeakageCorrection::m_numOfBfBins
std::vector< int > m_numOfBfBins
Number of background fraction bins.
Definition: ECLShowerCorrectorLeakageCorrection.h:221
Belle2::ECLShowerCorrectorLeakageCorrection::m_phiPeriodicity
std::vector< int > m_phiPeriodicity
Periodicity in phi - repeating patter in phi direction.
Definition: ECLShowerCorrectorLeakageCorrection.h:227