EIC Software
Reference for
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
PHTruthTrackSeeding.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHTruthTrackSeeding.h
1
7
#ifndef TRACKRECO_PHTRUTHTRACKSEEDING_H
8
#define TRACKRECO_PHTRUTHTRACKSEEDING_H
9
10
#include "
PHTrackSeeding.h
"
11
#include <
trackbase/TrkrDefs.h
>
12
#include <string>
// for string
13
#include <vector>
14
15
// forward declarations
16
class
PHCompositeNode
;
17
class
PHG4TruthInfoContainer
;
18
class
PHG4HitContainer
;
19
class
TrkrHitTruthAssoc
;
20
class
TrkrClusterContainer
;
21
class
SvtxClusterEval
;
22
23
//class SvtxHitMap;
24
//class PHG4CellContainer;
25
30
31
class
PHTruthTrackSeeding
:
public
PHTrackSeeding
32
{
33
public
:
34
PHTruthTrackSeeding
(
const
std::string&
name
=
"PHTruthTrackSeeding"
);
35
36
unsigned
int
get_min_clusters_per_track
()
const
37
{
38
return
_min_clusters_per_track
;
39
}
40
41
void
set_min_clusters_per_track
(
unsigned
int
minClustersPerTrack)
42
{
43
_min_clusters_per_track
= minClustersPerTrack;
44
}
45
46
void
set_min_layer
(
unsigned
int
minLayer)
47
{
48
_min_layer
= minLayer;
49
}
50
51
void
set_max_layer
(
unsigned
int
maxLayer)
52
{
53
_max_layer
= maxLayer;
54
}
55
57
double
get_min_momentum
()
const
58
{
59
return
_min_momentum
;
60
}
61
63
void
set_min_momentum
(
double
m
)
64
{
65
_min_momentum
=
m
;
66
}
67
void
helicalTrackFit
(
const
bool
helicalTrackFit
)
68
{
m_helicalTrackFit
=
helicalTrackFit
; }
69
protected
:
70
int
Setup
(
PHCompositeNode
* topNode)
override
;
71
72
int
Process
(
PHCompositeNode
* topNode)
override
;
73
74
int
End
()
override
;
75
76
private
:
78
int
GetNodes
(
PHCompositeNode
* topNode);
79
80
void
circleFitSeed
(std::vector<TrkrDefs::cluskey> clusters,
81
double
&
x
,
double
&
y
,
double
&
z
,
82
double
& px,
double
& py,
double
& pz,
int
charge
);
83
void
circleFitByTaubin
(std::vector<TrkrDefs::cluskey>& clusters,
84
double
&
R
,
double
& X0,
double
& Y0);
85
void
findRoot
(
const
double
&
R
,
const
double
& X0,
const
double
& Y0,
86
double
&
x
,
double
&
y
);
87
void
lineFit
(std::vector<TrkrDefs::cluskey>& clusters,
88
double
& A,
double
& B);
89
PHG4TruthInfoContainer
*
_g4truth_container
=
nullptr
;
90
TrkrClusterContainer
*
m_clusterMap
=
nullptr
;
91
PHG4HitContainer
*
phg4hits_tpc
=
nullptr
;
92
PHG4HitContainer
*
phg4hits_intt
=
nullptr
;
93
PHG4HitContainer
*
phg4hits_mvtx
=
nullptr
;
94
PHG4HitContainer
*
phg4hits_micromegas
=
nullptr
;
95
96
TrkrHitTruthAssoc
*
hittruthassoc
=
nullptr
;
97
SvtxClusterEval
*
_clustereval
;
98
99
unsigned
int
_min_clusters_per_track
= 3;
100
unsigned
int
_min_layer
= 0;
101
unsigned
int
_max_layer
= 60;
102
105
bool
m_helicalTrackFit
=
false
;
106
108
double
_min_momentum
= 50
e
-3;
109
};
110
111
#endif
fun4all_coresoftware
blob
master
offline
packages
trackreco
PHTruthTrackSeeding.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:47
using
1.8.2 with
EIC GitHub integration