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
PidCandidate.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PidCandidate.h
1
#ifndef PIDCANDIDATE_H__
2
#define PIDCANDIDATE_H__
3
4
#include <
phool/PHObject.h
>
5
#include <cmath>
6
#include <climits>
7
8
class
PidCandidate
:
public
PHObject
9
{
10
public
:
11
PidCandidate
() {}
12
virtual
~PidCandidate
() {}
13
14
virtual
void
identify
(std::ostream&
os
= std::cout)
const
;
15
16
virtual
void
Copy
(
PidCandidate
const
&
tc
);
17
18
friend
std::ostream &
operator<<
(std::ostream & stream,
const
PidCandidate
*
tc
);
19
20
virtual
void
Reset
();
21
22
virtual
void
print
()
const
{std::cout<<
"PidCandidate base class - print() not implemented"
<<std::endl;}
23
27
enum
PROPERTY
28
{
//
29
30
//-- Truth properties: 1 - 100 --
31
evtgen_pid
= 1,
32
evtgen_ptotal
= 2,
33
evtgen_etotal
= 3,
34
evtgen_theta
= 4,
35
evtgen_phi
= 5,
36
evtgen_eta
= 6,
37
evtgen_charge
= 7,
38
evtgen_decay_prong
= 8,
39
evtgen_decay_hcharged
= 9,
40
evtgen_decay_lcharged
= 10,
41
42
//-- Jet properties: 101 - ? --
43
jet_id
= 101,
44
jet_eta
= 102,
45
jet_phi
= 103,
46
jet_etotal
= 104,
47
jet_etrans
= 105,
48
jet_ptotal
= 106,
49
jet_ptrans
= 107,
50
jet_minv
= 108,
51
jet_mtrans
= 109,
52
jet_ncomp
= 110,
53
jet_ncomp_above_0p1
= 111,
54
jet_ncomp_above_1
= 112,
55
jet_ncomp_above_10
= 113,
56
jet_ncomp_emcal
= 115,
57
58
//-- Jet shape in calorimeter: 120 - 200 --
59
jetshape_radius
= 121,
60
jetshape_rms
= 122,
61
jetshape_r90
= 123,
62
63
jetshape_econe_r01
= 131,
64
jetshape_econe_r02
= 132,
65
jetshape_econe_r03
= 133,
66
jetshape_econe_r04
= 134,
67
jetshape_econe_r05
= 135,
68
69
jetshape_emcal_radius
= 161,
70
jetshape_emcal_rms
= 162,
71
jetshape_emcal_r90
= 163,
72
73
jetshape_emcal_econe_r01
= 171,
74
jetshape_emcal_econe_r02
= 172,
75
jetshape_emcal_econe_r03
= 173,
76
jetshape_emcal_econe_r04
= 174,
77
jetshape_emcal_econe_r05
= 175,
78
79
//-- Track information: 201 - 250 --
80
tracks_count_r02
= 210,
81
tracks_count_r04
= 211,
82
tracks_count_R
= 212,
83
84
tracks_rmax_r02
= 215,
85
tracks_rmax_r04
= 216,
86
tracks_rmax_R
= 217,
87
88
tracks_chargesum_r02
= 220,
89
tracks_chargesum_r04
= 221,
90
tracks_chargesum_R
= 222,
91
tracks_vertex
= 223,
92
93
//-- EM Candidates Cluster
94
em_cluster_id
= 301,
95
em_cluster_prob
= 302,
96
em_cluster_posx
= 303,
97
em_cluster_posy
= 304,
98
em_cluster_posz
= 305,
99
em_cluster_e
= 306,
100
em_cluster_ecore
= 307,
101
em_cluster_et_iso
= 308,
102
em_cluster_theta
= 309,
103
em_cluster_phi
= 310,
104
em_cluster_eta
= 311,
105
em_cluster_pt
= 312,
106
em_cluster_ntower
= 313,
107
em_cluster_caloid
= 314,
108
109
//-- EM Candidates Tracks
110
em_track_id
= 350,
111
em_track_quality
= 351,
112
em_track_theta
= 352,
113
em_track_phi
= 353,
114
em_track_eta
= 354,
115
em_track_ptotal
= 355,
116
em_track_ptrans
= 356,
117
em_track_charge
= 357,
118
em_track_dca
= 358,
119
em_track_section
= 359,
120
em_track_e3x3_cemc
= 360,
121
em_track_e3x3_femc
= 361,
122
em_track_e3x3_eemc
= 362,
123
em_track_e3x3_ihcal
= 363,
124
em_track_e3x3_ohcal
= 364,
125
em_track_e3x3_fhcal
= 365,
126
em_track_e3x3_ehcal
= 366,
127
em_track_cluster_dr
= 367,
128
em_track_theta2cluster
= 368,
129
em_track_eta2cluster
= 369,
130
em_track_phi2cluster
= 370,
131
em_track_p2cluster
= 371,
132
em_track_x2cluster
= 372,
133
em_track_y2cluster
= 373,
134
em_track_z2cluster
= 374,
135
136
//-- EM PID probabilities
137
em_pid_prob_electron
= 391,
138
em_pid_prob_pion
= 392,
139
em_pid_prob_kaon
= 393,
140
em_pid_prob_proton
= 394,
141
142
//-- EM Candidates Truth
143
em_evtgen_pid
= 401,
144
em_evtgen_ptotal
= 402,
145
em_evtgen_etotal
= 403,
146
em_evtgen_theta
= 404,
147
em_evtgen_phi
= 405,
148
em_evtgen_eta
= 406,
149
em_evtgen_charge
= 407,
150
em_evtgen_is_scattered_lepton
= 408,
151
152
//-- Event kinematics reconstructed from candidate
153
em_reco_x_e
= 410,
154
em_reco_y_e
= 411,
155
em_reco_q2_e
= 412,
156
em_reco_w_e
= 413,
157
159
prop_MAX_NUMBER
= UCHAR_MAX
160
};
161
162
enum
PROPERTY_TYPE
163
{
//
164
type_int
= 1,
165
type_uint
= 2,
166
type_float
= 3,
167
type_unknown
= -1
168
};
169
170
virtual
bool
has_property
(
const
PROPERTY
prop_id)
const
{
return
false
;}
171
virtual
float
get_property_float
(
const
PROPERTY
prop_id)
const
{
return
NAN;}
172
virtual
int
get_property_int
(
const
PROPERTY
prop_id)
const
{
return
INT_MIN;}
173
virtual
unsigned
int
get_property_uint
(
const
PROPERTY
prop_id)
const
{
return
UINT_MAX;}
174
virtual
void
set_property
(
const
PROPERTY
prop_id,
const
float
value
) {
return
;}
175
virtual
void
set_property
(
const
PROPERTY
prop_id,
const
int
value
) {
return
;}
176
virtual
void
set_property
(
const
PROPERTY
prop_id,
const
unsigned
int
value
) {
return
;}
177
static
std::pair<const std::string,PROPERTY_TYPE>
get_property_info
(
PROPERTY
prop_id);
178
static
bool
check_property
(
const
PROPERTY
prop_id,
const
PROPERTY_TYPE
prop_type);
179
static
std::string
get_property_type
(
const
PROPERTY_TYPE
prop_type);
180
181
protected
:
182
virtual
unsigned
int
get_property_nocheck
(
const
PROPERTY
prop_id)
const
{
return
UINT_MAX;}
183
virtual
void
set_property_nocheck
(
const
PROPERTY
prop_id,
const
unsigned
int
) {
return
;}
184
185
ClassDef(
PidCandidate
,1)
186
};
187
188
#endif
analysis
blob
master
EICAnalysis
PidCandidate.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:49
using
1.8.2 with
sPHENIX GitHub integration