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_dRICH.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4_dRICH.C
1
8
#ifndef MACRO_G4dRICH_C
9
#define MACRO_G4dRICH_C
10
11
#include <
GlobalVariables.C
>
12
13
#include <eccefastpidreco/ECCEFastPIDReco.h>
14
#include <eccefastpidreco/ECCEdRICHFastPIDMap.h>
15
#include <
g4drich/EICG4dRICHSubsystem.h
>
16
#include <
g4trackfastsim/PHG4TrackFastSim.h
>
17
18
#include <
g4main/PHG4Reco.h
>
19
20
R__LOAD_LIBRARY
(libg4detectors.so)
21
R__LOAD_LIBRARY
(libEICG4dRICH.so)
22
23
R__LOAD_LIBRARY
(libECCEFastPIDReco.so)
24
25
namespace Enable
26
{
27
bool
RICH
=
false
;
28
bool
RICH_RECO
=
false
;
29
bool
RICH_OVERLAPCHECK
=
false
;
30
int
RICH_VERBOSITY
= 0;
31
}
// namespace Enable
32
33
void
RICHInit
()
34
{
35
BlackHoleGeometry::max_radius
=
std::max
(
BlackHoleGeometry::max_radius
, 210.);
36
BlackHoleGeometry::max_z
=
std::max
(
BlackHoleGeometry::max_z
, 280.);
37
}
38
40
//Grzegorz Kalicy <gkalicy@jlab.org>
41
//- it starts 180 cm from IP
42
//- radius of aerogel part starts at 110 cm at rises up to 120cm over 20 cm of length.
43
//- at 175 cm from IP it rapidly grows radially to radius 210cm at stays constant like a cylinder until end at 280cm from the IP
44
void
RICHSetup
(
PHG4Reco
*g4Reco)
45
{
46
bool
OverlapCheck =
Enable::OVERLAPCHECK
||
Enable::RICH_OVERLAPCHECK
;
47
int
verbosity =
std::max
(
Enable::VERBOSITY
,
Enable::RICH_VERBOSITY
);
48
49
double
z
= 185;
//Start of dRICH
50
double
dz
= 100;
//Length of dRICH
51
52
EICG4dRICHSubsystem
*drichSubsys =
new
EICG4dRICHSubsystem
(
"dRICh"
);
53
drichSubsys->
SetGeometryFile
(
string
(getenv(
"CALIBRATIONROOT"
)) +
"/dRICH/mapping/drich-g4model_v5.txt"
);
54
drichSubsys->
set_double_param
(
"place_z"
, z + dz * 0.5);
// relative position to mother vol.
55
drichSubsys->
OverlapCheck
(OverlapCheck);
56
drichSubsys->
Verbosity
(verbosity);
57
drichSubsys->
SetActive
();
58
59
g4Reco->
registerSubsystem
(drichSubsys);
60
61
if
(
TRACKING::FastKalmanFilter
)
62
{
63
// project to an reference plane at z=170 cm
64
TRACKING::FastKalmanFilter
->
add_zplane_state
(
"RICH"
, 185);
65
TRACKING::ProjectionNames
.insert(
"RICH"
);
66
}
67
}
68
69
void
RICHReco
()
70
{
71
const
int
verbosity =
std::max
(
Enable::VERBOSITY
,
Enable::RICH_VERBOSITY
);
72
Fun4AllServer
*se =
Fun4AllServer::instance
();
73
74
ECCEdRICHFastPIDMap
*pidmap =
new
ECCEdRICHFastPIDMap
();
75
pidmap->
Verbosity
(verbosity);
76
pidmap->
dualRICH_aerogel
();
77
78
ECCEFastPIDReco
*reco =
new
ECCEFastPIDReco
(pidmap,
EICPIDDefs::dRICH_AeroGel
,
"ECCEFastPIDReco-dRICH_AeroGel"
);
79
reco->
Verbosity
(verbosity);
80
81
se->
registerSubsystem
(reco);
82
83
pidmap =
new
ECCEdRICHFastPIDMap
();
84
pidmap->
Verbosity
(verbosity);
85
pidmap->
dualRICH_C2F6
();
86
87
reco =
new
ECCEFastPIDReco
(pidmap,
EICPIDDefs::dRICH_Gas
,
"ECCEFastPIDReco-dRICH_Gas"
);
88
reco->
Verbosity
(verbosity);
89
90
se->
registerSubsystem
(reco);
91
}
92
93
#endif
macros
blob
master
common
G4_dRICH.C
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:58
using
1.8.2 with
ECCE GitHub integration