 |
Belle II Software
release-05-02-19
|
25 #include <framework/core/Module.h>
26 #include <framework/database/DBObjPtr.h>
27 #include <framework/datastore/StoreArray.h>
28 #include <framework/datastore/StoreObjPtr.h>
35 class EventLevelClusteringInfo;
37 class ECLShowerCorrectorLeakageCorrection;
38 class ECLShowerEnergyCorrectionTemporary;
44 class ECLShowerCorrectorModule :
public Module {
60 virtual void event()
override;
63 virtual void endRun()
override;
72 double getLeakageCorrection(
const double theta,
const double phi,
const double energy,
const double background)
const;
148 {
return "ECLShowers" ; }
152 {
return "EventLevelClusteringInfo" ; }
162 {
return "ECLShowersPureCsI" ; }
166 {
return "EventLevelClusteringInfoPureCsI" ; }
std::vector< float > m_avgRecEn
averages of the energy bins
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
Store object pointer: EventLevelClusteringInfo.
virtual void beginRun() override
Begin run.
std::vector< std::vector< std::vector< std::vector< float > > > > m_reg2CorrFactorArrays
region 2 corrections
int m_phiPeriodicity
repeating pattern in phi direction, for barrel it is 72
double getLeakageCorrectionTemporary(const double theta, const double phi, const double energy, const double background)
Get correction for BGx1 (temporary)
float m_hReg3Theta
upper boundary of the region 3 theta
virtual void endRun() override
End run.
int m_numOfBfBins
number of background fraction bins; currently only two
int m_numOfReg1ThetaBins
number of region 1 theta bins
std::vector< std::vector< std::vector< std::vector< float > > > > m_reg1CorrFactorArrays
region 1 corrections
float m_lReg2Theta
lower boundary of the region 2 theta
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_phiGeo_phase2bgx1
Leakage corrections from DB for Phase2 BG15x1.0, geometry correction as a function of phi.
DBObjPtr< ECLShowerCorrectorLeakageCorrection > m_leakageCorrectionPtr_bgx0
Leakage corrections from DB for BGx0.
TGraph2D m_leakage_bgx1[8]
the leakage in BGx1
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
std::vector< int > m_regNum
region bin
virtual void event() override
Event.
virtual void terminate() override
Terminate.
std::vector< int > m_phiBinNum
phi bin
int m_numOfReg3ThetaBins
number of region 3 theta bins
~ECLShowerCorrectorModule()
Destructor.
std::vector< std::vector< std::vector< std::vector< float > > > > m_reg3CorrFactorArrays
region 3 corrections
float m_hReg1Theta
upper boundary of the region 1 theta
float m_lReg1Theta
lower boundary of the region 1 theta
Class for accessing objects in the database.
std::vector< int > m_bgFractionBinNum
BG fraction bin.
std::vector< int > m_energyBinNum
energu bin
virtual const char * eventLevelClusteringInfoName() const
Name to be used for default option: EventLevelClusteringInfo.
virtual const char * eclShowerArrayName() const
We need names for the data objects to differentiate between PureCsI and default.
Abstract base class for different kinds of events.
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_thetaGeo_phase3bgx1
Leakage corrections from DB for Phase3 BG15x1.0, geometry correction as a function of theta.
Type-safe access to single objects in the data store.
Class to perform the shower correction.
The very same module but for PureCsI.
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_phiEn_phase2bgx1
Leakage corrections from DB for Phase2 BG15x1.0, energy correction as a function of phi.
virtual void initialize() override
Initialize.
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_phiEn_phase3bgx1
Leakage corrections from DB for Phase3 BG15x1.0, energy correction as a function of phi.
virtual const char * eventLevelClusteringInfoName() const override
Name to be used for PureCsI option: EventLevelClusteringInfoPureCsI.
float m_lReg3Theta
lower boundary of the region 3 theta
void prepareLeakageCorrections()
Prepare correction.
ECLShowerCorrectorModule()
Constructor.
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_thetaEn_phase3bgx1
Leakage corrections from DB for Phase3 BG15x1.0, energy correction as a function of theta.
std::vector< int > m_thetaBinNum
theta bin
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_thetaEn_phase2bgx1
Leakage corrections from DB for Phase2 BG15x1.0, energy correction as a function of theta.
int m_numOfEnergyBins
number of energy bins
double getLeakageCorrection(const double theta, const double phi, const double energy, const double background) const
Get correction for BGx0.
Accessor to arrays stored in the data store.
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_thetaGeo_phase2bgx1
Leakage corrections from DB for Phase2 BG15x1.0, geometry correction as a function of theta.
std::vector< float > m_correctionFactor
correction value
float m_hReg2Theta
upper boundary of the region 2 theta
DBObjPtr< ECLShowerEnergyCorrectionTemporary > m_leakageCorrectionPtr_phiGeo_phase3bgx1
Leakage corrections from DB for Phase3 BG15x1.0, geometry correction as a function of phi.
int m_numOfPhiBins
number of phi bins
std::vector< double > m_leakage_bgx1_limits[8]
limits for the leakage in BGx1
const double m_fullBkgdCount
Nominal Background at BGx1.0 (MC12)
int m_numOfReg2ThetaBins
number of region 2 theta bins