ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloUtils
CaloUtils
CaloLCCoeffHelper.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOUTILS_CALOLCCOEFFHELPER_H
6
#define CALOUTILS_CALOLCCOEFFHELPER_H
7
8
#include <fstream>
9
#include <string>
10
#include <optional>
11
#include "
CaloConditions/CaloLocalHadCoeff.h
"
12
#include "
CaloConditions/CaloLocalHadDefs.h
"
13
14
15
class
CaloLCCoeffHelper
{
16
public
:
17
18
CaloLCCoeffHelper
();
19
virtual
~CaloLCCoeffHelper
();
20
21
static
std::optional<CaloLocalHadCoeff>
InitDataFromFile
(
const
char
*fname);
22
static
void
PrintData
(
CaloLocalHadCoeff
*m_data, std::ostream &
fout
);
23
static
void
PrintData
(
CaloLocalHadCoeff
*m_data,
const
char
*fname);
24
25
static
const
CaloLocalHadCoeff::LocalHadArea
*
getAreaFromName
(
const
CaloLocalHadCoeff
* m_coeff,
const
std::string& sname,
int
&m_indx) ;
26
27
// Interpolate m_data, n_area in phase space point x, over dimensions dim (all if 0)
28
// return in pars
29
static
bool
Interpolate
(
const
CaloLocalHadCoeff
*m_data,
const
unsigned
int
n_area, std::vector<float> &
x
,
30
CaloLocalHadCoeff::LocalHadCoeff
&pars,
const
std::vector<int> &dim,
double
xfit=0.);
31
32
static
CaloLocalHadDefs::LocalHadDimensionId
getDimensionId
(
const
std::string& dimensionName)
33
{
34
if
(dimensionName ==
"DIMC_SIDE"
) {
35
return
CaloLocalHadDefs::DIMC_SIDE
;
36
}
else
if
(dimensionName ==
"DIMC_ETA"
) {
37
return
CaloLocalHadDefs::DIMC_ETA
;
38
}
else
if
(dimensionName ==
"DIMC_PHI"
) {
39
return
CaloLocalHadDefs::DIMC_PHI
;
40
}
else
if
(dimensionName ==
"DIMC_ENER"
) {
41
return
CaloLocalHadDefs::DIMC_ENER
;
42
}
else
if
(dimensionName ==
"DIMC_EDENS"
) {
43
return
CaloLocalHadDefs::DIMC_EDENS
;
44
}
else
if
(dimensionName ==
"DIMC_LAMBDA"
) {
45
return
CaloLocalHadDefs::DIMC_LAMBDA
;
46
47
}
else
if
(dimensionName ==
"DIMW_SIDE"
) {
48
return
CaloLocalHadDefs::DIMW_SIDE
;
49
}
else
if
(dimensionName ==
"DIMW_ETA"
) {
50
return
CaloLocalHadDefs::DIMW_ETA
;
51
}
else
if
(dimensionName ==
"DIMW_PHI"
) {
52
return
CaloLocalHadDefs::DIMW_PHI
;
53
}
else
if
(dimensionName ==
"DIMW_ENER"
) {
54
return
CaloLocalHadDefs::DIMW_ENER
;
55
}
else
if
(dimensionName ==
"DIMW_EDENS"
) {
56
return
CaloLocalHadDefs::DIMW_EDENS
;
57
58
}
else
if
(dimensionName ==
"DIMO_SIDE"
) {
59
return
CaloLocalHadDefs::DIMO_SIDE
;
60
}
else
if
(dimensionName ==
"DIMO_PHI"
) {
61
return
CaloLocalHadDefs::DIMO_PHI
;
62
}
else
if
(dimensionName ==
"DIMO_ENER"
) {
63
return
CaloLocalHadDefs::DIMO_ENER
;
64
}
else
if
(dimensionName ==
"DIMO_ETA"
) {
65
return
CaloLocalHadDefs::DIMO_ETA
;
66
}
else
if
(dimensionName ==
"DIMO_LAMBDA"
) {
67
return
CaloLocalHadDefs::DIMO_LAMBDA
;
68
69
}
else
if
(dimensionName ==
"DIMD_EMFRAC"
) {
70
return
CaloLocalHadDefs::DIMD_EMFRAC
;
71
}
else
if
(dimensionName ==
"DIMD_SIDE"
) {
72
return
CaloLocalHadDefs::DIMD_SIDE
;
73
}
else
if
(dimensionName ==
"DIMD_ETA"
) {
74
return
CaloLocalHadDefs::DIMD_ETA
;
75
}
else
if
(dimensionName ==
"DIMD_PHI"
) {
76
return
CaloLocalHadDefs::DIMD_PHI
;
77
}
else
if
(dimensionName ==
"DIMD_ENER"
) {
78
return
CaloLocalHadDefs::DIMD_ENER
;
79
}
else
if
(dimensionName ==
"DIMD_LAMBDA"
) {
80
return
CaloLocalHadDefs::DIMD_LAMBDA
;
81
82
}
else
{
83
//std::cout << " CaloUtils/CaloLocalHadCoeffHelper/getDimensionId() -> Error! Unknown dimension '" << dimensionName << "'" << std::endl;
84
return
CaloLocalHadDefs::DIMU_UNKNOWN
;
85
}
86
}
87
88
private
:
89
static
std::optional<CaloLocalHadCoeff::LocalHadDimension>
parse_dim
(
const
std::string &sLine);
90
91
};
92
93
94
95
#endif
CaloLocalHadCoeff.h
CaloLocalHadDefs.h
x
#define x
CaloLCCoeffHelper::~CaloLCCoeffHelper
virtual ~CaloLCCoeffHelper()
CaloLCCoeffHelper::Interpolate
static bool Interpolate(const CaloLocalHadCoeff *m_data, const unsigned int n_area, std::vector< float > &x, CaloLocalHadCoeff::LocalHadCoeff &pars, const std::vector< int > &dim, double xfit=0.)
Definition
CaloLCCoeffHelper.cxx:230
CaloLCCoeffHelper::PrintData
static void PrintData(CaloLocalHadCoeff *m_data, std::ostream &fout)
Definition
CaloLCCoeffHelper.cxx:163
CaloLCCoeffHelper::InitDataFromFile
static std::optional< CaloLocalHadCoeff > InitDataFromFile(const char *fname)
Definition
CaloLCCoeffHelper.cxx:56
CaloLCCoeffHelper::CaloLCCoeffHelper
CaloLCCoeffHelper()
CaloLCCoeffHelper::getDimensionId
static CaloLocalHadDefs::LocalHadDimensionId getDimensionId(const std::string &dimensionName)
Definition
CaloLCCoeffHelper.h:32
CaloLCCoeffHelper::parse_dim
static std::optional< CaloLocalHadCoeff::LocalHadDimension > parse_dim(const std::string &sLine)
Definition
CaloLCCoeffHelper.cxx:341
CaloLCCoeffHelper::getAreaFromName
static const CaloLocalHadCoeff::LocalHadArea * getAreaFromName(const CaloLocalHadCoeff *m_coeff, const std::string &sname, int &m_indx)
Definition
CaloLCCoeffHelper.cxx:39
CaloLocalHadCoeff::LocalHadArea
Definition of correction area.
Definition
CaloLocalHadCoeff.h:145
CaloLocalHadCoeff
Hold binned correction data for local hadronic calibration procedure.
Definition
CaloLocalHadCoeff.h:41
CaloLocalHadCoeff::LocalHadCoeff
std::vector< float > LocalHadCoeff
Correction parameters for one general bin.
Definition
CaloLocalHadCoeff.h:220
fout
static TFile * fout
Definition
listroot.cxx:40
CaloLocalHadDefs::LocalHadDimensionId
LocalHadDimensionId
enums to identify user dimensions id number DIMC_* - classification, DIMW_*-weighting,...
Definition
CaloLocalHadDefs.h:45
CaloLocalHadDefs::DIMW_PHI
@ DIMW_PHI
Definition
CaloLocalHadDefs.h:56
CaloLocalHadDefs::DIMD_SIDE
@ DIMD_SIDE
Definition
CaloLocalHadDefs.h:67
CaloLocalHadDefs::DIMC_ETA
@ DIMC_ETA
Definition
CaloLocalHadDefs.h:48
CaloLocalHadDefs::DIMD_PHI
@ DIMD_PHI
Definition
CaloLocalHadDefs.h:69
CaloLocalHadDefs::DIMW_ENER
@ DIMW_ENER
Definition
CaloLocalHadDefs.h:57
CaloLocalHadDefs::DIMD_ENER
@ DIMD_ENER
Definition
CaloLocalHadDefs.h:70
CaloLocalHadDefs::DIMO_ETA
@ DIMO_ETA
Definition
CaloLocalHadDefs.h:63
CaloLocalHadDefs::DIMC_EDENS
@ DIMC_EDENS
Definition
CaloLocalHadDefs.h:51
CaloLocalHadDefs::DIMU_UNKNOWN
@ DIMU_UNKNOWN
Definition
CaloLocalHadDefs.h:73
CaloLocalHadDefs::DIMC_SIDE
@ DIMC_SIDE
Definition
CaloLocalHadDefs.h:47
CaloLocalHadDefs::DIMW_EDENS
@ DIMW_EDENS
Definition
CaloLocalHadDefs.h:58
CaloLocalHadDefs::DIMO_PHI
@ DIMO_PHI
Definition
CaloLocalHadDefs.h:61
CaloLocalHadDefs::DIMW_SIDE
@ DIMW_SIDE
Definition
CaloLocalHadDefs.h:54
CaloLocalHadDefs::DIMC_ENER
@ DIMC_ENER
Definition
CaloLocalHadDefs.h:50
CaloLocalHadDefs::DIMW_ETA
@ DIMW_ETA
Definition
CaloLocalHadDefs.h:55
CaloLocalHadDefs::DIMD_LAMBDA
@ DIMD_LAMBDA
Definition
CaloLocalHadDefs.h:71
CaloLocalHadDefs::DIMO_SIDE
@ DIMO_SIDE
Definition
CaloLocalHadDefs.h:60
CaloLocalHadDefs::DIMD_ETA
@ DIMD_ETA
Definition
CaloLocalHadDefs.h:68
CaloLocalHadDefs::DIMO_ENER
@ DIMO_ENER
Definition
CaloLocalHadDefs.h:62
CaloLocalHadDefs::DIMC_PHI
@ DIMC_PHI
Definition
CaloLocalHadDefs.h:49
CaloLocalHadDefs::DIMD_EMFRAC
@ DIMD_EMFRAC
Definition
CaloLocalHadDefs.h:66
CaloLocalHadDefs::DIMO_LAMBDA
@ DIMO_LAMBDA
Definition
CaloLocalHadDefs.h:64
CaloLocalHadDefs::DIMC_LAMBDA
@ DIMC_LAMBDA
Definition
CaloLocalHadDefs.h:52
Generated on
for ATLAS Offline Software by
1.17.0