ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
RawTowerCalibration.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file RawTowerCalibration.h
1
#ifndef CALORECO_RAWTOWERCALIBRATION_H
2
#define CALORECO_RAWTOWERCALIBRATION_H
3
4
#include <
fun4all/SubsysReco.h
>
5
6
#include <phparameter/PHParameters.h>
7
8
#include <iostream>
9
#include <string>
10
11
class
PHCompositeNode
;
12
class
RawTowerContainer
;
13
class
RawTowerGeomContainer
;
14
18
class
RawTowerCalibration
:
public
SubsysReco
19
{
20
public
:
21
RawTowerCalibration
(
const
std::string &
name
=
"RawTowerCalibration"
);
22
~RawTowerCalibration
()
override
23
{
24
}
25
26
int
InitRun
(
PHCompositeNode
*topNode)
override
;
27
int
process_event
(
PHCompositeNode
*topNode)
override
;
28
int
End
(
PHCompositeNode
*topNode)
override
;
29
void
30
Detector
(
const
std::string &
d
)
31
{
32
detector
=
d
;
33
_tower_calib_params
.
set_name
(d);
34
}
35
void
36
TowerType
(
const
int
type)
37
{
38
_tower_type
= type;
39
}
40
41
enum
enu_calib_algorithm
42
{
44
kNo_calibration
= 0,
45
47
kSimple_linear_calibration
= 1,
48
50
kTower_by_tower_calibration
= 2
51
};
52
53
enu_calib_algorithm
54
get_calib_algorithm
()
const
55
{
56
return
_calib_algorithm
;
57
}
58
59
void
60
set_calib_algorithm
(
enu_calib_algorithm
calibAlgorithm)
61
{
62
_calib_algorithm
= calibAlgorithm;
63
}
64
65
double
66
get_calib_const_GeV_ADC
()
const
67
{
68
return
_calib_const_GeV_ADC
;
69
}
70
71
void
72
set_calib_const_GeV_ADC
(
double
calibConstGeVAdc)
73
{
74
_calib_const_GeV_ADC
= calibConstGeVAdc;
75
}
76
77
void
78
set_variable_GeV_ADC
(
const
bool
value
)
79
{
80
_GeV_ADC_file
=
value
;
81
}
82
83
std::string
84
get_calib_tower_node_prefix
()
const
85
{
86
return
_calib_tower_node_prefix
;
87
}
88
89
void
90
set_calib_tower_node_prefix
(
const
std::string &calibTowerNodePrefix)
91
{
92
_calib_tower_node_prefix
= calibTowerNodePrefix;
93
}
94
95
double
96
get_pedstal_ADC
()
const
97
{
98
return
_pedstal_ADC
;
99
}
100
101
void
102
set_pedstal_ADC
(
double
pedstalAdc)
103
{
104
_pedstal_ADC
= pedstalAdc;
105
}
106
107
void
108
set_variable_pedestal
(
const
bool
value
)
109
{
110
_pedestal_file
=
value
;
111
}
112
113
std::string
114
get_raw_tower_node_prefix
()
const
115
{
116
return
_raw_tower_node_prefix
;
117
}
118
119
void
120
set_raw_tower_node_prefix
(
const
std::string &rawTowerNodePrefix)
121
{
122
_raw_tower_node_prefix
= rawTowerNodePrefix;
123
}
124
125
void
126
set_zero_suppression_GeV
(
double
)
127
{
128
std::cout <<
"RawTowerCalibration::set_zero_suppression_GeV is deprecated!"
<< std::endl
129
<<
" See discussion at https://github.com/sPHENIX-Collaboration/coresoftware/pull/867"
<< std::endl
130
<< std::endl;
131
}
132
134
PHParameters
&
135
GetCalibrationParameters
()
136
{
137
return
_tower_calib_params
;
138
}
139
140
protected
:
141
void
142
CreateNodes
(
PHCompositeNode
*topNode);
143
144
enu_calib_algorithm
_calib_algorithm
;
145
146
RawTowerContainer
*
_calib_towers
;
147
RawTowerContainer
*
_raw_towers
;
148
RawTowerGeomContainer
*
rawtowergeom
;
149
150
std::string
detector
;
151
std::string
RawTowerNodeName
;
152
std::string
CaliTowerNodeName
;
153
std::string
TowerGeomNodeName
;
154
155
std::string
_calib_tower_node_prefix
;
156
std::string
_raw_tower_node_prefix
;
157
159
double
_pedstal_ADC
;
160
162
bool
_pedestal_file
;
163
165
double
_calib_const_GeV_ADC
;
166
168
bool
_GeV_ADC_file
;
169
171
int
_tower_type
;
172
174
PHParameters
_tower_calib_params
;
175
};
176
177
#endif
coresoftware
blob
master
offline
packages
CaloReco
RawTowerCalibration.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:34
using
1.8.2 with
ECCE GitHub integration