General Interface for calibrations at the LVL2 Egamma Calo Fex algo.
More...
#include <EgammaTransitionRegions.h>
|
| virtual StatusCode | initialize () override |
| | Initialization of the tool.
|
| virtual StatusCode | finalize () override |
| | Finalization of the tool.
|
| virtual void | makeCorrection (xAOD::TrigEMCluster *, const void *v=nullptr) const override |
| | method to perform the correction.
|
General Interface for calibrations at the LVL2 Egamma Calo Fex algo.
Definition at line 23 of file EgammaTransitionRegions.h.
◆ finalize()
| StatusCode EgammaTransitionRegions::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
| StatusCode EgammaTransitionRegions::initialize |
( |
| ) |
|
|
overridevirtual |
Initialization of the tool.
Definition at line 43 of file EgammaTransitionRegions.cxx.
43 {
44
45 CHECK (base_class::initialize());
46
48
49
50
51
52
53 return StatusCode::SUCCESS;
54}
#define CHECK(...)
Evaluate an expression and check for errors.
◆ makeCorrection()
| void EgammaTransitionRegions::makeCorrection |
( |
xAOD::TrigEMCluster * | clus, |
|
|
const void * | v = nullptr ) const |
|
overridevirtual |
method to perform the correction.
The correction type is defined by the tool which also uses this interface. In some cases, the tool needs more than the cluster to perform the calibration. This can be passed via the void pointer
Definition at line 61 of file EgammaTransitionRegions.cxx.
62 {
63
64 float the_aeta = (clus->
eta());
65
66 the_aeta = (the_aeta>0)?(the_aeta):(- the_aeta);
67
68
69
70#ifndef NDEBUG
71 ATH_MSG_DEBUG(
"************************************************************************************************" );
73 ATH_MSG_DEBUG(
"************************************************************************************************" );
74#endif
75
79
80#ifndef NDEBUG
81 ATH_MSG_DEBUG(
"************************************************************************************************" );
83#endif
84 double corr = 1.0;
85
86
87
88
89
91#ifndef NDEBUG
94#endif
95 corr = ( tr00[0] - tr00[1] / (
exp( tr00[2] - the_aeta ) +
exp( tr00[3]*( the_aeta - tr00[4]))+tr00[5]));
96 }
98 corr = tr00[6];
99#ifndef NDEBUG
101#endif
102 }
103
104
105
106
107
109#ifndef NDEBUG
110 ATH_MSG_DEBUG(
"Applying correction for eta = 0.8 (loose) " );
111 ATH_MSG_DEBUG( tr08[0] <<
" " << tr08[1] <<
" " << tr08[2] );
112#endif
113 corr = (tr08[0] - tr08[1] / (
exp( tr08[2] - the_aeta ) +
114 exp( tr08[3] *( the_aeta - tr08[4] )) + tr08[5] ));
115 }
116
117
118#ifndef NDEBUG
120 << " Correction --> " << corr );
121#endif
122 if ( corr == 1 ) return;
123
124
125
126
127
128
129
130 for (int sampling=1; sampling<=3; sampling++){
131 if (the_aeta < 1.37 )
133 clus->
energy(samps[0][sampling]) / corr );
134 }
135
137
139
140}
Constant< float > m_etamax_TR08
Constant< float > m_etamin_TR00
Constant< CxxUtils::Array< 2 > > m_correction
Constant< float > m_etamax_TR00
Constant< float > m_etamin_TR08
void setEt(float)
set Et (calibrated)
float eta() const
get Eta (calibrated)
void setEnergy(float energy)
set Energy (calibrated)
float energy() const
get Energy (calibrated)
◆ m_correction
| Constant<CxxUtils::Array<2> > EgammaTransitionRegions::m_correction { this, "correction" } |
|
private |
◆ m_etamax_TR00
| Constant<float> EgammaTransitionRegions::m_etamax_TR00 { this, "etamax_TR00" } |
|
private |
◆ m_etamax_TR08
| Constant<float> EgammaTransitionRegions::m_etamax_TR08 { this, "etamax_TR08" } |
|
private |
◆ m_etamin_TR00
| Constant<float> EgammaTransitionRegions::m_etamin_TR00 { this, "etamin_TR00" } |
|
private |
◆ m_etamin_TR08
| Constant<float> EgammaTransitionRegions::m_etamin_TR08 { this, "etamin_TR08" } |
|
private |
◆ m_use_raw_eta
| Constant<bool> EgammaTransitionRegions::m_use_raw_eta { this, "use_raw_eta" } |
|
private |
The documentation for this class was generated from the following files: