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
SvtxEvaluator.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file SvtxEvaluator.h
1
#ifndef G4EVAL_SVTXEVALUATOR_H
2
#define G4EVAL_SVTXEVALUATOR_H
3
4
//===============================================
8
//===============================================
9
10
#include <
fun4all/SubsysReco.h
>
11
12
#include <TMatrixFfwd.h>
13
#include <TMatrixT.h>
14
#include <TMatrixTUtils.h>
15
16
#include <string>
17
18
class
PHCompositeNode
;
19
class
PHTimer
;
20
class
TrkrCluster
;
21
class
SvtxEvalStack
;
22
class
TFile;
23
class
TNtuple;
24
class
SvtxTrack
;
25
class
SvtxVertexMap
;
26
class
GlobalVertexMap
;
27
28
// class TrkrClusterContainer;
29
38
class
SvtxEvaluator
:
public
SubsysReco
39
{
40
public
:
41
SvtxEvaluator
(
const
std::string
&
name
=
"SVTXEVALUATOR"
,
42
const
std::string
&
filename
=
"g4eval.root"
,
43
const
std::string
&trackmapname =
"SvtxTrackMap"
,
44
unsigned
int
nlayers_maps = 3,
45
unsigned
int
nlayers_intt
= 8,
46
unsigned
int
nlayers_tpc = 48,
47
unsigned
int
nlayers_mms = 2);
48
~SvtxEvaluator
()
override
;
49
50
int
Init
(
PHCompositeNode
*topNode)
override
;
51
int
InitRun
(
PHCompositeNode
*topNode)
override
;
52
int
process_event
(
PHCompositeNode
*topNode)
override
;
53
int
End
(
PHCompositeNode
*topNode)
override
;
54
// void do_primaries(bool b);
55
56
void
set_strict
(
bool
b
) {
_strict
=
b
; }
57
void
set_use_initial_vertex
(
bool
use_init_vtx) {
_use_initial_vertex
= use_init_vtx; }
58
void
set_use_genfit_vertex
(
bool
use_genfit_vtx) {
_use_genfit_vertex
= use_genfit_vtx; }
59
void
do_info_eval
(
bool
b
) {
_do_info_eval
=
b
; }
60
void
do_vertex_eval
(
bool
b
) {
_do_vertex_eval
=
b
; }
61
void
do_gpoint_eval
(
bool
b
) {
_do_gpoint_eval
=
b
; }
62
void
do_g4hit_eval
(
bool
b
) {
_do_g4hit_eval
=
b
; }
63
void
do_hit_eval
(
bool
b
) {
_do_hit_eval
=
b
; }
64
void
do_cluster_eval
(
bool
b
) {
_do_cluster_eval
=
b
; }
65
void
do_g4cluster_eval
(
bool
b
) {
_do_g4cluster_eval
=
b
; }
66
void
do_gtrack_eval
(
bool
b
) {
_do_gtrack_eval
=
b
; }
67
void
do_track_eval
(
bool
b
) {
_do_track_eval
=
b
; }
68
void
do_gseed_eval
(
bool
b
) {
_do_gseed_eval
=
b
; }
69
70
void
do_track_match
(
bool
b
) {
_do_track_match
=
b
; }
71
void
do_eval_light
(
bool
b
) {
_do_eval_light
=
b
; }
72
void
do_vtx_eval_light
(
bool
b
) {
_do_vtx_eval_light
=
b
; }
73
void
scan_for_embedded
(
bool
b
) {
_scan_for_embedded
=
b
; }
74
void
scan_for_primaries
(
bool
b
) {
_scan_for_primaries
=
b
; }
75
76
private
:
77
unsigned
int
_ievent
= 0;
78
unsigned
int
_iseed
= 0;
79
float
m_fSeed
= NAN;
80
// eval stack
81
SvtxEvalStack
*
_svtxevalstack
=
nullptr
;
82
83
TMatrixF
calculateClusterError
(
TrkrCluster
*
c
,
float
&clusphi);
84
void
get_dca
(
SvtxTrack
*track,
GlobalVertexMap
*vertexmap,
85
float
&dca3dxy,
float
&dca3dz,
86
float
&dca3dxysigma,
float
&dca3dzsigma);
87
// TrkrClusterContainer *cluster_map{nullptr};
88
89
//----------------------------------
90
// evaluator output ntuples
91
92
bool
_strict
=
false
;
93
bool
_use_initial_vertex
=
true
;
94
bool
_use_genfit_vertex
=
false
;
95
unsigned
int
_errors
= 0;
96
97
bool
_do_info_eval
=
true
;
98
bool
_do_vertex_eval
=
true
;
99
bool
_do_gpoint_eval
=
true
;
100
bool
_do_g4hit_eval
=
true
;
101
bool
_do_hit_eval
=
true
;
102
bool
_do_cluster_eval
=
true
;
103
bool
_do_g4cluster_eval
=
true
;
104
bool
_do_gtrack_eval
=
true
;
105
bool
_do_track_eval
=
true
;
106
bool
_do_gseed_eval
=
false
;
107
108
bool
_do_track_match
=
true
;
109
bool
_do_eval_light
=
true
;
110
bool
_do_vtx_eval_light
=
true
;
111
bool
_scan_for_embedded
=
false
;
112
bool
_scan_for_primaries
=
false
;
113
114
unsigned
int
_nlayers_maps
= 3;
115
unsigned
int
_nlayers_intt
= 4;
116
unsigned
int
_nlayers_tpc
= 48;
117
unsigned
int
_nlayers_mms
= 2;
118
119
TNtuple *
_ntp_info
=
nullptr
;
120
TNtuple *
_ntp_vertex
=
nullptr
;
121
TNtuple *
_ntp_gpoint
=
nullptr
;
122
TNtuple *
_ntp_g4hit
=
nullptr
;
123
TNtuple *
_ntp_hit
=
nullptr
;
124
TNtuple *
_ntp_cluster
=
nullptr
;
125
TNtuple *
_ntp_g4cluster
=
nullptr
;
126
TNtuple *
_ntp_gtrack
=
nullptr
;
127
TNtuple *
_ntp_track
=
nullptr
;
128
TNtuple *
_ntp_gseed
=
nullptr
;
129
130
// evaluator output file
131
std::string
_filename
;
132
// Track map name
133
std::string
_trackmapname
;
134
TFile *
_tfile
=
nullptr
;
135
136
PHTimer
*
_timer
=
nullptr
;
137
138
// output subroutines
139
void
fillOutputNtuples
(
PHCompositeNode
*topNode);
140
void
printInputInfo
(
PHCompositeNode
*topNode);
141
void
printOutputInfo
(
PHCompositeNode
*topNode);
142
143
};
144
145
#endif // G4EVAL_SVTXEVALUATOR_H
coresoftware
blob
master
simulation
g4simulation
g4eval
SvtxEvaluator.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:14
using
1.8.2 with
sPHENIX GitHub integration