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
TruthCaloTree.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file TruthCaloTree.h
1
// Truth Calorimeter Calibration TreeMaker
2
3
#ifndef __TRUTHCALOTREE_H__
4
#define __TRUTHCALOTREE_H__
5
6
#include <
fun4all/SubsysReco.h
>
7
#include <string>
8
#include <vector>
9
#include <map>
10
#include "TTree.h"
11
#include "TFile.h"
12
#include "TH2.h"
13
#include <set>
14
15
#include <
g4main/PHG4TruthInfoContainer.h
>
16
#include <
phool/PHCompositeNode.h
>
17
#include <
g4main/PHG4Hit.h
>
18
#include <
g4main/PHG4HitContainer.h
>
19
20
#include <calobase/RawTowerGeomContainer_Cylinderv1.h>
21
#include <calobase/RawTowerGeomContainer.h>
22
#include <calobase/RawTowerContainer.h>
23
24
class
PHCompositeNode
;
25
class
RawTowerContainer
;
26
class
PHG4TruthInfoContainer
;
27
class
RawTowerGeomContainer
;
28
class
PHG4HitContainer
;
29
30
class
TruthCaloTree
:
public
SubsysReco
{
31
public
:
32
33
TruthCaloTree
(
const
std::string
&
name
=
"TruthCaloTree.root"
);
34
35
virtual
~TruthCaloTree
() {}
36
37
int
Init
(
PHCompositeNode
*);
38
39
int
reset_tree_vars
();
40
41
int
GetNodes
(
PHCompositeNode
*);
42
43
int
process_event
(
PHCompositeNode
*);
44
45
int
End
(
PHCompositeNode
*);
46
47
private
:
48
std::string
_foutname
;
// outfile name
49
std::string
_hcal_sim_name
;
50
std::string
_hcalIN_sim_name
;
51
std::string
_EMcal_sim_name
;
52
53
int
_startingSector
,
_numSectors
;
54
RawTowerContainer
*
_towersSimOH
;
55
RawTowerGeomContainer
*
_geomOH
;
56
RawTowerGeomContainer
*
_geomIH
;
57
RawTowerGeomContainer
*
_geomEM
;
58
PHG4HitContainer
*
blackhole
;
59
RawTowerContainer
*
_towersSimIH
;
60
RawTowerContainer
*
_towersSimEM
;
61
PHG4TruthInfoContainer
*
truthinfo
;
62
63
TTree*
_tree
;
64
TFile*
_file
;
65
66
int
_ievent
,
_b_event
;
67
68
static
const
bool
_debug
=
false
;
69
static
const
int
nTowers
= 10000;
70
static
const
int
nTruth
= 100000;
71
static
const
int
nTruths
= 100000;
72
static
const
bool
recursive_shower
=
false
;
73
74
// outer Hcal
75
76
int
_b_tower_sim_n
;
77
float
_b_tower_sim_E
[
nTowers
];
78
float
_b_tower_sim_eta
[
nTowers
];
79
float
_b_tower_sim_phi
[
nTowers
];
80
int
_b_tower_sim_ieta
[
nTowers
];
81
int
_b_tower_sim_iphi
[
nTowers
];
82
83
// inner HCal
84
85
int
_b_hcalIN_sim_n
= 0;
86
float
_b_hcalIN_sim_E
[
nTowers
];
87
float
_b_hcalIN_sim_eta
[
nTowers
];
88
float
_b_hcalIN_sim_phi
[
nTowers
];
89
int
_b_hcalIN_sim_ieta
[
nTowers
];
90
int
_b_hcalIN_sim_iphi
[
nTowers
];
91
92
// EMCal
93
94
int
_b_EMcal_sim_n
= 0;
95
float
_b_EMcal_sim_E
[
nTowers
];
96
float
_b_EMcal_sim_eta
[
nTowers
];
97
float
_b_EMcal_sim_phi
[
nTowers
];
98
int
_b_EMcal_sim_ieta
[
nTowers
];
99
int
_b_EMcal_sim_iphi
[
nTowers
];
100
101
// Primary truth particles
102
103
int
_b_n_truth
= 0;
104
float
_b_truthenergy
[
nTruth
];
105
float
_b_trutheta
[
nTruth
];
106
float
_b_truthphi
[
nTruth
];
107
float
_b_truthpt
[
nTruth
];
108
float
_b_truthp
[
nTruth
];
109
int
_b_truthpid
[
nTruth
];
110
int
_b_truth_trackid
[
nTruth
];
111
112
// Secondary truth particles
113
114
int
n_child
= 0;
115
int
child_pid
[
nTruth
];
116
int
child_parent_id
[
nTruth
];
117
int
child_vertex_id
[
nTruth
];
118
float
child_px
[
nTruth
];
119
float
child_py
[
nTruth
];
120
float
child_pz
[
nTruth
];
121
float
child_energy
[
nTruth
];
122
123
// Truth particle vertices
124
125
int
n_vertex
= 0;
126
int
vertex_id
[
nTruth
];
127
float
vertex_x
[
nTruth
];
128
float
vertex_y
[
nTruth
];
129
float
vertex_z
[
nTruth
];
130
131
// BH particles
132
133
int
_nBH
= 0;
134
float
_BH_e
[
nTruth
];
135
float
_BH_px
[
nTruth
];
136
float
_BH_py
[
nTruth
];
137
float
_BH_pz
[
nTruth
];
138
int
_BH_track_id
[
nTruth
];
139
140
};
141
142
#endif
analysis
blob
master
HcalSingleHadronCalib
src
TruthCaloTree.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:52
using
1.8.2 with
sPHENIX GitHub integration