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
PHG4HitKalmanFitter.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHG4HitKalmanFitter.h
1
8
#ifndef __PHG4HitKalmanFitter_H__
9
#define __PHG4HitKalmanFitter_H__
10
11
#include <iostream>
12
#include <string>
13
#include <vector>
14
15
#include <
fun4all/SubsysReco.h
>
16
17
#include <TVector3.h>
18
19
#include <
g4main/PHG4HitContainer.h
>
20
#include <phgenfit/Measurement.h>
21
22
class
PHG4Particle
;
23
namespace
PHGenFit
24
{
25
class
PlanarMeasurement;
26
}
/* namespace PHGenFit */
27
28
namespace
PHGenFit
29
{
30
class
Track
;
31
}
/* namespace PHGenFit */
32
33
namespace
genfit
34
{
35
class
GFRaveVertexFactory;
36
}
/* namespace genfit */
37
38
class
SvtxTrack
;
39
namespace
PHGenFit
40
{
41
class
Fitter;
42
}
/* namespace PHGenFit */
43
44
class
SvtxTrackMap
;
45
class
SvtxVertexMap
;
46
class
SvtxVertex
;
47
class
PHCompositeNode
;
48
class
PHG4TruthInfoContainer
;
49
class
SvtxClusterMap;
50
class
SvtxEvalStack
;
51
class
TFile;
52
class
TTree;
53
54
class
PHG4TrackFastSim
:
public
SubsysReco
55
{
56
public
:
58
PHG4TrackFastSim
(
const
std::string
&
name
=
"PHG4HitKalmanFitter"
);
59
61
~PHG4TrackFastSim
();
62
64
int
Init
(
PHCompositeNode
*);
65
67
int
InitRun
(
PHCompositeNode
*);
68
70
int
process_event
(
PHCompositeNode
*);
71
73
int
End
(
PHCompositeNode
*);
74
76
void
Verbosity
(
int
verb)
77
{
78
verbosity
= verb;
// SubsysReco verbosity
79
}
80
81
bool
is_do_evt_display
()
const
82
{
83
return
_do_evt_display
;
84
}
85
86
void
set_do_evt_display
(
bool
doEvtDisplay)
87
{
88
_do_evt_display
= doEvtDisplay;
89
}
90
91
double
get_FGEM_phi_resolution
()
const
92
{
93
return
_phi_resolution
;
94
}
95
96
void
set_FGEM_phi_resolution
(
double
fgemPhiResolution)
97
{
98
_phi_resolution
= fgemPhiResolution;
99
}
100
101
double
get_FGEM_r_resolution
()
const
102
{
103
return
_r_resolution
;
104
}
105
106
void
set_FGEM_r_resolution
(
double
fgemRResolution)
107
{
108
_r_resolution
= fgemRResolution;
109
}
110
111
const
std::string
&
get_fit_alg_name
()
const
112
{
113
return
_fit_alg_name
;
114
}
115
116
void
set_fit_alg_name
(
const
std::string
& fitAlgName)
117
{
118
_fit_alg_name
= fitAlgName;
119
}
120
121
double
get_pat_rec_hit_finding_eff
()
const
122
{
123
return
_pat_rec_hit_finding_eff
;
124
}
125
126
void
set_pat_rec_hit_finding_eff
(
double
patRecHitFindingEff)
127
{
128
if
(!(patRecHitFindingEff >= 0 && patRecHitFindingEff <= 1))
129
{
130
std::cout <<
"ERROR: _pat_rec_hit_finding_eff out of range! \n"
;
131
}
132
_pat_rec_hit_finding_eff
= patRecHitFindingEff;
133
}
134
135
double
get_pat_rec_nosise_prob
()
const
136
{
137
return
_pat_rec_nosise_prob
;
138
}
139
140
void
set_pat_rec_nosise_prob
(
double
patRecNosiseProb)
141
{
142
if
(!(patRecNosiseProb <= 1. && patRecNosiseProb >= 0))
143
{
144
std::cout <<
"ERROR: _pat_rec_nosise_prob out of range! \n"
;
145
return
;
146
}
147
_pat_rec_nosise_prob
= patRecNosiseProb;
148
}
149
150
private
:
154
int
CreateNodes
(
PHCompositeNode
*);
155
159
int
GetNodes
(
PHCompositeNode
*);
160
164
int
PseudoPatternRecognition
(
const
PHG4Particle
*
particle
,
165
std::vector<PHGenFit::Measurement*>& meas_out, TVector3& seed_pos,
166
TVector3& seed_mom, TMatrixDSym& seed_cov,
const
bool
do_smearing =
true
);
167
168
PHGenFit::PlanarMeasurement
*
PHG4HitToMeasurementVerticalPlane
(
const
PHG4Hit
* g4hit);
169
170
PHGenFit::PlanarMeasurement
*
VertexMeasurement
(
const
TVector3& vtx,
const
double
dr,
171
const
double
dphi
);
172
176
SvtxTrack
*
MakeSvtxTrack
(
const
PHGenFit::Track
* phgf_track_in);
177
179
int
_event
;
180
182
PHG4TruthInfoContainer
*
_truth_container
;
183
184
std::vector<PHG4HitContainer*>
_phg4hits
;
185
std::vector<std::string>
_phg4hits_names
;
186
188
SvtxTrackMap
*
_trackmap_out
;
189
193
PHGenFit::Fitter
*
_fitter
;
194
196
std::string
_fit_alg_name
;
197
199
bool
_do_evt_display
;
200
205
double
_phi_resolution
;
206
207
double
_r_resolution
;
208
210
double
_pat_rec_hit_finding_eff
;
211
213
double
_pat_rec_nosise_prob
;
214
};
215
216
#endif
/*__PHG4HitKalmanFitter_H__*/
analysis
blob
master
ForwardTracking
PHG4HitKalmanFitter.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:52
using
1.8.2 with
sPHENIX GitHub integration