ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PHActsVertexFinder.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHActsVertexFinder.h
1
#ifndef TRACKRECO_PHACTSVERTEXFINDER_H
2
#define TRACKRECO_PHACTSVERTEXFINDER_H
3
4
#include "
PHInitVertexing.h
"
5
#include <
trackbase/ActsTrackingGeometry.h
>
6
7
#include <
trackbase/TrkrDefs.h
>
8
9
#include <
Acts/Utilities/Result.hpp
>
10
#include <
Acts/Vertexing/Vertex.hpp
>
11
12
#include <ActsExamples/EventData/TrkrClusterMultiTrajectory.hpp>
13
14
class
PHCompositeNode
;
15
class
SvtxTrack
;
16
class
SvtxTrackMap
;
17
class
SvtxVertexMap
;
18
class
SvtxVertex
;
19
20
namespace
Acts
21
{
22
class
TrackParameters
;
23
}
24
25
using
Trajectory
= ActsExamples::TrkrClusterMultiTrajectory;
26
using
VertexVector
= std::vector<Acts::Vertex<Acts::BoundTrackParameters>>;
27
using
TrackPtrVector
= std::vector<const Acts::BoundTrackParameters*>;
28
using
VertexMap
= std::map<
unsigned
int
,
29
Acts::Vertex<Acts::BoundTrackParameters>
>;
30
31
using
KeyMap
= std::map<const Acts::BoundTrackParameters*, const unsigned int>;
32
37
class
PHActsVertexFinder
:
public
PHInitVertexing
38
{
39
40
public
:
41
PHActsVertexFinder
(
const
std::string &
name
=
"PHActsVertexFinder"
);
42
43
~PHActsVertexFinder
()
override
{}
44
45
void
setMaxVertices
(
int
maxVertices)
46
{
m_maxVertices
= maxVertices; }
47
48
void
setFieldMap
(
const
std::string& fieldMap)
49
{
m_fieldMap
= fieldMap; }
50
51
protected
:
52
int
Setup
(
PHCompositeNode
*topNode)
override
;
53
int
Process
(
PHCompositeNode
*topNode)
override
;
54
int
ResetEvent
(
PHCompositeNode
*topNode)
override
;
55
int
End
(
PHCompositeNode
*topNode)
override
;
56
57
private
:
58
59
int
createNodes
(
PHCompositeNode
*topNode);
60
int
getNodes
(
PHCompositeNode
*topNode);
61
63
TrackPtrVector
getTracks
(
KeyMap
& keyMap);
64
66
VertexVector
findVertices
(
TrackPtrVector
& tracks);
67
69
void
fillVertexMap
(
VertexVector
& vertices,
70
KeyMap
& keyMap);
71
72
void
updateTrackDCA
(
const
unsigned
int
trackKey,
73
const
Acts::Vector3D
vertex);
74
75
void
checkTrackVertexAssociation
();
76
78
VertexMap
*
m_actsVertexMap
;
79
80
int
m_event
= 0;
83
int
m_maxVertices
= 20;
84
85
int
m_goodFits
= 0;
86
int
m_totalFits
= 0;
87
std::string
m_fieldMap
=
""
;
88
89
SvtxVertexMap
*
m_svtxVertexMap
=
nullptr
;
90
SvtxVertexMap
*
m_svtxVertexMapActs
=
nullptr
;
91
ActsTrackingGeometry
*
m_tGeometry
=
nullptr
;
92
SvtxTrackMap
*
m_svtxTrackMap
=
nullptr
;
93
std::map<const unsigned int, Trajectory> *
m_trajectories
=
nullptr
;
94
};
95
96
#endif // TRACKRECO_PHACTSVERTEXFINDER_H
coresoftware
blob
master
offline
packages
trackreco
PHActsVertexFinder.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:38
using
1.8.2 with
ECCE GitHub integration