ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
eflowRec
src
eflowFirstIntParameters.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/********************************************************************
6
7
NAME: eflowFirstIntParameters.h
8
PACKAGE: offline/Reconstruction/eflowRec
9
10
AUTHORS: M.Hodgkinson, R Duxfield (based on R.Duxfields Root package)
11
CREATED: 18th Aug, 2005
12
13
********************************************************************/
14
15
//Athena Headers
16
#include "
eflowCaloRegions.h
"
17
#include "
eflowEEtaBinnedParameters.h
"
18
#include "
eflowFirstIntParameters.h
"
19
20
const
int
eflowFirstIntParameters::m_nShapeParams
= 4;
21
22
eflowFirstIntParameters::eflowFirstIntParameters
() :
23
m_parameters
(
eflowCalo
::nRegions) {
24
for
(
int
i = 0; i <
eflowCalo::nRegions
; i++) {
25
m_parameters
[i].resize(
m_nShapeParams
);
26
for
(
int
j = 0; j <
m_nShapeParams
; j++)
m_parameters
[i][j] = 0.0;
27
}
28
}
29
30
bool
eflowFirstIntParameters::getWeightedParameters
(
const
eflowFirstIntParameters
* bin1,
const
eflowFirstIntParameters
*
bin2
,
const
double
w1) {
31
if
(!(bin1 &&
bin2
)) {
return
false
; }
32
33
double
fudgeMean
= w1 * bin1->fudgeMean() + (1.0 - w1) *
bin2
->fudgeMean();
34
double
fudgeStdDev
= w1 * bin1->fudgeStdDev() + (1.0 - w1) *
bin2
->fudgeStdDev();
35
std::vector<double> par(
m_nShapeParams
);
36
37
setFudgeMean
(
fudgeMean
);
38
setFudgeStdDev
(
fudgeStdDev
);
39
40
for
(
int
j = 0; j <
eflowCalo::nRegions
; j++) {
41
eflowCaloENUM
layer = (
eflowCaloENUM
)j;
42
43
const
std::vector<double>& par1 = bin1->getShapeParameters(layer);
44
const
std::vector<double>& par2 =
bin2
->getShapeParameters(layer);
45
46
for
(
int
k = 0; k <
m_nShapeParams
; k++) {
47
par[k] = w1 * par1[k] + (1.0 - w1) * par2[k];
48
}
49
50
setShapeParameters
(layer, par);
51
}
52
53
return
true
;
54
}
bin2
Definition
KillBinsByStrip.h:34
eflowCalo
This defines the eflowCalo enum, which is used to label calorimeter layers in a simplified scheme whi...
Definition
eflowCaloRegions.h:25
eflowCalo::nRegions
static const int nRegions
Definition
eflowCaloRegions.h:37
eflowFirstIntParameters::m_nShapeParams
static const int m_nShapeParams
Definition
eflowFirstIntParameters.h:51
eflowFirstIntParameters::eflowFirstIntParameters
eflowFirstIntParameters()
Definition
eflowFirstIntParameters.cxx:22
eflowFirstIntParameters::getWeightedParameters
bool getWeightedParameters(const eflowFirstIntParameters *bin1, const eflowFirstIntParameters *bin2, const double w1)
Definition
eflowFirstIntParameters.cxx:30
eflowFirstIntParameters::setShapeParameters
void setShapeParameters(eflowCaloENUM layer, const std::vector< double > &p)
Definition
eflowFirstIntParameters.h:48
eflowFirstIntParameters::m_parameters
std::vector< std::vector< double > > m_parameters
Definition
eflowFirstIntParameters.h:52
eflowFirstInt::fudgeMean
double fudgeMean() const
Definition
eflowFirstInt.h:29
eflowFirstInt::setFudgeMean
void setFudgeMean(double fudgeMean)
Definition
eflowFirstInt.h:32
eflowFirstInt::fudgeStdDev
double fudgeStdDev() const
Definition
eflowFirstInt.h:30
eflowFirstInt::setFudgeStdDev
void setFudgeStdDev(double fudgeStdDev)
Definition
eflowFirstInt.h:33
eflowCaloRegions.h
eflowCaloENUM
eflowCalo::LAYER eflowCaloENUM
Definition
eflowCaloRegions.h:49
eflowEEtaBinnedParameters.h
eflowFirstIntParameters.h
Generated on
for ATLAS Offline Software by
1.17.0