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
KFParticle_nTuple.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file KFParticle_nTuple.h
1
#ifndef KFPARTICLESPHENIX_KFPARTICLENTUPLE_H
2
#define KFPARTICLESPHENIX_KFPARTICLENTUPLE_H
3
4
#include "
KFParticle_truthAndDetTools.h
"
5
6
#include <
KFParticle.h
>
7
8
#include <string>
// for string
9
#include <vector>
10
11
class
PHCompositeNode
;
12
class
TTree;
13
14
class
KFParticle_nTuple
:
public
KFParticle_truthAndDetTools
15
{
16
public
:
18
KFParticle_nTuple
();
19
21
~KFParticle_nTuple
()
override
=
default
;
22
24
void
initializeVariables
();
25
27
void
initializeBranches
();
28
30
void
fillBranch
(
PHCompositeNode
*topNode,
31
KFParticle
motherParticle,
32
const
KFParticle
&
vertex
,
33
std::vector<KFParticle> daughters,
34
std::vector<KFParticle> intermediates,
35
int
nPVs,
int
multiplicity
);
36
37
float
calc_secondary_vertex_mass_noPID
(std::vector<KFParticle> kfp_daughters);
38
39
protected
:
40
bool
m_has_intermediates_nTuple
;
41
bool
m_extrapolateTracksToSV_nTuple
;
42
bool
m_constrain_to_vertex_nTuple
;
43
bool
m_get_all_PVs
;
44
// int m_num_intermediate_states_nTuple;
45
// int m_num_tracks_from_intermediate_nTuple[99];
46
std::vector<int>
m_num_tracks_from_intermediate_nTuple
;
47
bool
m_truth_matching
;
48
bool
m_detector_info
;
49
bool
m_calo_info
;
50
std::string
m_mother_name
;
51
// std::string m_vtx_map_node_name_nTuple;
52
bool
m_use_intermediate_name
;
53
bool
m_get_charge_conjugate_nTuple
;
54
std::vector<std::string>
m_intermediate_name_ntuple
;
55
56
private
:
57
TTree *
m_tree
;
58
59
float
m_calculated_mother_mass
= -1;
60
float
m_calculated_mother_mass_err
= -1;
61
float
m_calculated_mother_decaytime
= -1;
62
float
m_calculated_mother_decaytime_err
= -1;
63
float
m_calculated_mother_decaylength
= -1;
64
float
m_calculated_mother_decaylength_err
= -1;
65
float
m_calculated_mother_dira
= -1;
66
float
m_calculated_mother_fdchi2
= -1;
67
float
m_calculated_mother_ip
= -1;
68
float
m_calculated_mother_ip_xy
= -1;
69
float
m_calculated_mother_ipchi2
= -1;
70
float
m_calculated_mother_ip_err
= -1;
71
float
m_calculated_mother_x
= -1;
72
float
m_calculated_mother_y
= -1;
73
float
m_calculated_mother_z
= -1;
74
float
m_calculated_mother_px
= -1;
75
float
m_calculated_mother_py
= -1;
76
float
m_calculated_mother_pz
= -1;
77
float
m_calculated_mother_pe
= -1;
78
float
m_calculated_mother_p
= -1;
79
float
m_calculated_mother_p_err
= -1;
80
float
m_calculated_mother_pt
= -1;
81
float
m_calculated_mother_pt_err
= -1;
82
char
m_calculated_mother_q
= -1;
83
float
m_calculated_mother_eta
= -1;
84
float
m_calculated_mother_rapidity
= -1;
85
float
m_calculated_mother_theta
= -1;
86
float
m_calculated_mother_phi
= -1;
87
float
m_calculated_mother_v
= -1;
88
float
m_calculated_mother_chi2
= -1;
89
int
m_calculated_mother_ndof
= -1;
90
int
m_calculated_mother_pdgID
= -1;
91
// float *m_calculated_mother_cov;
92
float
m_calculated_mother_cov
[21] = {0};
93
94
static
const
int
max_intermediates
= 8;
95
float
m_calculated_intermediate_mass
[
max_intermediates
] = {0};
96
float
m_calculated_intermediate_mass_err
[
max_intermediates
] = {0};
97
float
m_calculated_intermediate_decaytime
[
max_intermediates
] = {0};
98
float
m_calculated_intermediate_decaytime_err
[
max_intermediates
] = {0};
99
float
m_calculated_intermediate_decaylength
[
max_intermediates
] = {0};
100
float
m_calculated_intermediate_decaylength_err
[
max_intermediates
] = {0};
101
float
m_calculated_intermediate_dira
[
max_intermediates
] = {0};
102
float
m_calculated_intermediate_fdchi2
[
max_intermediates
] = {0};
103
float
m_calculated_intermediate_ip
[
max_intermediates
] = {0};
104
float
m_calculated_intermediate_ip_xy
[
max_intermediates
] = {0};
105
float
m_calculated_intermediate_ipchi2
[
max_intermediates
] = {0};
106
float
m_calculated_intermediate_ip_err
[
max_intermediates
] = {0};
107
float
m_calculated_intermediate_x
[
max_intermediates
] = {0};
108
float
m_calculated_intermediate_y
[
max_intermediates
] = {0};
109
float
m_calculated_intermediate_z
[
max_intermediates
] = {0};
110
float
m_calculated_intermediate_px
[
max_intermediates
] = {0};
111
float
m_calculated_intermediate_py
[
max_intermediates
] = {0};
112
float
m_calculated_intermediate_pz
[
max_intermediates
] = {0};
113
float
m_calculated_intermediate_pe
[
max_intermediates
] = {0};
114
float
m_calculated_intermediate_p
[
max_intermediates
] = {0};
115
float
m_calculated_intermediate_p_err
[
max_intermediates
] = {0};
116
float
m_calculated_intermediate_pt
[
max_intermediates
] = {0};
117
float
m_calculated_intermediate_pt_err
[
max_intermediates
] = {0};
118
char
m_calculated_intermediate_q
[
max_intermediates
] = {0};
119
float
m_calculated_intermediate_eta
[
max_intermediates
] = {0};
120
float
m_calculated_intermediate_rapidity
[
max_intermediates
] = {0};
121
float
m_calculated_intermediate_theta
[
max_intermediates
] = {0};
122
float
m_calculated_intermediate_phi
[
max_intermediates
] = {0};
123
float
m_calculated_intermediate_v
[
max_intermediates
] = {0};
124
float
m_calculated_intermediate_chi2
[
max_intermediates
] = {0};
125
float
m_calculated_intermediate_ndof
[
max_intermediates
] = {0};
126
int
m_calculated_intermediate_pdgID
[
max_intermediates
] = {0};
127
// float *m_calculated_intermediate_cov[max_intermediates];
128
float
m_calculated_intermediate_cov
[
max_intermediates
][21] = {{0}, {0}};
129
130
// static const int max_tracks = 20;
131
float
m_calculated_daughter_mass
[
max_tracks
] = {0};
132
float
m_calculated_daughter_ip
[
max_tracks
] = {0};
133
float
m_calculated_daughter_ip_xy
[
max_tracks
] = {0};
134
float
m_calculated_daughter_ipchi2
[
max_tracks
] = {0};
135
float
m_calculated_daughter_ip_err
[
max_tracks
] = {0};
136
float
m_calculated_daughter_x
[
max_tracks
] = {0};
137
float
m_calculated_daughter_y
[
max_tracks
] = {0};
138
float
m_calculated_daughter_z
[
max_tracks
] = {0};
139
float
m_calculated_daughter_px
[
max_tracks
] = {0};
140
float
m_calculated_daughter_py
[
max_tracks
] = {0};
141
float
m_calculated_daughter_pz
[
max_tracks
] = {0};
142
float
m_calculated_daughter_pe
[
max_tracks
] = {0};
143
float
m_calculated_daughter_p
[
max_tracks
] = {0};
144
float
m_calculated_daughter_p_err
[
max_tracks
] = {0};
145
float
m_calculated_daughter_pt
[
max_tracks
] = {0};
146
float
m_calculated_daughter_pt_err
[
max_tracks
] = {0};
147
float
m_calculated_daughter_jt
[
max_tracks
] = {0};
148
char
m_calculated_daughter_q
[
max_tracks
] = {0};
149
float
m_calculated_daughter_eta
[
max_tracks
] = {0};
150
float
m_calculated_daughter_rapidity
[
max_tracks
] = {0};
151
float
m_calculated_daughter_theta
[
max_tracks
] = {0};
152
float
m_calculated_daughter_phi
[
max_tracks
] = {0};
153
float
m_calculated_daughter_chi2
[
max_tracks
] = {0};
154
int
m_calculated_daughter_ndof
[
max_tracks
] = {0};
155
int
m_calculated_daughter_trid
[
max_tracks
] = {0};
156
int
m_calculated_daughter_pdgID
[
max_tracks
] = {0};
157
// float *m_calculated_daughter_cov[max_tracks];
158
float
m_calculated_daughter_cov
[
max_tracks
][21] = {{0}, {0}};
159
160
float
m_daughter_dca
[99] = {0};
161
162
float
m_calculated_vertex_x
= -1;
163
float
m_calculated_vertex_y
= -1;
164
float
m_calculated_vertex_z
= -1;
165
float
m_calculated_vertex_v
= -1;
166
int
m_calculated_vertex_nTracks
= -1;
167
float
m_calculated_vertex_chi2
= -1;
168
float
m_calculated_vertex_ndof
= -1;
169
// float *m_calculated_vertex_cov;
170
float
m_calculated_vertex_cov
[6] = {0};
171
172
float
m_sv_mass
= -1;
173
174
int
m_nPVs
= -1;
175
int
m_multiplicity
= -1;
176
177
int
m_runNumber
= -1;
178
int
m_evtNumber
= -1;
179
};
180
181
#endif
coresoftware
blob
master
offline
packages
KFParticle_sPHENIX
KFParticle_nTuple.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:07
using
1.8.2 with
sPHENIX GitHub integration