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
RICHEvaluator.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file RICHEvaluator.h
1
#ifndef __RICHEvaluator_H__
2
#define __RICHEvaluator_H__
3
4
#include <
fun4all/SubsysReco.h
>
5
#include <math.h>
6
7
class
TTree;
8
class
TFile;
9
class
TH1D;
10
11
class
PHCompositeNode
;
12
class
PHG4TruthInfoContainer
;
13
class
PHG4Hit
;
14
class
PHG4HitContainer
;
15
class
SvtxTrackMap
;
16
class
SvtxTrack
;
17
class
TDatabasePDG;
18
19
class
TrackProjectorPid
;
20
class
SetupDualRICHAnalyzer
;
21
22
class
RICHEvaluator
:
public
SubsysReco
23
{
24
25
public
:
26
27
RICHEvaluator
(
std::string
richname,
std::string
tracksname,
std::string
filename
);
28
29
int
30
Init
(
PHCompositeNode
*);
31
int
32
InitRun
(
PHCompositeNode
*);
33
int
34
process_event
(
PHCompositeNode
*);
35
int
36
End
(
PHCompositeNode
*);
37
38
/* set refractive index of RICH radiator */
39
void
set_refractive_index
(
float
newidx )
40
{
41
_refractive_index
= newidx;
42
return
;
43
}
44
45
private
:
46
48
void
reset_tree_vars
();
49
51
int
init_tree
();
52
int
init_tree_small
();
53
55
double
calculate_true_emission_angle
(
PHG4TruthInfoContainer
* truthinfo,
SvtxTrack
* track,
double
index
);
56
58
double
calculate_reco_mass
(
double
mom,
double
theta_reco,
double
index
);
59
61
double
calculate_true_mass
(
PHG4TruthInfoContainer
* truthinfo,
SvtxTrack
* track);
62
63
bool
_verbose
;
64
65
int
_ievent
;
66
67
/* RICH detecto name */
68
std::string
_detector
;
69
70
/* Collection sotring track information */
71
std::string
_trackmap_name
;
72
73
/* Hit collection storing RICH photon hits */
74
std::string
_richhits_name
;
75
76
/* Refractive index of RICH radiator */
77
float
_refractive_index
;
78
79
/* ROOT file to store output ROOT tree */
80
std::string
_foutname
;
81
TFile *
_fout_root
;
82
83
/* output tree and variables */
84
TTree*
_tree_rich
;
85
TTree*
_tree_rich_small
;
86
87
double
_hit_x0
;
88
double
_hit_y0
;
89
double
_hit_z0
;
90
91
double
_emi_x
;
92
double
_emi_y
;
93
double
_emi_z
;
94
95
double
_track_px
;
96
double
_track_py
;
97
double
_track_pz
;
98
99
double
_mtrack_px
;
100
double
_mtrack_py
;
101
double
_mtrack_pz
;
102
double
_mtrack_ptot
;
103
104
double
_track_e
;
105
double
_mtrack_e
;
106
double
_edep
;
107
108
int
_bankid
;
109
int
_volumeid
;
110
int
_hitid
;
111
int
_pid
;
112
int
_mpid
;
113
int
_trackid
;
114
int
_mtrackid
;
115
int
_otrackid
;
116
117
double
_theta_true
;
118
double
_theta_reco
;
119
double
_theta_mean
;
120
double
_theta_rms
;
121
122
/* track projector object */
123
TrackProjectorPid
*
_trackproj
;
124
125
/* acquire object */
126
SetupDualRICHAnalyzer
*
_acquire
;
127
128
/* PDG databse access object */
129
TDatabasePDG *
_pdg
;
130
131
/* Radius for track extrapolation */
132
float
_radius
;
133
134
};
135
136
#endif // __RICHEvaluator_H__
analysis
blob
master
ParticleID
RICHAnalysis
RICHEvaluator.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:54
using
1.8.2 with
sPHENIX GitHub integration