![]() |
Project
|
Nonlinearity functions for energy correction. More...
#include <NonlinearityHandler.h>
Classes | |
class | UninitException |
Handling missing initialisation of the NonlinearityHanlder. More... | |
Public Types | |
enum class | NonlinType_t { DATA_TESTBEAM_SHAPER , DATA_TESTBEAM_SHAPER_WOSCALE , DATA_TESTBEAM_CORRECTED , DATA_TESTBEAM_CORRECTED_V2 , DATA_TESTBEAM_CORRECTED_V3 , DATA_TESTBEAM_CORRECTED_V4 , MC_TESTBEAM_FINAL , MC_PI0 , MC_PI0_V2 , MC_PI0_V3 , MC_PI0_V5 , MC_PI0_V6 , UNKNOWN } |
Types of nonlinearity functions available. More... | |
Public Member Functions | |
NonlinearityHandler ()=default | |
Dummy constructor. | |
NonlinearityHandler (NonlinType_t nonlintype) | |
Constructor, defining nonlinearity function. | |
~NonlinearityHandler ()=default | |
Destructor. | |
void | setNonlinType (NonlinType_t nonlintype) |
Set type of nonlinearity function. | |
double | getCorrectedClusterEnergy (double energy) const |
Get corrected cluster energy for the selected nonlinearity parameterization. | |
double | getCorrectedClusterEnergy (const AnalysisCluster &cluster) const |
Get corrected cluster energy for the selected nonlinearity parameterization. | |
void | printStream (std::ostream &stream) const |
Print information about the nonlinearity function. | |
Static Public Member Functions | |
static NonlinType_t | getNonlinType (const std::string_view name) |
Get type of a nonlinearity function from its name. | |
static const char * | getNonlinName (NonlinType_t nonlin) |
Get name of the nonlinearity function from the function type. | |
static double | evaluateShaperCorrectionCellEnergy (double energy, double ecalibHG=1) |
Get corrected energy at cell level for the shaper saturation at high energy. | |
Nonlinearity functions for energy correction.
Calculating a corrected cluster energy based on the raw cluster energy. Several parameterisations are provided. The function is selected during construction of the object. The corrected cluster energy is obtained via the function getCorrectedClusterEnergy.
The correction for the shaper sturation must be applied at cell energy level. Only one parameterisation for the shaper nonlinearity exists, for which the parameterisation does not depend on the type of the cluster nonlinearity. The function evaluateShaperCorrectionCellEnergy is static and can therefore be applied without a cluster nonlinearity parameterisation.
based on nonlinearity implementation in AliEMCALRecoUtils
Definition at line 42 of file NonlinearityHandler.h.
|
strong |
Types of nonlinearity functions available.
Definition at line 66 of file NonlinearityHandler.h.
|
default |
Dummy constructor.
Non-linearity type not set, will fail when trying to evaluate for a certain energy. Use constructor with nonlinearity function specified instead. Only intended for constructing standard containers.
NonlinearityHandler::NonlinearityHandler | ( | NonlinType_t | nonlintype | ) |
Constructor, defining nonlinearity function.
nonlintype | Type of t, he nonlinearity function |
Initializing all parameters and settings of the nonlinearity function. Nonlinearity correction at cluster level can be obtained using objects constructed by this.
Definition at line 19 of file NonlinearityHandler.cxx.
|
default |
Destructor.
|
static |
Get corrected energy at cell level for the shaper saturation at high energy.
energy | Raw cell energy |
ecalibHG | Finetuning of the high-gain energy scale |
Definition at line 194 of file NonlinearityHandler.cxx.
|
inline |
Get corrected cluster energy for the selected nonlinearity parameterization.
energy | Raw cluster energy |
UninitException | in case the NonlinearityHandler is not configured |
Definition at line 130 of file NonlinearityHandler.h.
double NonlinearityHandler::getCorrectedClusterEnergy | ( | double | energy | ) | const |
Get corrected cluster energy for the selected nonlinearity parameterization.
energy | Raw cluster energy |
UninitException | in case the NonlinearityHandler is not configured |
Definition at line 140 of file NonlinearityHandler.cxx.
|
static |
Get name of the nonlinearity function from the function type.
nonlin | Type of the nonlinearity function |
Definition at line 271 of file NonlinearityHandler.cxx.
|
static |
Get type of a nonlinearity function from its name.
name | Name of the nonlinearity function |
Definition at line 229 of file NonlinearityHandler.cxx.
void NonlinearityHandler::printStream | ( | std::ostream & | stream | ) | const |
Print information about the nonlinearity function.
stream | Stream to print the information on |
Definition at line 213 of file NonlinearityHandler.cxx.
|
inline |
Set type of nonlinearity function.
nonlintype | Type of nonlinearity function |
Updating also function parameters
Definition at line 114 of file NonlinearityHandler.h.