ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
macros
blob
master
common
DisplayOn.C
ECCEStyle.C
ECCEStyle.h
G4_Aerogel.C
G4_AllSilicon.C
G4_B0ECAL.C
G4_B0Tracking_EIC.C
G4_Barrel_EIC.C
G4_Bbc.C
G4_BECAL.C
G4_BlackHole.C
G4_BMMG.C
G4_BToF.C
G4_BWD.C
G4_CEmc_Albedo.C
G4_CEmc_EIC.C
G4_CEmc_Spacal.C
G4_DIRC.C
G4_DRCALO.C
G4_dRICH.C
G4_DSTReader_EICDetector.C
G4_EEMC.C
G4_EEMC_hybrid.C
G4_EHCAL.C
G4_EToF.C
G4_EventEvaluator.C
G4_FEMC.C
G4_FEMC_EIC.C
G4_FHCAL.C
G4_FST_EIC.C
G4_FwdJets.C
G4_GEM_EIC.C
G4_Global.C
G4_HcalIn_ref.C
G4_HcalOut_ref.C
G4_hFarBwdBeamLine_EIC.C
G4_hFarFwdBeamLine_EIC.C
G4_HToF.C
G4_Input.C
G4_Jets.C
G4_KFParticle.C
G4_LFHCAL.C
G4_Magnet.C
G4_Micromegas.C
G4_mRICH.C
G4_mRwell_EIC.C
G4_Mvtx_EIC.C
G4_ParticleFlow.C
G4_Pipe.C
G4_Pipe_EIC.C
G4_Piston.C
G4_PlugDoor.C
G4_PlugDoor_EIC.C
G4_Production.C
G4_PSTOF.C
G4_RICH.C
G4_TopoClusterReco.C
G4_TPC_EIC.C
G4_Tracking_EIC.C
G4_TrackingSupport.C
G4_TRD.C
G4_TTL_EIC.C
G4_User.C
G4_World.C
GlobalVariables.C
QA.C
sPhenixStyle.C
sPhenixStyle.h
detectors
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4_B0ECAL.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4_B0ECAL.C
1
#ifndef MACRO_G4B0ECAL_C
2
#define MACRO_G4B0ECAL_C
3
4
#include <
GlobalVariables.C
>
5
6
//include our own B0 Raw Tower Builder
7
#include <eicg4b0ecal/B0RawTowerBuilderByHitIndex.h>
8
9
#include <
g4calo/RawTowerDigitizer.h
>
10
11
#include <
g4eiccalos/PHG4ForwardCalCellReco.h
>
12
// Use Forward Cal Cell Reco .
13
14
#include <eicg4b0ecal/EICG4B0ECALSubsystem.h>
15
// Include our Subsystem
16
17
//Standard RawTowerDefs.h is modified
18
19
#include <
g4eval/CaloEvaluator.h
>
20
21
#include <
g4main/PHG4Reco.h
>
22
23
#include <
eiccaloreco/RawClusterBuilderkMA.h
>
24
#include <
eiccaloreco/RawClusterBuilderHelper.h
>
25
26
#include <caloreco/RawClusterBuilderFwd.h>
27
#include <caloreco/RawClusterBuilderTemplate.h>
28
#include <caloreco/RawTowerCalibration.h>
29
30
#include <
fun4all/Fun4AllServer.h
>
31
32
R__LOAD_LIBRARY
(libcalo_reco.so)
33
R__LOAD_LIBRARY
(libg4calo.so)
34
R__LOAD_LIBRARY
(libg4eiccalos.so)
35
R__LOAD_LIBRARY
(libg4eval.so)
36
37
namespace Enable
38
{
39
bool
B0ECAL
=
false
;
40
bool
B0ECAL_ABSORBER
=
false
;
41
bool
B0ECAL_CELL
=
false
;
42
bool
B0ECAL_TOWER
=
false
;
43
bool
B0ECAL_CLUSTER
=
false
;
44
bool
B0ECAL_EVAL
=
false
;
45
bool
B0ECAL_OVERLAPCHECK
=
false
;
46
int
B0ECAL_VERBOSITY
= 0;
47
}
// namespace Enable
48
49
50
namespace
G4B0ECAL
51
{
52
53
double
minz
= 678;
54
double
maxz
= 698;
55
double
radius
= 20;
56
57
// Default set to B0 Ecal position at IP6
58
59
// Digitization (default photon digi):
60
RawTowerDigitizer::enu_digi_algorithm
TowerDigi
=
RawTowerDigitizer::kNo_digitization
;
61
// directly pass the energy of sim tower to digitized tower
62
// kNo_digitization
63
// simple digitization with photon statistics, single amplitude ADC conversion and pedestal
64
// kSimple_photon_digitization
65
// digitization with photon statistics on SiPM with an effective pixel N, ADC conversion and pedestal
66
// kSiPM_photon_digitization
67
68
}
// namespace G4B0ECAL
69
70
void
B0ECALInit
()
71
{
72
}
73
74
void
B0ECALSetup
(
PHG4Reco
*g4Reco)
75
{
76
//Done in G4_hFarFwdBeamLine.C
77
}
78
79
void
B0ECAL_Cells
(
int
verbosity = 0)
80
{
81
return
;
82
}
83
84
void
B0ECAL_Towers
()
85
{
86
int
verbosity =
std::max
(
Enable::VERBOSITY
,
Enable::B0ECAL_VERBOSITY
);
87
88
Fun4AllServer
*se =
Fun4AllServer::instance
();
89
90
ostringstream mapping_b0ecal;
91
mapping_b0ecal << getenv(
"CALIBRATIONROOT"
) <<
"/B0Ecal/mapping/B0ECAL_mapping_v1.txt"
;
92
//mapping_b0ecal << "B0ECAL_mapping_v1.txt";
93
94
B0RawTowerBuilderByHitIndex
*tower_B0ECAL =
new
B0RawTowerBuilderByHitIndex
(
"TowerBuilder_B0ECAL"
);
95
tower_B0ECAL->
Detector
(
"B0ECAL"
);
96
tower_B0ECAL->
set_sim_tower_node_prefix
(
"SIM"
);
97
tower_B0ECAL->
GeometryTableFile
(mapping_b0ecal.str());
98
99
se->
registerSubsystem
(tower_B0ECAL);
100
101
102
RawTowerDigitizer
*TowerDigitizer =
new
RawTowerDigitizer
(
"B0ECALRawTowerDigitizer"
);
103
TowerDigitizer->
Detector
(
"B0ECAL"
);
104
TowerDigitizer->
Verbosity
(verbosity);
105
TowerDigitizer->
set_digi_algorithm
(
RawTowerDigitizer::kNo_digitization
);
106
se->
registerSubsystem
(TowerDigitizer);
107
108
RawTowerCalibration
*TowerCalibration =
new
RawTowerCalibration
(
"B0ECALRawTowerCalibration"
);
109
TowerCalibration->
Detector
(
"B0ECAL"
);
110
TowerCalibration->
Verbosity
(verbosity);
111
TowerCalibration->
set_calib_algorithm
(
RawTowerCalibration::kSimple_linear_calibration
);
112
TowerCalibration->
set_calib_const_GeV_ADC
(1. );
113
TowerCalibration->
set_pedstal_ADC
(0);
114
se->
registerSubsystem
(TowerCalibration);
115
}
116
117
void
B0ECAL_Clusters
()
118
{
119
int
verbosity =
std::max
(
Enable::VERBOSITY
,
Enable::B0ECAL_VERBOSITY
);
120
Fun4AllServer
*se =
Fun4AllServer::instance
();
121
122
RawClusterBuilderFwd
*ClusterBuilder =
new
RawClusterBuilderFwd
(
"B0ECALRawClusterBuilderFwd"
);
123
ClusterBuilder->
Detector
(
"B0ECAL"
);
124
ClusterBuilder->
Verbosity
(verbosity);
125
ClusterBuilder->
set_threshold_energy
(0.100);
126
se->
registerSubsystem
(ClusterBuilder);
127
128
return
;
129
}
130
131
void
B0ECAL_Eval
(
const
std::string &outputfile)
132
{
133
int
verbosity =
std::max
(
Enable::VERBOSITY
,
Enable::B0ECAL_VERBOSITY
);
134
Fun4AllServer
*se =
Fun4AllServer::instance
();
135
136
CaloEvaluator
*eval =
new
CaloEvaluator
(
"B0ECALEVALUATOR"
,
"B0ECAL"
, outputfile.c_str());
137
eval->
Verbosity
(verbosity);
138
se->
registerSubsystem
(eval);
139
140
return
;
141
}
142
#endif
macros
blob
master
common
G4_B0ECAL.C
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:58
using
1.8.2 with
ECCE GitHub integration