11#include <framework/core/Module.h>
12#include <framework/database/DBObjPtr.h>
13#include <framework/datastore/StoreArray.h>
14#include <ecl/dbobjects/ECLnOptimal.h>
15#include <mdst/dataobjects/EventLevelClusteringInfo.h>
23 class ECLLeakageCorrections;
27 class ECLLeakagePosition;
47 virtual void event()
override;
50 virtual void endRun()
override;
90 {
return "ECLShowers" ; }
100 {
return "ECLShowersPureCsI" ; }
Class for accessing objects in the database.
Class to perform the shower correction.
static constexpr unsigned int nLeakReg
0 = forward, 1 = barrel, 2 = backward
virtual const char * eclShowerArrayName() const
We need names for the data objects to differentiate between PureCsI and default.
TH2F m_logPeakEnergy
log of peak energy (GeV) contained in nOptimal crystals
TH2F phiCorrection
histogram of phi-dependent corrections
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
ECLShowerCorrectorModule()
Constructor.
virtual void initialize() override
Initialize.
virtual void event() override
Event.
const unsigned int nThetaID
69 thetaIDs
virtual void endRun() override
End run.
int nEnergies
number of energies for which there are leakage corrections
TH2F m_bias
2D histogram of bias = sum of ECLCalDigit energy minus true (GeV)
virtual void terminate() override
Terminate.
TH2F thetaCorrection
histogram of theta-dependent corrections
~ECLShowerCorrectorModule()
Destructor.
std::vector< std::vector< float > > leakLogE
log(E) values for each region
int nXBins
number of thetaID x energy bins
TH2F m_peakFracEnergy
2D histogram of peak fractional contained energy
DBObjPtr< ECLnOptimal > m_eclNOptimal
nOptimal payload: bias from beam background, and correction from number of crystals
virtual void beginRun() override
Begin run.
DBObjPtr< ECLLeakageCorrections > m_eclLeakageCorrections
Leakage correction from database: leakage correction as a function of position.
ECL::ECLLeakagePosition * m_leakagePosition
location of cluster; cellID and position within the crystal
int nPositionBins
number of locations across crystal
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
EventLevelClusteringInfo.
The very same module but for PureCsI.
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
Class to get position information for a cluster for leakage corrections.
Accessor to arrays stored in the data store.
Type-safe access to single objects in the data store.
Abstract base class for different kinds of events.