ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
PixelConditionsData
PixelConditionsData
ChargeCalibParameters.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
#ifndef ChargeCalibParameters_h
12
#define ChargeCalibParameters_h
13
#include <cmath>
14
#include <iosfwd>
15
#include <limits>
16
17
namespace
PixelChargeCalib
{
18
19
struct
LegacyFitParameters
{
20
static
constexpr
float
defaultOverflow
= std::numeric_limits<float>::max();
21
float
A
= 0.f;
22
float
E
= 0.f;
23
float
C
= 0.f;
24
float
maxToT
=
defaultOverflow
;
25
LegacyFitParameters
() =
default
;
26
LegacyFitParameters
(
float
a
,
float
e,
float
c,
float
overflow ):
A
(
a
),
E
(e),
C
(c),
maxToT
(overflow){
27
//nop
28
}
29
bool
operator ==
(
const
LegacyFitParameters
& o)
const
{
30
return
((o.
A
==
A
) and (o.
E
==
E
) and (o.
C
==
C
));
31
}
32
34
float
ToT
(
float
Q
)
const
{
35
if
((
C
+
Q
) != 0.0f) {
36
return
A
* (
E
+
Q
) / (
C
+
Q
);
37
}
38
return
0.f;
39
}
40
//return Charge, given time-over-Threshold
41
float
Q
(
float
tot)
const
{
42
if
(tot >=
maxToT
)
return
1.81e5;
43
if
(std::fabs(
A
) != 0.0f && std::fabs(tot /
A
- 1.f) != 0.0f) {
44
return
(
C
* tot /
A
-
E
) / (1.f - tot /
A
);
45
}
46
return
0.f;
47
}
48
49
};
50
51
struct
LinearFitParameters
{
52
float
F
= 0.f;
53
float
G
= 0.f;
54
LinearFitParameters
() =
default
;
55
LinearFitParameters
(
float
f,
float
g):
F
(f),
G
(g){
56
//nop
57
}
58
bool
operator ==
(
const
LinearFitParameters
& o){
59
return
((o.
F
==
F
) and (o.
G
==
G
) );
60
}
61
bool
operator !=
(
const
LinearFitParameters
& o){
62
return
not
operator ==
(o);
63
}
64
float
ToT
(
float
Q
)
const
{
65
if
(
F
!= 0.0f){
66
return
(
Q
-
G
) /
F
;
67
}
68
return
0.f;
69
}
70
float
Q
(
float
tot)
const
{
71
return
F
* tot +
G
;
72
}
73
};
74
75
struct
Thresholds
{
76
int
value
= 0;
77
int
sigma
= 0;
78
int
noise
= 0;
79
int
inTimeValue
= 0;
80
Thresholds
() =
default
;
81
Thresholds
(
int
v,
int
s,
int
n,
int
i):
value
(v),
sigma
(s),
noise
(n),
inTimeValue
(i){
82
//nop
83
}
84
bool
operator ==
(
const
Thresholds
& o){
85
return
((o.
value
==
value
) and (o.
sigma
==
sigma
) and (o.
noise
==
noise
) and (o.
inTimeValue
==
inTimeValue
));
86
}
87
bool
operator !=
(
const
Thresholds
& o){
88
return
not
operator ==
(o);
89
}
90
};
91
92
struct
Resolutions
{
93
float
res1
= 0.f;
94
float
res2
= 0.f;
95
Resolutions
() =
default
;
96
Resolutions
(
float
r1,
float
r2):
res1
(r1),
res2
(r2){
97
//nop
98
}
99
bool
operator ==
(
const
Resolutions
& o){
100
return
((o.
res1
==
res1
) and (o.
res2
==
res2
) );
101
}
102
bool
operator !=
(
const
Resolutions
& o){
103
return
not
operator ==
(o);
104
}
105
float
total
(
float
Q)
const
{
106
return
res1
+
res2
* Q;
107
}
108
};
109
110
std::ostream &
operator <<
(std::ostream & out,
const
LegacyFitParameters & legFitPar);
111
std::ostream &
operator <<
(std::ostream & out,
const
LinearFitParameters & linFitParam);
112
std::ostream &
operator <<
(std::ostream & out,
const
Thresholds
& t);
113
std::ostream &
operator <<
(std::ostream & out,
const
Resolutions &
r
);
114
}
115
116
#endif
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
r
int r
Definition
globals.cxx:22
PixelChargeCalib
Definition
IChargeCalibrationParser.h:30
PixelChargeCalib::operator<<
std::ostream & operator<<(std::ostream &out, const LegacyFitParameters &legFitPar)
Definition
ChargeCalibParameters.cxx:18
Thresholds
Definition
LArCalorimeter/LArCalibDataQuality/python/Thresholds.py:1
PixelChargeCalib::LegacyFitParameters::A
float A
Definition
ChargeCalibParameters.h:21
PixelChargeCalib::LegacyFitParameters::defaultOverflow
static constexpr float defaultOverflow
Definition
ChargeCalibParameters.h:20
PixelChargeCalib::LegacyFitParameters::LegacyFitParameters
LegacyFitParameters()=default
PixelChargeCalib::LegacyFitParameters::LegacyFitParameters
LegacyFitParameters(float a, float e, float c, float overflow)
Definition
ChargeCalibParameters.h:26
PixelChargeCalib::LegacyFitParameters::maxToT
float maxToT
Definition
ChargeCalibParameters.h:24
PixelChargeCalib::LegacyFitParameters::ToT
float ToT(float Q) const
Return Time-over-threshold given charge Q.
Definition
ChargeCalibParameters.h:34
PixelChargeCalib::LegacyFitParameters::operator==
bool operator==(const LegacyFitParameters &o) const
Definition
ChargeCalibParameters.h:29
PixelChargeCalib::LegacyFitParameters::C
float C
Definition
ChargeCalibParameters.h:23
PixelChargeCalib::LegacyFitParameters::E
float E
Definition
ChargeCalibParameters.h:22
PixelChargeCalib::LegacyFitParameters::Q
float Q(float tot) const
Definition
ChargeCalibParameters.h:41
PixelChargeCalib::LinearFitParameters::LinearFitParameters
LinearFitParameters()=default
PixelChargeCalib::LinearFitParameters::F
float F
Definition
ChargeCalibParameters.h:52
PixelChargeCalib::LinearFitParameters::G
float G
Definition
ChargeCalibParameters.h:53
PixelChargeCalib::LinearFitParameters::LinearFitParameters
LinearFitParameters(float f, float g)
Definition
ChargeCalibParameters.h:55
PixelChargeCalib::LinearFitParameters::ToT
float ToT(float Q) const
Definition
ChargeCalibParameters.h:64
PixelChargeCalib::LinearFitParameters::operator!=
bool operator!=(const LinearFitParameters &o)
Definition
ChargeCalibParameters.h:61
PixelChargeCalib::LinearFitParameters::operator==
bool operator==(const LinearFitParameters &o)
Definition
ChargeCalibParameters.h:58
PixelChargeCalib::LinearFitParameters::Q
float Q(float tot) const
Definition
ChargeCalibParameters.h:70
PixelChargeCalib::Resolutions::operator!=
bool operator!=(const Resolutions &o)
Definition
ChargeCalibParameters.h:102
PixelChargeCalib::Resolutions::operator==
bool operator==(const Resolutions &o)
Definition
ChargeCalibParameters.h:99
PixelChargeCalib::Resolutions::res2
float res2
Definition
ChargeCalibParameters.h:94
PixelChargeCalib::Resolutions::total
float total(float Q) const
Definition
ChargeCalibParameters.h:105
PixelChargeCalib::Resolutions::res1
float res1
Definition
ChargeCalibParameters.h:93
PixelChargeCalib::Resolutions::Resolutions
Resolutions(float r1, float r2)
Definition
ChargeCalibParameters.h:96
PixelChargeCalib::Resolutions::Resolutions
Resolutions()=default
PixelChargeCalib::Thresholds::noise
int noise
Definition
ChargeCalibParameters.h:78
PixelChargeCalib::Thresholds::operator==
bool operator==(const Thresholds &o)
Definition
ChargeCalibParameters.h:84
PixelChargeCalib::Thresholds::sigma
int sigma
Definition
ChargeCalibParameters.h:77
PixelChargeCalib::Thresholds::operator!=
bool operator!=(const Thresholds &o)
Definition
ChargeCalibParameters.h:87
PixelChargeCalib::Thresholds::Thresholds
Thresholds()=default
PixelChargeCalib::Thresholds::Thresholds
Thresholds(int v, int s, int n, int i)
Definition
ChargeCalibParameters.h:81
PixelChargeCalib::Thresholds::value
int value
Definition
ChargeCalibParameters.h:76
PixelChargeCalib::Thresholds::inTimeValue
int inTimeValue
Definition
ChargeCalibParameters.h:79
Generated on
for ATLAS Offline Software by
1.17.0