EIC Software
Reference for
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
QAG4SimulationEicCalorimeterSum.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file QAG4SimulationEicCalorimeterSum.h
1
#ifndef EICQA_QAG4SIMULATIONEICCALORIMETERSUM_H
2
#define EICQA_QAG4SIMULATIONEICCALORIMETERSUM_H
3
4
#include <
fun4all/SubsysReco.h
>
5
6
#include <cstdint>
7
#include <memory>
8
#include <string>
9
10
class
PHCompositeNode
;
11
class
PHG4TruthInfoContainer
;
12
class
PHG4Particle
;
13
class
CaloEvalStack
;
14
class
SvtxEvalStack
;
15
class
SvtxTrack
;
16
18
class
QAG4SimulationEicCalorimeterSum
:
public
SubsysReco
19
{
20
public
:
21
enum
enu_flags
22
{
23
// kProcessTower = 1 << 1,
24
kProcessCluster
= 1 << 2,
// histograms of best cluster matched to truth particle
25
kProcessTrackProj
= 1 << 3,
// histograms of tower/tower sums VS track projections
26
27
kDefaultFlag
=
kProcessCluster
|
kProcessTrackProj
28
};
29
30
QAG4SimulationEicCalorimeterSum
(
enu_flags
flags =
kDefaultFlag
);
31
32
virtual
~QAG4SimulationEicCalorimeterSum
() {}
33
34
int
Init
(
PHCompositeNode
*topNode);
35
int
InitRun
(
PHCompositeNode
*topNode);
36
int
process_event
(
PHCompositeNode
*topNode);
37
38
uint32_t
39
get_flags
()
const
40
{
41
return
_flags
;
42
}
43
44
void
45
set_flags
(
enu_flags
flags)
46
{
47
_flags
= (
uint32_t
) flags;
48
}
49
50
void
51
set_flag
(
enu_flags
flag
)
52
{
53
_flags
|= (
uint32_t
) flag;
54
}
55
56
bool
57
flag
(
enu_flags
flag
)
58
{
59
return
_flags
&
flag
;
60
}
61
62
void
63
reset_flag
(
enu_flags
flag
)
64
{
65
_flags
&= ~(
uint32_t
) flag;
66
}
67
69
std::string
70
get_histo_prefix
();
71
72
std::string
73
get_calo_name_cemc
()
const
74
{
75
return
_calo_name_cemc
;
76
}
77
78
void
79
set_calo_name_cemc
(
const
std::string &caloNameCemc)
80
{
81
_calo_name_cemc
= caloNameCemc;
82
}
83
84
std::string
85
get_calo_name_hcalin
()
const
86
{
87
return
_calo_name_hcalin
;
88
}
89
90
void
91
set_calo_name_hcalin
(
const
std::string &caloNameHcalin)
92
{
93
_calo_name_hcalin
= caloNameHcalin;
94
}
95
96
std::string
97
get_calo_name_hcalout
()
const
98
{
99
return
_calo_name_hcalout
;
100
}
101
102
void
103
set_calo_name_hcalout
(
const
std::string &caloNameHcalout)
104
{
105
_calo_name_hcalout
= caloNameHcalout;
106
}
107
108
float
get_mag_field
()
const
{
return
_magField
; }
109
void
set_mag_field
(
float
magField) {
_magField
= magField; }
110
111
void
set_track_nodename
(
const
std::string &
name
) {
m_TrackNodeName
=
name
; }
112
113
private
:
114
// int
115
// Init_Tower(PHCompositeNode *topNode);
116
// int
117
// process_event_Tower(PHCompositeNode *topNode);
118
119
int
Init_Cluster
(
PHCompositeNode
*topNode);
120
int
process_event_Cluster
(
PHCompositeNode
*topNode);
121
122
int
Init_TrackProj
(
PHCompositeNode
*topNode);
123
int
process_event_TrackProj
(
PHCompositeNode
*topNode);
124
125
std::shared_ptr<CaloEvalStack>
_caloevalstack_cemc
;
126
std::shared_ptr<CaloEvalStack>
_caloevalstack_hcalin
;
127
std::shared_ptr<CaloEvalStack>
_caloevalstack_hcalout
;
128
std::shared_ptr<SvtxEvalStack>
_svtxevalstack
;
129
130
uint32_t
_flags
;
131
132
std::string
m_TrackNodeName
;
133
std::string
_calo_name_cemc
;
134
std::string
_calo_name_hcalin
;
135
std::string
_calo_name_hcalout
;
136
137
PHG4TruthInfoContainer
*
_truth_container
;
138
140
PHG4Particle
*
141
get_truth_particle
();
142
144
bool
145
eval_trk_proj
(
const
std::string &detector,
SvtxTrack
*track,
146
PHCompositeNode
*topNode);
147
149
float
_magField
;
150
151
enum
152
{
154
Max_N_Tower
= 11
155
};
156
};
157
158
#endif // EICQA_QAG4SIMULATIONEICCALORIMETERSUM_H
fun4all_eic_qa
blob
master
source
QAG4SimulationEicCalorimeterSum.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:51
using
1.8.2 with
EIC GitHub integration