ATLAS Offline Software
Loading...
Searching...
No Matches
EgammaSshapeCalibration.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGT2CALOCALIBRATION_EGAMMASSHAPECALIBRATION
6#define TRIGT2CALOCALIBRATION_EGAMMASSHAPECALIBRATION
7
10#include "GaudiKernel/MsgStream.h"
13//#include "TrigT2CaloCommon/Calo_Def.h"
16#include <string>
17
18//class TrigEMCluster;
19
20//--------------------------------------------
21// class EgammaSshapeCalibration
22//--------------------------------------------
24 public extends<CaloUtils::ToolWithConstants<AthAlgTool>,
25 IEgammaCalibration>
26{
27 public:
28
30 using base_class::base_class;
31
33 virtual StatusCode initialize() override;
34
36 virtual StatusCode finalize() override;
37
39 virtual void makeCorrection(xAOD::TrigEMCluster*, const void*) const override;
40
41 private:
42 void docalc(int,
44 const CxxUtils::Array<1>&,
46 int&) const;
47
48 private:
49
51 public:
57 Builder(const EgammaSshapeCalibration&,double, double, int);
58
60 virtual float calculate (int energy_ndx, bool& good) const;
61
62 private:
63 float calc0 (float, float, const CaloRec::Array<2>&) const;
64 float calc3 (float, float, const CaloRec::Array<2>&) const;
65 float calc4 (float, float, const CaloRec::Array<2>&) const;
66 float calc5 (float, float, const CaloRec::Array<2>&) const;
67 float calc10(float, float, const CaloRec::Array<2>&) const;
68 float calc11(float, float, const CaloRec::Array<2>&) const;
69
70 private:
72 double m_aeta;
73 double m_u;
75 int m_form;
76 };
77 friend class Builder;
78
79 private:
90 Constant<CxxUtils::Array<4> > m_correction { this, "correction" };
91
102 Constant<CxxUtils::Array<2> > m_regions { this, "regions" };
103 enum {
109 };
110
112 Constant<CxxUtils::Array<1> > m_energies { this, "energies" };
113
115 Constant<int> m_energy_degree { this, "energy_degree", 3 };
116
117 Constant<bool> m_isRange_barrel { this, "rangeBarrel" };
118
122 Constant<CxxUtils::Array<2> > m_forms { this, "forms" };
123};
124
125#endif
Simple multidimensional arrays.
Hold constants for a tool.
Helper, used to calculate the values of the energy interpolation table.
Read-only multidimensional array.
Read-write multidimensional array.
float calc4(float, float, const CaloRec::Array< 2 > &) const
float calc0(float, float, const CaloRec::Array< 2 > &) const
Builder(const EgammaSshapeCalibration &, double, double, int)
Constructor.
const EgammaSshapeCalibration & m_corr
float calc11(float, float, const CaloRec::Array< 2 > &) const
float calc10(float, float, const CaloRec::Array< 2 > &) const
virtual float calculate(int energy_ndx, bool &good) const
Calculate the correction for tabulated energy ENERGY_NDX.
float calc5(float, float, const CaloRec::Array< 2 > &) const
float calc3(float, float, const CaloRec::Array< 2 > &) const
Constant< CxxUtils::Array< 4 > > m_correction
Calibration constant: tabulated arrays of function parameters.
Constant< CxxUtils::Array< 2 > > m_forms
Calibration constant: Functional form to use per region per energy.
Constant< CxxUtils::Array< 1 > > m_energies
Table of energies at which the correction was tabulated.
virtual void makeCorrection(xAOD::TrigEMCluster *, const void *) const override
Virtual function from IEgammaCalibration.
void docalc(int, const CaloClusterCorrectionCommon::TableBuilder &, const CxxUtils::Array< 1 > &, CxxUtils::WritableArray< 2 > &, int &) const
virtual StatusCode finalize() override
Finalization of the tool.
Constant< int > m_energy_degree
Degree of the polynomial interpolation in energy.
virtual StatusCode initialize() override
Initialization of the tool.
Constant< CxxUtils::Array< 2 > > m_regions
Calibration constant: table of regions.
TrigEMCluster_v1 TrigEMCluster
Define the latest version of the trigger EM cluster class.