Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
QAG4SimulationCalorimeterSum.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file QAG4SimulationCalorimeterSum.h
1
#ifndef QA_QAG4SIMULATIONCALORIMETERSUM_H
2
#define QA_QAG4SIMULATIONCALORIMETERSUM_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
QAG4SimulationCalorimeterSum
:
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
QAG4SimulationCalorimeterSum
(
enu_flags
flags =
kDefaultFlag
);
31
32
virtual
~QAG4SimulationCalorimeterSum
() {}
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
private
:
112
// int
113
// Init_Tower(PHCompositeNode *topNode);
114
// int
115
// process_event_Tower(PHCompositeNode *topNode);
116
117
int
Init_Cluster
(
PHCompositeNode
*topNode);
118
int
process_event_Cluster
(
PHCompositeNode
*topNode);
119
120
int
Init_TrackProj
(
PHCompositeNode
*topNode);
121
int
process_event_TrackProj
(
PHCompositeNode
*topNode);
122
123
std::shared_ptr<CaloEvalStack>
_caloevalstack_cemc
;
124
std::shared_ptr<CaloEvalStack>
_caloevalstack_hcalin
;
125
std::shared_ptr<CaloEvalStack>
_caloevalstack_hcalout
;
126
std::shared_ptr<SvtxEvalStack>
_svtxevalstack
;
127
128
uint32_t
_flags
;
129
130
std::string
_calo_name_cemc
;
131
std::string
_calo_name_hcalin
;
132
std::string
_calo_name_hcalout
;
133
134
PHG4TruthInfoContainer
*
_truth_container
;
135
137
PHG4Particle
*
138
get_truth_particle
();
139
141
bool
142
eval_trk_proj
(
const
std::string
&
detector
,
SvtxTrack
*track,
143
PHCompositeNode
*topNode);
144
146
float
_magField
;
147
148
enum
149
{
151
Max_N_Tower
= 11
152
};
153
};
154
155
#endif // QA_QAG4SIMULATIONCALORIMETERSUM_H
coresoftware
blob
master
offline
QA
modules
QAG4SimulationCalorimeterSum.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:11
using
1.8.2 with
sPHENIX GitHub integration