ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
ISF_FastCaloSimEvent
TFCSLateralShapeParametrizationHitBase.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TFCSLateralShapeParametrizationHitBase_h
6
#define TFCSLateralShapeParametrizationHitBase_h
7
8
#include "
ISF_FastCaloSimEvent/TFCSLateralShapeParametrization.h
"
9
10
class
CaloGeometry
;
11
12
class
TFCSLateralShapeParametrizationHitBase
13
:
public
TFCSLateralShapeParametrization
{
14
public
:
15
TFCSLateralShapeParametrizationHitBase
(
const
char
*name =
nullptr
,
16
const
char
*title =
nullptr
);
17
21
virtual
double
22
get_sigma2_fluctuation
(
TFCSSimulationState
&simulstate,
23
const
TFCSTruthState
*truth,
24
const
TFCSExtrapolationState
*extrapol)
const
;
25
29
virtual
int
get_number_of_hits
(
TFCSSimulationState
&simulstate,
30
const
TFCSTruthState
*truth,
31
const
TFCSExtrapolationState
*extrapol)
const
;
32
34
virtual
float
get_E_hit
(
TFCSSimulationState
&simulstate,
35
const
TFCSTruthState
*truth,
36
const
TFCSExtrapolationState
*extrapol)
const
;
37
39
virtual
float
getMinWeight
()
const
;
40
virtual
float
getMaxWeight
()
const
;
41
42
class
Hit
{
43
public
:
44
Hit
()
45
:
m_eta_x
(0.),
m_phi_y
(0.),
m_z
(0.),
m_E
(0.),
m_useXYZ
(false),
46
m_center_r
(0.),
m_center_z
(0.),
m_center_eta
(0.),
47
m_center_phi
(0.){};
// for hits with the same energy, m_E should
48
// normalized to E(layer)/nhit
49
Hit
(
float
eta
,
float
phi
,
float
E
)
50
:
m_eta_x
(
eta
),
m_phi_y
(
phi
),
m_z
(0.),
m_E
(
E
),
m_useXYZ
(false),
m_center_r
(0.),
51
m_center_z
(0.),
m_center_eta
(0.),
m_center_phi
(0.){};
52
Hit
(
float
x
,
float
y
,
float
z
,
float
E
)
53
:
m_eta_x
(
x
),
m_phi_y
(
y
),
m_z
(
z
),
m_E
(
E
),
m_useXYZ
(true),
54
m_center_r
(0.),
m_center_z
(0.),
m_center_eta
(0.),
m_center_phi
(0.){};
55
56
inline
void
setEtaPhiZE
(
float
eta
,
float
phi
,
float
z
,
float
E
) {
57
m_eta_x
=
eta
;
58
m_phi_y
=
phi
;
59
m_z
=
z
;
60
m_E
=
E
;
61
m_useXYZ
=
false
;
62
}
63
inline
void
setXYZE
(
float
x
,
float
y
,
float
z
,
float
E
) {
64
m_eta_x
=
x
;
65
m_phi_y
=
y
;
66
m_z
=
z
;
67
m_E
=
E
;
68
m_useXYZ
=
true
;
69
}
70
71
inline
void
reset_center
() {
72
m_center_r
= 0;
73
m_center_z
= 0;
74
m_center_eta
= 0;
75
m_center_phi
= 0;
76
}
77
78
inline
void
reset
() {
79
m_eta_x
= 0.;
80
m_phi_y
= 0.;
81
m_z
= 0.;
82
m_E
= 0.;
83
m_useXYZ
=
false
;
84
}
85
86
inline
float
&
eta
() {
return
m_eta_x
; };
87
inline
float
&
phi
() {
return
m_phi_y
; };
88
inline
float
&
x
() {
return
m_eta_x
; };
89
inline
float
&
y
() {
return
m_phi_y
; };
90
inline
float
&
E
() {
return
m_E
; };
91
inline
float
&
z
() {
return
m_z
; };
92
inline
long
unsigned
int
&
idx
() {
return
m_hit_index
; };
93
inline
float
r
() {
94
if
(
m_useXYZ
)
95
return
sqrt(
m_eta_x
*
m_eta_x
+
m_phi_y
*
m_phi_y
);
96
else
97
return
m_z
/ sinh(
m_eta_x
);
98
}
99
inline
float
&
center_r
() {
return
m_center_r
; }
100
inline
float
&
center_z
() {
return
m_center_z
; }
101
inline
float
&
center_eta
() {
return
m_center_eta
; }
102
inline
float
&
center_phi
() {
return
m_center_phi
; }
103
inline
void
setCenter_r
(
float
r
) {
m_center_r
=
r
; }
104
inline
void
setCenter_z
(
float
z
) {
m_center_z
=
z
; }
105
inline
void
setCenter_eta
(
float
eta
) {
m_center_eta
=
eta
; }
106
inline
void
setCenter_phi
(
float
phi
) {
m_center_phi
=
phi
; }
107
108
private
:
109
float
m_eta_x
;
// eta for barrel and end-cap, x for FCal
110
float
m_phi_y
;
// phi for barrel and end-cap, y for FCal
111
float
m_z
;
112
float
m_E
;
113
long
unsigned
int
m_hit_index
{};
114
bool
m_useXYZ
;
115
// Variables used to store extrapolated position
116
float
m_center_r
;
117
float
m_center_z
;
118
float
m_center_eta
;
119
float
m_center_phi
;
120
};
121
126
virtual
FCSReturnCode
simulate_hit
(
Hit
&
hit
,
TFCSSimulationState
&simulstate,
127
const
TFCSTruthState
*truth,
128
const
TFCSExtrapolationState
*extrapol);
129
130
private
:
131
ClassDefOverride(
TFCSLateralShapeParametrizationHitBase
,
132
1)
// TFCSLateralShapeParametrizationHitBase
133
};
134
135
#endif
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
TFCSLateralShapeParametrization.h
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition
TFCSParametrizationBase.h:41
CaloGeometry
Definition
CaloGeometry.h:27
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSLateralShapeParametrizationHitBase::Hit
Definition
TFCSLateralShapeParametrizationHitBase.h:42
TFCSLateralShapeParametrizationHitBase::Hit::Hit
Hit(float x, float y, float z, float E)
Definition
TFCSLateralShapeParametrizationHitBase.h:52
TFCSLateralShapeParametrizationHitBase::Hit::Hit
Hit()
Definition
TFCSLateralShapeParametrizationHitBase.h:44
TFCSLateralShapeParametrizationHitBase::Hit::center_z
float & center_z()
Definition
TFCSLateralShapeParametrizationHitBase.h:100
TFCSLateralShapeParametrizationHitBase::Hit::x
float & x()
Definition
TFCSLateralShapeParametrizationHitBase.h:88
TFCSLateralShapeParametrizationHitBase::Hit::m_eta_x
float m_eta_x
Definition
TFCSLateralShapeParametrizationHitBase.h:109
TFCSLateralShapeParametrizationHitBase::Hit::setEtaPhiZE
void setEtaPhiZE(float eta, float phi, float z, float E)
Definition
TFCSLateralShapeParametrizationHitBase.h:56
TFCSLateralShapeParametrizationHitBase::Hit::m_center_eta
float m_center_eta
Definition
TFCSLateralShapeParametrizationHitBase.h:118
TFCSLateralShapeParametrizationHitBase::Hit::y
float & y()
Definition
TFCSLateralShapeParametrizationHitBase.h:89
TFCSLateralShapeParametrizationHitBase::Hit::reset_center
void reset_center()
Definition
TFCSLateralShapeParametrizationHitBase.h:71
TFCSLateralShapeParametrizationHitBase::Hit::m_center_r
float m_center_r
Definition
TFCSLateralShapeParametrizationHitBase.h:116
TFCSLateralShapeParametrizationHitBase::Hit::m_z
float m_z
Definition
TFCSLateralShapeParametrizationHitBase.h:111
TFCSLateralShapeParametrizationHitBase::Hit::m_E
float m_E
Definition
TFCSLateralShapeParametrizationHitBase.h:112
TFCSLateralShapeParametrizationHitBase::Hit::m_hit_index
long unsigned int m_hit_index
Definition
TFCSLateralShapeParametrizationHitBase.h:113
TFCSLateralShapeParametrizationHitBase::Hit::phi
float & phi()
Definition
TFCSLateralShapeParametrizationHitBase.h:87
TFCSLateralShapeParametrizationHitBase::Hit::m_center_phi
float m_center_phi
Definition
TFCSLateralShapeParametrizationHitBase.h:119
TFCSLateralShapeParametrizationHitBase::Hit::E
float & E()
Definition
TFCSLateralShapeParametrizationHitBase.h:90
TFCSLateralShapeParametrizationHitBase::Hit::eta
float & eta()
Definition
TFCSLateralShapeParametrizationHitBase.h:86
TFCSLateralShapeParametrizationHitBase::Hit::reset
void reset()
Definition
TFCSLateralShapeParametrizationHitBase.h:78
TFCSLateralShapeParametrizationHitBase::Hit::Hit
Hit(float eta, float phi, float E)
Definition
TFCSLateralShapeParametrizationHitBase.h:49
TFCSLateralShapeParametrizationHitBase::Hit::setCenter_phi
void setCenter_phi(float phi)
Definition
TFCSLateralShapeParametrizationHitBase.h:106
TFCSLateralShapeParametrizationHitBase::Hit::setCenter_r
void setCenter_r(float r)
Definition
TFCSLateralShapeParametrizationHitBase.h:103
TFCSLateralShapeParametrizationHitBase::Hit::m_center_z
float m_center_z
Definition
TFCSLateralShapeParametrizationHitBase.h:117
TFCSLateralShapeParametrizationHitBase::Hit::m_useXYZ
bool m_useXYZ
Definition
TFCSLateralShapeParametrizationHitBase.h:114
TFCSLateralShapeParametrizationHitBase::Hit::z
float & z()
Definition
TFCSLateralShapeParametrizationHitBase.h:91
TFCSLateralShapeParametrizationHitBase::Hit::setCenter_z
void setCenter_z(float z)
Definition
TFCSLateralShapeParametrizationHitBase.h:104
TFCSLateralShapeParametrizationHitBase::Hit::idx
long unsigned int & idx()
Definition
TFCSLateralShapeParametrizationHitBase.h:92
TFCSLateralShapeParametrizationHitBase::Hit::setCenter_eta
void setCenter_eta(float eta)
Definition
TFCSLateralShapeParametrizationHitBase.h:105
TFCSLateralShapeParametrizationHitBase::Hit::center_phi
float & center_phi()
Definition
TFCSLateralShapeParametrizationHitBase.h:102
TFCSLateralShapeParametrizationHitBase::Hit::center_eta
float & center_eta()
Definition
TFCSLateralShapeParametrizationHitBase.h:101
TFCSLateralShapeParametrizationHitBase::Hit::m_phi_y
float m_phi_y
Definition
TFCSLateralShapeParametrizationHitBase.h:110
TFCSLateralShapeParametrizationHitBase::Hit::center_r
float & center_r()
Definition
TFCSLateralShapeParametrizationHitBase.h:99
TFCSLateralShapeParametrizationHitBase::Hit::setXYZE
void setXYZE(float x, float y, float z, float E)
Definition
TFCSLateralShapeParametrizationHitBase.h:63
TFCSLateralShapeParametrizationHitBase::Hit::r
float r()
Definition
TFCSLateralShapeParametrizationHitBase.h:93
TFCSLateralShapeParametrizationHitBase::getMaxWeight
virtual float getMaxWeight() const
Definition
TFCSLateralShapeParametrizationHitBase.cxx:46
TFCSLateralShapeParametrizationHitBase::get_number_of_hits
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once per shower simulation, as it could be calculated with random numb...
Definition
TFCSLateralShapeParametrizationHitBase.cxx:25
TFCSLateralShapeParametrizationHitBase::get_E_hit
virtual float get_E_hit(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Get hit energy from layer energy and number of hits.
Definition
TFCSLateralShapeParametrizationHitBase.cxx:31
TFCSLateralShapeParametrizationHitBase::get_sigma2_fluctuation
virtual double get_sigma2_fluctuation(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Give the effective size sigma^2 of the fluctuations that should be generated by the amount of generat...
Definition
TFCSLateralShapeParametrizationHitBase.cxx:19
TFCSLateralShapeParametrizationHitBase::TFCSLateralShapeParametrizationHitBase
TFCSLateralShapeParametrizationHitBase(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSLateralShapeParametrizationHitBase.cxx:15
TFCSLateralShapeParametrizationHitBase::getMinWeight
virtual float getMinWeight() const
Get minimum and maximum value of weight for hit energy reweighting.
Definition
TFCSLateralShapeParametrizationHitBase.cxx:42
TFCSLateralShapeParametrizationHitBase::simulate_hit
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol)
simulated one hit position with some energy.
Definition
TFCSLateralShapeParametrizationHitBase.cxx:50
TFCSLateralShapeParametrization::TFCSLateralShapeParametrization
TFCSLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSLateralShapeParametrization.cxx:13
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSTruthState
Definition
TFCSTruthState.h:13
Generated on
for ATLAS Offline Software by
1.17.0