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
G4_DSTReader.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4_DSTReader.C
1
#ifndef MACRO_G4DSTREADER_C
2
#define MACRO_G4DSTREADER_C
3
4
#include <
GlobalVariables.C
>
5
6
#include <
G4_Mbd.C
>
7
#include <
G4_BlackHole.C
>
8
#include <
G4_CEmc_Spacal.C
>
9
#include <
G4_EPD.C
>
10
#include <
G4_HcalIn_ref.C
>
11
#include <
G4_HcalOut_ref.C
>
12
#include <
G4_TrkrVariables.C
>
13
/*
14
#include <G4_Intt.C>
15
#include <G4_Magnet.C>
16
#include <G4_Mvtx.C>
17
#include <G4_TPC.C>
18
*/
19
#include <
g4eval/PHG4DSTReader.h
>
20
21
#include <
fun4all/Fun4AllServer.h
>
22
23
R__LOAD_LIBRARY(libg4eval.so)
24
25
26
33
34
35
namespace Enable
36
{
37
bool
DSTREADER
=
false
;
38
int
DSTREADER_VERBOSITY
= 0;
39
}
// namespace Enable
40
41
namespace
G4DSTREADER
42
{
43
bool
save_g4_raw
=
true
;
44
double
tower_zero_supp
= 1.e-6;
45
}
// namespace G4DSTREADER
46
47
void
G4DSTreaderInit
() {}
48
49
void
G4DSTreader
(
const
string
&outputFile =
"G4sPHENIXCells.root"
)
50
{
51
int
verbosity
= max(
Enable::VERBOSITY
,
Enable::DSTREADER_VERBOSITY
);
52
53
// save a comprehensive evaluation file
54
PHG4DSTReader
*ana =
new
PHG4DSTReader
(outputFile);
55
ana->
set_save_particle
(
true
);
56
ana->
set_load_all_particle
(
false
);
57
ana->
set_load_active_particle
(
true
);
58
ana->
set_save_vertex
(
true
);
59
60
ana->
Verbosity
(verbosity);
61
62
if
(
G4DSTREADER::save_g4_raw
)
63
{
64
if
(
Enable::MVTX
)
65
{
66
ana->
AddNode
(
"MVTX"
);
67
}
68
if
(
Enable::INTT
)
69
{
70
ana->
AddNode
(
"INTT"
);
71
}
72
if
(
Enable::TPC
)
73
{
74
ana->
AddNode
(
"TPC"
);
75
}
76
if
(
Enable::MBD
)
77
{
78
ana->
AddNode
(
"MBD"
);
79
}
80
81
if
(
Enable::CEMC
)
82
{
83
ana->
AddNode
(
"CEMC"
);
84
if
(
Enable::ABSORBER
||
Enable::CEMC_ABSORBER
)
85
{
86
ana->
AddNode
(
"ABSORBER_CEMC"
);
87
ana->
AddNode
(
"CEMC_ELECTRONICS"
);
88
ana->
AddNode
(
"CEMC_SPT"
);
89
}
90
}
91
92
if
(
Enable::HCALIN
)
93
{
94
ana->
AddNode
(
"HCALIN"
);
95
if
(
Enable::ABSORBER
||
Enable::HCALIN_ABSORBER
)
96
{
97
ana->
AddNode
(
"ABSORBER_HCALIN"
);
98
}
99
}
100
101
if
(
Enable::MAGNET
)
102
{
103
if
(
Enable::ABSORBER
||
Enable::MAGNET_ABSORBER
)
104
{
105
ana->
AddNode
(
"MAGNET"
);
106
}
107
}
108
109
if
(
Enable::HCALOUT
)
110
{
111
ana->
AddNode
(
"HCALOUT"
);
112
if
(
Enable::ABSORBER
||
Enable::HCALOUT_ABSORBER
)
113
{
114
ana->
AddNode
(
"ABSORBER_HCALOUT"
);
115
}
116
}
117
118
if
(
Enable::EPD
)
119
{
120
ana->
AddNode
(
"EPD"
);
121
}
122
123
if
(
Enable::BLACKHOLE
)
124
{
125
ana->
AddNode
(
"BH_1"
);
126
ana->
AddNode
(
"BH_FORWARD_PLUS"
);
127
ana->
AddNode
(
"BH_FORWARD_NEG"
);
128
}
129
}
130
131
ana->
set_tower_zero_sup
(
G4DSTREADER::tower_zero_supp
);
132
if
(
Enable::CEMC_TOWER
)
133
{
134
ana->
AddTower
(
"SIM_CEMC"
);
135
ana->
AddTower
(
"RAW_CEMC"
);
136
ana->
AddTower
(
"CALIB_CEMC"
);
137
}
138
if
(
Enable::HCALIN_TOWER
)
139
{
140
ana->
AddTower
(
"SIM_HCALIN"
);
141
ana->
AddTower
(
"RAW_HCALIN"
);
142
ana->
AddTower
(
"CALIB_HCALIN"
);
143
}
144
if
(
Enable::HCALOUT_TOWER
)
145
{
146
ana->
AddTower
(
"SIM_HCALOUT"
);
147
ana->
AddTower
(
"RAW_HCALOUT"
);
148
ana->
AddTower
(
"CALIB_HCALOUT"
);
149
}
150
// Jets disabled for now
151
// if (do_jet_reco)
152
// {
153
//
154
// ana->AddJet("AntiKt06JetsInPerfect");
155
// ana->AddJet("G4TowerJets_6");
156
// }
157
// if (embed_input_file && do_jet_reco)
158
// {
159
// ana->AddJet("G4TowerJets_combined_6");
160
// }
161
162
Fun4AllServer
*se =
Fun4AllServer::instance
();
163
se->
registerSubsystem
(ana);
164
}
165
#endif
macros
blob
master
common
G4_DSTReader.C
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:48
using
1.8.2 with
sPHENIX GitHub integration