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