#include <EgammaSshapeCalibration.h>
Definition at line 23 of file EgammaSshapeCalibration.h.
◆ anonymous enum
◆ docalc()
◆ finalize()
StatusCode EgammaSshapeCalibration::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode EgammaSshapeCalibration::initialize |
( |
| ) |
|
|
overridevirtual |
◆ makeCorrection()
Virtual function from IEgammaCalibration.
Definition at line 33 of file EgammaSshapeCalibration.cxx.
68 ATH_MSG_DEBUG(
"[GOOD]: seedCell location and selected eta range agree" );
71 ATH_MSG_DEBUG(
"[BAD]: seedCell location and selected eta range disagree !!" );
80 double elt_eta = caloDDE->
eta();
81 double elt_deta = caloDDE->
deta();
85 double u = 2*(
eta-elt_eta)/elt_deta;
88 double elt_eta_raw = clus->
rawEta();
90 if(elt_eta_raw<0.)
u=-
u;
99 double aeta = fabs(
eta - elt_eta + elt_eta_raw);
113 unsigned int nreg = regions.
size();
116 for (
unsigned int i=0;
i<nreg;
i++) {
130 if(std::abs(regions[region_ndx][
REG_CELLSIZE]-elt_deta) > 1
e-3) {
132 u = fmod(aeta,cellsize)/cellsize*2 - 1;
141 unsigned int n_energies = energies.
size();
142 unsigned int shape[] = {n_energies, 2};
148 unsigned int beg = 0;
149 unsigned int end = n_energies;
152 else if(
energy >= energies[n_energies-1])
162 while (n_good==0 &&
beg>0) {
166 while (n_good == 0 &&
end<n_energies) {
183 else if(
energy<=corrtab[0][0]){
186 else if(
energy>=corrtab[n_good-1][0]) {
187 offs=corrtab[n_good-1][1];
◆ Builder
◆ m_correction
Constant<CxxUtils::Array<4> > EgammaSshapeCalibration::m_correction { this, "correction" } |
|
private |
Calibration constant: tabulated arrays of function parameters.
Index 0: energy Index 1: region Index 2: parameter Index 3: polynomial coefficient
Note: If [e][r][0][-1] (where -1 means the last in the array) is exactly 0, for any e and r, then this energy/region is skipped. (This is usually because insufficient statistics were available to get a good fit.)
Definition at line 90 of file EgammaSshapeCalibration.h.
◆ m_energies
Constant<CxxUtils::Array<1> > EgammaSshapeCalibration::m_energies { this, "energies" } |
|
private |
◆ m_energy_degree
Constant<int> EgammaSshapeCalibration::m_energy_degree { this, "energy_degree", 3 } |
|
private |
◆ m_forms
Constant<CxxUtils::Array<2> > EgammaSshapeCalibration::m_forms { this, "forms" } |
|
private |
Calibration constant: Functional form to use per region per energy.
If this is empty, the form is taken instead from the region table (and is thus same for all energies).
Definition at line 122 of file EgammaSshapeCalibration.h.
◆ m_isRange_barrel
Constant<bool> EgammaSshapeCalibration::m_isRange_barrel { this, "rangeBarrel" } |
|
private |
◆ m_regions
Constant<CxxUtils::Array<2> > EgammaSshapeCalibration::m_regions { this, "regions" } |
|
private |
Calibration constant: table of regions.
For each region, we have:
- Lower \(|\eta|\) for the region.
- Upper \(|\eta|\) for the region.
- Index of the functional form for this region.
- Cell size for this region.
- Offset of cell low edge wrt a multiple of the cell size (not currently used).
If the forms variable is provided, then the functional form is taken from there instead of from here.
Definition at line 102 of file EgammaSshapeCalibration.h.
The documentation for this class was generated from the following files:
float interpolate(const CaloRec::Array< 2 > &a, float x, unsigned int degree, unsigned int ycol=1, const CaloRec::Array< 1 > ®ions=CaloRec::Array< 1 >(), int n_points=-1, bool fixZero=false)
Polynomial interpolation in a table.