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_EICDetector.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4_DSTReader_EICDetector.C
1
2
9
10
11
#include <string>
12
13
void
14
G4DSTreader_EICDetector
(
const
char
* outputFile =
"G4sPHENIXCells.root"
,
//
15
int
absorberactive = 1,
//
16
bool
do_svtx =
true
,
//
17
bool
do_cemc =
true
,
//
18
bool
do_hcalin =
true
,
//
19
bool
do_magnet =
true
,
//
20
bool
do_hcalout =
true
,
//
21
bool
do_cemc_twr =
true
,
//
22
bool
do_hcalin_twr =
true
,
//
23
bool
do_magnet =
true
,
//
24
bool
do_hcalout_twr =
true
,
//
25
bool
do_FGEM =
true
,
//
26
bool
do_EGEM =
true
,
//
27
bool
do_FHCAL =
true
,
//
28
bool
do_FHCAL_twr =
true
,
//
29
bool
do_FEMC =
true
,
//
30
bool
do_FEMC_twr =
true
,
//
31
bool
do_EEMC =
true
,
//
32
bool
do_EEMC_twr =
true
//
33
)
34
{
35
37
const
bool
debug
=
false
;
38
40
const
bool
save_g4_raw
=
true
;
41
42
// save a comprehensive evaluation file
43
PHG4DSTReader
* ana =
new
PHG4DSTReader
(
44
string
(outputFile) +
string
(
"_DSTReader.root"
));
45
ana->
set_save_particle
(
true
);
46
ana->
set_load_all_particle
(
false
);
47
ana->
set_load_active_particle
(
true
);
48
ana->
set_save_vertex
(
true
);
49
50
if
(debug)
51
{
52
ana->
Verbosity
(2);
53
}
54
55
if
(save_g4_raw)
56
{
57
if
(do_svtx)
58
{
59
ana->
AddNode
(
"SVTX"
);
60
}
61
62
if
(do_cemc)
63
{
64
ana->
AddNode
(
"CEMC"
);
65
if
(absorberactive)
66
{
67
ana->
AddNode
(
"ABSORBER_CEMC"
);
68
ana->
AddNode
(
"CEMC_ELECTRONICS"
);
69
ana->
AddNode
(
"CEMC_SPT"
);
70
}
71
}
72
73
if
(do_hcalin)
74
{
75
ana->
AddNode
(
"HCALIN"
);
76
if
(absorberactive)
77
ana->
AddNode
(
"ABSORBER_HCALIN"
);
78
}
79
80
if
(do_magnet)
81
{
82
if
(absorberactive)
83
ana->
AddNode
(
"MAGNET"
);
84
}
85
86
if
(do_hcalout)
87
{
88
ana->
AddNode
(
"HCALOUT"
);
89
if
(absorberactive)
90
ana->
AddNode
(
"ABSORBER_HCALOUT"
);
91
}
92
93
if
(do_FHCAL)
94
{
95
ana->
AddNode
(
"FHCAL"
);
96
if
(absorberactive)
97
ana->
AddNode
(
"ABSORBER_FHCAL"
);
98
}
99
100
if
(do_FEMC)
101
{
102
ana->
AddNode
(
"FEMC"
);
103
if
(absorberactive)
104
ana->
AddNode
(
"ABSORBER_FEMC"
);
105
}
106
107
if
(do_EEMC)
108
{
109
ana->
AddNode
(
"EEMC"
);
110
if
(absorberactive)
111
ana->
AddNode
(
"ABSORBER_EEMC"
);
112
}
113
114
if
(do_FGEM)
115
{
116
ana->
AddNode
(
"FGEM_0"
);
117
ana->
AddNode
(
"FGEM_1"
);
118
ana->
AddNode
(
"FGEM_2"
);
119
ana->
AddNode
(
"FGEM_3"
);
120
ana->
AddNode
(
"FGEM_4"
);
121
}
122
123
if
(do_EGEM)
124
{
125
ana->
AddNode
(
"EGEM_0"
);
126
ana->
AddNode
(
"EGEM_1"
);
127
ana->
AddNode
(
"EGEM_2"
);
128
}
129
130
ana->
AddNode
(
"BH_1"
);
131
ana->
AddNode
(
"BH_FORWARD_PLUS"
);
132
ana->
AddNode
(
"BH_FORWARD_NEG"
);
133
134
}
135
136
ana->
set_tower_zero_sup
(1
e
-6);
137
if
(do_cemc_twr)
138
{
139
ana->
AddTower
(
"SIM_CEMC"
);
140
ana->
AddTower
(
"RAW_CEMC"
);
141
ana->
AddTower
(
"CALIB_CEMC"
);
142
}
143
if
(do_hcalin_twr)
144
{
145
ana->
AddTower
(
"SIM_HCALIN"
);
146
ana->
AddTower
(
"RAW_HCALIN"
);
147
ana->
AddTower
(
"CALIB_HCALIN"
);
148
}
149
if
(do_hcalout_twr)
150
{
151
ana->
AddTower
(
"SIM_HCALOUT"
);
152
ana->
AddTower
(
"RAW_HCALOUT"
);
153
ana->
AddTower
(
"CALIB_HCALOUT"
);
154
}
155
if
(do_FHCAL_twr)
156
{
157
ana->
AddTower
(
"SIM_FHCAL"
);
158
ana->
AddTower
(
"RAW_FHCAL"
);
159
ana->
AddTower
(
"CALIB_FHCAL"
);
160
}
161
if
(do_FEMC_twr)
162
{
163
ana->
AddTower
(
"SIM_FEMC"
);
164
ana->
AddTower
(
"RAW_FEMC"
);
165
ana->
AddTower
(
"CALIB_FEMC"
);
166
}
167
if
(do_EEMC_twr)
168
{
169
ana->
AddTower
(
"SIM_EEMC"
);
170
ana->
AddTower
(
"RAW_EEMC"
);
171
ana->
AddTower
(
"CALIB_EEMC"
);
172
}
173
174
// Jets disabled for now
175
// if (do_jet_reco)
176
// {
177
//
178
// ana->AddJet("AntiKt06JetsInPerfect");
179
// ana->AddJet("G4TowerJets_6");
180
// }
181
// if (embed_input_file && do_jet_reco)
182
// {
183
// ana->AddJet("G4TowerJets_combined_6");
184
// }
185
186
Fun4AllServer
*se =
Fun4AllServer::instance
();
187
se->
registerSubsystem
(ana);
188
}
analysis
blob
master
EICAnalysis
macros
leptoquarks_fun4all
G4_DSTReader_EICDetector.C
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:48
using
1.8.2 with
sPHENIX GitHub integration