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
PHRaveVertexing.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHRaveVertexing.h
1
8
#ifndef TRACKRECO_PHRAVEVERTEXING_H
9
#define TRACKRECO_PHRAVEVERTEXING_H
10
11
#include <
fun4all/SubsysReco.h
>
12
13
#include <map>
// for map, map<>::value_compare
14
#include <string>
15
#include <vector>
16
17
namespace
genfit
18
{
19
class
GFRaveVertex;
20
class
GFRaveVertexFactory;
21
class
Track
;
22
}
/* namespace genfit */
23
24
namespace
PHGenFit
25
{
26
class
Fitter;
27
}
/* namespace PHGenFit */
28
29
class
PHTimer
;
30
class
SvtxTrack
;
31
class
SvtxTrackMap
;
32
class
SvtxVertexMap
;
33
class
PHCompositeNode
;
34
class
PHG4TruthInfoContainer
;
35
37
class
PHRaveVertexing
:
public
SubsysReco
38
{
39
public
:
40
typedef
std::map<const genfit::Track*, unsigned int>
GenFitTrackMap
;
41
43
PHRaveVertexing
(
const
std::string
&
name
=
"PHRaveVertexing"
);
44
46
~PHRaveVertexing
()
override
;
47
49
int
Init
(
PHCompositeNode
*)
override
;
50
52
int
InitRun
(
PHCompositeNode
*)
override
;
53
55
int
process_event
(
PHCompositeNode
*)
override
;
56
58
int
End
(
PHCompositeNode
*)
override
;
59
60
const
std::string
&
get_vertexing_method
()
const
61
{
62
return
_vertexing_method
;
63
}
64
65
void
set_vertexing_method
(
const
std::string
& vertexingMethod)
66
{
67
_vertexing_method
= vertexingMethod;
68
}
69
70
int
get_primary_pid_guess
()
const
71
{
72
return
_primary_pid_guess
;
73
}
74
75
void
set_primary_pid_guess
(
int
primaryPidGuess)
76
{
77
_primary_pid_guess
= primaryPidGuess;
78
}
79
80
bool
is_over_write_svtxvertexmap
()
const
81
{
82
return
_over_write_svtxvertexmap
;
83
}
84
85
void
set_over_write_svtxvertexmap
(
bool
overWriteSvtxvertexmap)
86
{
87
_over_write_svtxvertexmap
= overWriteSvtxvertexmap;
88
}
89
90
void
set_svtxvertexmaprefit_node_name
(
const
std::string
&
name
) {
_svtxvertexmaprefit_node_name
=
name
;}
91
92
double
get_vertex_min_ndf
()
const
93
{
94
return
_vertex_min_ndf
;
95
}
96
97
void
set_vertex_min_ndf
(
double
vertexMinPT)
98
{
99
_vertex_min_ndf
= vertexMinPT;
100
}
101
102
void
set_nmvtx_clusters_required
(
unsigned
int
n
)
103
{
104
_nmvtx_required
=
n
;
105
}
106
107
private
:
109
int
_event
;
110
112
int
GetNodes
(
PHCompositeNode
*);
113
115
int
CreateNodes
(
PHCompositeNode
*);
116
117
genfit::Track
*
TranslateSvtxToGenFitTrack
(
SvtxTrack
* svtx);
118
120
bool
FillSvtxVertexMap
(
121
const
std::vector<genfit::GFRaveVertex*>& rave_vertices,
122
const
GenFitTrackMap
& gf_track_map);
123
124
bool
_over_write_svtxvertexmap
;
125
std::string
_svtxvertexmaprefit_node_name
;
126
127
PHGenFit::Fitter
*
_fitter
;
128
129
int
_primary_pid_guess
;
130
double
_vertex_min_ndf
;
131
132
unsigned
int
_nmvtx_required
= 3;
// require 3 or more mvtx clusters for track to be used in vertexing
133
134
genfit::GFRaveVertexFactory
*
_vertex_finder
;
135
137
std::string
_vertexing_method
;
138
140
SvtxTrackMap
*
_trackmap
;
141
SvtxVertexMap
*
_vertexmap
;
142
144
SvtxVertexMap
*
_vertexmap_refit
;
145
146
PHTimer
*
_t_translate
;
147
PHTimer
*
_t_rave
;
148
};
149
150
#endif
coresoftware
blob
master
offline
packages
trackreco
PHRaveVertexing.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:11
using
1.8.2 with
sPHENIX GitHub integration