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
PHActsVertexFitter.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHActsVertexFitter.h
1
#ifndef TRACKRECO_PHACTSVERTEXFITTER_H
2
#define TRACKRECO_PHACTSVERTEXFITTER_H
3
4
#include <
fun4all/SubsysReco.h
>
5
#include <
trackbase/ActsTrackingGeometry.h
>
6
7
#include <
Acts/Vertexing/Vertex.hpp
>
8
9
#include <ActsExamples/EventData/TrkrClusterMultiTrajectory.hpp>
10
11
class
PHCompositeNode
;
12
class
SvtxTrack
;
13
class
SvtxTrackMap
;
14
class
SvtxVertex
;
15
class
SvtxVertexMap
;
16
17
namespace
Acts
18
{
19
class
TrackParameters
;
20
}
21
22
using
Trajectory
= ActsExamples::TrkrClusterMultiTrajectory;
23
24
using
BoundTrackParamVec
= std::vector<const Acts::BoundTrackParameters *>;
25
using
VertexTrackMap
= std::map<
const
unsigned
int,
26
BoundTrackParamVec
>;
27
28
using
ActsVertex
=
const
Acts::Vertex<Acts::BoundTrackParameters>
;
29
35
class
PHActsVertexFitter
:
public
SubsysReco
36
{
37
public
:
38
PHActsVertexFitter
(
const
std::string
&
name
=
"PHActsVertexFitter"
);
39
~PHActsVertexFitter
()
override
{}
40
int
process_event
(
PHCompositeNode
*topNode)
override
;
41
int
Init
(
PHCompositeNode
*topNode)
override
;
42
int
InitRun
(
PHCompositeNode
*topNode)
override
;
43
int
ResetEvent
(
PHCompositeNode
*topNode)
override
;
44
int
End
(
PHCompositeNode
*topNode)
override
;
45
46
void
updateSvtxVertexMap
(
bool
updateSvtxVertexMap
)
47
{
48
m_updateSvtxVertexMap
=
updateSvtxVertexMap
;
49
}
50
51
private
:
52
int
getNodes
(
PHCompositeNode
*topNode);
53
int
createNodes
(
PHCompositeNode
*topNode);
54
56
VertexTrackMap
getTracks
();
57
59
const
Acts::BoundTrackParameters
*
makeTrackParam
(
const
SvtxTrack
*track)
const
;
60
62
ActsVertex
fitVertex
(
BoundTrackParamVec
tracks
,
63
Acts::Logging::Level
logLevel
)
const
;
64
66
void
fitVertices
(std::vector<const Acts::BoundTrackParameters *>
tracks
);
67
69
void
createActsSvtxVertex
(
const
unsigned
int
,
70
ActsVertex
vertex
);
71
void
updateSvtxVertex
(
const
unsigned
int
,
72
ActsVertex
vertex
);
73
74
int
m_event
= 0;
75
76
std::map<const unsigned int, Trajectory> *
m_actsFitResults
;
77
ActsTrackingGeometry
*
m_tGeometry
;
78
SvtxTrackMap
*
m_trackMap
=
nullptr
;
79
SvtxVertexMap
*
m_vertexMap
=
nullptr
;
80
SvtxVertexMap
*
m_actsVertexMap
=
nullptr
;
81
84
bool
m_updateSvtxVertexMap
=
false
;
85
};
86
87
#endif //TRACKRECO_PHACTSVERTEXFITTER_H
coresoftware
blob
master
offline
packages
trackreco
PHActsVertexFitter.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:10
using
1.8.2 with
sPHENIX GitHub integration