Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
Analysis Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
acts-fatras
analysis
blob
master
A_N
Ana
AndersonAnalysisModules
AntiSigma
BBCStudy
Calo_Validation_Package
Calo_waveform_sim
Calorimeter
CalorimeterEmbedding
CalorimeterJets
cdbEMCalExample
cemcRecoAna
Centrality_Validation_Package
dNdEta_Run2023
EIC-IR
EIC-SynRad
EICAnalysis
EICMCAnalysis
EICTrigger
ElectronID
EMCal-analysis
EMCal-calibration
EMCal-commissioning
EMCal-LEDs
EMCal-position-dependent-calibration
EMCal-QA
EMCal_pi0_Calib_2023
EMCTemplateFitting
EpFinder
Event-Display
EventMix
FilterEvents
FilterEventsUpsilon
Fluence
ForwardCalo
ForwardTracking
FrawleyTrackEvalMacros
hbcup
HCal-analysis
HCalCosmicCalib
HCalHotTowerFinder
HCalib
HcalSingleHadronCalib
macros
src
TruthCaloTree.C
TruthCaloTree.h
TruthCaloTreeLinkDef.h
HF-Jet
HF-Particle
isoCluster
IsolatedTrackAnalysis
JS-Jet
mbdAnalysis
MBDStudy
MultiDetectorMultiplicity
MvtxTelescope
mybuild
ParticleID
PHFlowJetMaker
PhotonConversion
PhotonJet
pi0ClusterAna
pi0Efficiency
Pi0MassAnalysis
Prototype2
Prototype3
Prototype4
psTOF
pythiaEMCalAna
pythiaInfo
QuarkoniaBG
quickHIJING
ResonanceJetTaggingOutputs
runTrackingDiagnostics
Shift_emcal_g4hits
SimpleTrackingAnalysis
singlePhotonClusterAna
sPhenixAj
SvtxSimPerformanceCheckReco
TemplateCreation
Test
TowerInfoExample
TPC
TPC-ClusterAnimation
TPC-GemGain
Tracking
TrackPid
TreeMaker
ZDC-CALIB
analysis_tpc_prototype
coresoftware
Doxygen_Assist
g4exampledetector
GenFit
JETSCAPE
KFParticle
macros
online_distribution
OnlMon
prototype
pythia6
rcdaq
RDBC
tutorials
doxygen_mainpage.h
File Members
Examples
External Links
•
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