ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
eflowRec
src
eflowEEtaBinnedParameters.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef EFLOWREC_EFLOWBINNEDPARAMETERS_H
6
#define EFLOWREC_EFLOWBINNEDPARAMETERS_H
7
8
/********************************************************************
9
10
NAME: eflowEEtaBinnedParameters.h
11
PACKAGE: offline/Reconstruction/eflowRec
12
13
AUTHORS: M.Hodgkinson, R Duxfield (based on R.Duxfields Root package)
14
CREATED: 18th Aug, 2005
15
16
********************************************************************/
17
18
//Athena Headers
19
#include "
eflowEEtaBinBase.h
"
20
#include "
eflowCaloRegions.h
"
21
22
23
#include "
eflowFirstIntParameters.h
"
24
//C++ Headers
25
#include <vector>
26
#include <memory>
27
class
eflowRingSubtractionManager
;
28
class
eflowEEtaBinnedParameters
;
29
30
class
eflowParameters
{
31
public
:
32
33
eflowParameters
() {
34
int
nSubtRegions =
eflowFirstIntRegions::nRegions
;
35
m_FirstIntParameters
.resize(nSubtRegions);
36
for
(
int
i = 0; i < nSubtRegions; i++) {
37
m_FirstIntParameters
[i] = std::make_unique<eflowFirstIntParameters>();
38
}
39
}
40
41
const
eflowFirstIntParameters
*
getFirstIntBin
(
eflowFirstIntENUM
j1st)
const
{
42
return
(
eflowFirstIntRegions::Unknown
!= j1st) ?
m_FirstIntParameters
[j1st].get() :
nullptr
;
43
}
44
eflowFirstIntParameters
*
getFirstIntBin
(
eflowFirstIntENUM
j1st) {
45
return
(
eflowFirstIntRegions::Unknown
!= j1st) ?
m_FirstIntParameters
[j1st].get() :
nullptr
;
46
}
47
48
49
private
:
50
std::vector<std::unique_ptr<eflowFirstIntParameters> >
m_FirstIntParameters
;
51
};
52
56
class
eflowEEtaBinnedParameters
:
public
eflowEEtaBinBase
{
57
public
:
58
59
eflowEEtaBinnedParameters
() =
default
;
60
61
void
initialise
(
const
std::vector<double>& eBinBounds,
const
std::vector<double>& etaBinBounds,
bool
useAbsEta =
true
);
62
63
void
setFudgeMean
(
int
energyBin,
int
etaBin,
eflowFirstIntENUM
j1st,
double
fudgeMean) {
64
if
(
m_bins
[energyBin][etaBin]) {
65
eflowFirstIntParameters
* j1stBin =
m_bins
[energyBin][etaBin]->getFirstIntBin(j1st);
66
if
(j1stBin) j1stBin->
setFudgeMean
(fudgeMean);
67
}
68
}
69
void
setFudgeStdDev
(
int
energyBin,
int
etaBin,
eflowFirstIntENUM
j1st,
double
fudgeStdDev) {
70
if
(
m_bins
[energyBin][etaBin]) {
71
eflowFirstIntParameters
* j1stBin =
m_bins
[energyBin][etaBin]->getFirstIntBin(j1st);
72
if
(j1stBin) j1stBin->
setFudgeStdDev
(fudgeStdDev);
73
}
74
}
75
void
setShapeParam
(
int
energyBin,
int
etaBin,
eflowFirstIntENUM
j1st,
eflowCaloENUM
layer,
76
int
paramNumber,
double
shapeParam) {
77
if
(
m_bins
[energyBin][etaBin]) {
78
eflowFirstIntParameters
* j1stBin =
m_bins
[energyBin][etaBin]->getFirstIntBin(j1st);
79
if
(j1stBin) j1stBin->
setShapeParameter
(layer, paramNumber, shapeParam);
80
}
81
}
82
83
84
double
getInterpolation
(
const
eflowParameters
** bin1,
const
eflowParameters
**
bin2
,
double
e,
double
eta
,
bool
useLegacyEnergyBinIndexing)
const
;
85
eflowFirstIntENUM
adjustLFI
(
double
e,
double
eta
,
eflowFirstIntENUM
j1st,
bool
useLegacyEnergyBinIndexing)
const
;
86
87
private
:
88
89
/* For different E bin, Eta bin, different (int)paramNumber, there are different (double)shapeParam */
90
std::vector< std::vector<std::unique_ptr<eflowParameters> > >
m_bins
;
91
92
};
93
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
bin2
Definition
KillBinsByStrip.h:34
eflowEEtaBinBase::eflowEEtaBinBase
eflowEEtaBinBase()=default
eflowEEtaBinnedParameters
Inherits from eflowEEtaBinBase.
Definition
eflowEEtaBinnedParameters.h:56
eflowEEtaBinnedParameters::setFudgeStdDev
void setFudgeStdDev(int energyBin, int etaBin, eflowFirstIntENUM j1st, double fudgeStdDev)
Definition
eflowEEtaBinnedParameters.h:69
eflowEEtaBinnedParameters::setFudgeMean
void setFudgeMean(int energyBin, int etaBin, eflowFirstIntENUM j1st, double fudgeMean)
Definition
eflowEEtaBinnedParameters.h:63
eflowEEtaBinnedParameters::adjustLFI
eflowFirstIntENUM adjustLFI(double e, double eta, eflowFirstIntENUM j1st, bool useLegacyEnergyBinIndexing) const
Definition
eflowEEtaBinnedParameters.cxx:109
eflowEEtaBinnedParameters::m_bins
std::vector< std::vector< std::unique_ptr< eflowParameters > > > m_bins
Definition
eflowEEtaBinnedParameters.h:90
eflowEEtaBinnedParameters::initialise
void initialise(const std::vector< double > &eBinBounds, const std::vector< double > &etaBinBounds, bool useAbsEta=true)
Definition
eflowEEtaBinnedParameters.cxx:33
eflowEEtaBinnedParameters::getInterpolation
double getInterpolation(const eflowParameters **bin1, const eflowParameters **bin2, double e, double eta, bool useLegacyEnergyBinIndexing) const
Definition
eflowEEtaBinnedParameters.cxx:52
eflowEEtaBinnedParameters::setShapeParam
void setShapeParam(int energyBin, int etaBin, eflowFirstIntENUM j1st, eflowCaloENUM layer, int paramNumber, double shapeParam)
Definition
eflowEEtaBinnedParameters.h:75
eflowEEtaBinnedParameters::eflowEEtaBinnedParameters
eflowEEtaBinnedParameters()=default
eflowFirstIntParameters
Extends eflowFirstInt to include parameters of the fits to radial shower profiles.
Definition
eflowFirstIntParameters.h:27
eflowFirstIntParameters::setShapeParameter
void setShapeParameter(eflowCaloENUM layer, int paramNumber, double shapeParam)
Definition
eflowFirstIntParameters.h:39
eflowFirstIntRegions::nRegions
static const int nRegions
Definition
eflowCaloRegions.h:67
eflowFirstIntRegions::Unknown
@ Unknown
Definition
eflowCaloRegions.h:64
eflowFirstInt::setFudgeMean
void setFudgeMean(double fudgeMean)
Definition
eflowFirstInt.h:32
eflowFirstInt::setFudgeStdDev
void setFudgeStdDev(double fudgeStdDev)
Definition
eflowFirstInt.h:33
eflowParameters
Definition
eflowEEtaBinnedParameters.h:30
eflowParameters::eflowParameters
eflowParameters()
Definition
eflowEEtaBinnedParameters.h:33
eflowParameters::m_FirstIntParameters
std::vector< std::unique_ptr< eflowFirstIntParameters > > m_FirstIntParameters
Definition
eflowEEtaBinnedParameters.h:50
eflowParameters::getFirstIntBin
const eflowFirstIntParameters * getFirstIntBin(eflowFirstIntENUM j1st) const
Definition
eflowEEtaBinnedParameters.h:41
eflowParameters::getFirstIntBin
eflowFirstIntParameters * getFirstIntBin(eflowFirstIntENUM j1st)
Definition
eflowEEtaBinnedParameters.h:44
eflowRingSubtractionManager
This stores information, a rank and ring thickness, about cell rings in an ordered way.
Definition
eflowRingSubtractionManager.h:31
eflowCaloRegions.h
eflowCaloENUM
eflowCalo::LAYER eflowCaloENUM
Definition
eflowCaloRegions.h:49
eflowFirstIntENUM
eflowFirstIntRegions::J1STLAYER eflowFirstIntENUM
Definition
eflowCaloRegions.h:79
eflowEEtaBinBase.h
eflowFirstIntParameters.h
Generated on
for ATLAS Offline Software by
1.17.0