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
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/ActsGeometry.h
>
12
#include <
trackbase/TrkrDefs.h
>
13
#include <string>
// for string
14
#include <vector>
15
#include <memory>
16
#include <gsl/gsl_rng.h>
17
18
// forward declarations
19
class
PHCompositeNode
;
20
class
PHG4TruthInfoContainer
;
21
class
PHG4HitContainer
;
22
class
TrkrHitTruthAssoc
;
23
class
TrkrClusterContainer
;
24
class
TrkrClusterCrossingAssoc
;
25
class
SvtxClusterEval
;
26
class
TrackSeed
;
27
class
TrackSeedContainer
;
28
class
PHG4Particle
;
29
34
35
class
PHTruthTrackSeeding
:
public
PHTrackSeeding
36
{
37
public
:
38
PHTruthTrackSeeding
(
const
std::string
&
name
=
"PHTruthTrackSeeding"
);
39
40
unsigned
int
get_min_clusters_per_track
()
const
41
{
42
return
_min_clusters_per_track
;
43
}
44
45
void
set_min_clusters_per_track
(
unsigned
int
minClustersPerTrack)
46
{
47
_min_clusters_per_track
= minClustersPerTrack;
48
}
49
50
void
set_min_layer
(
unsigned
int
minLayer)
51
{
52
_min_layer
= minLayer;
53
}
54
55
void
set_max_layer
(
unsigned
int
maxLayer)
56
{
57
_max_layer
= maxLayer;
58
}
59
61
double
get_min_momentum
()
const
62
{
63
return
_min_momentum
;
64
}
65
67
void
set_min_momentum
(
double
m
)
68
{
69
_min_momentum
=
m
;
70
}
71
72
protected
:
73
int
Setup
(
PHCompositeNode
* topNode)
override
;
74
75
int
Process
(
PHCompositeNode
* topNode)
override
;
76
77
int
End
()
override
;
78
79
private
:
81
int
GetNodes
(
PHCompositeNode
* topNode);
82
int
CreateNodes
(
PHCompositeNode
* topNode);
83
84
void
buildTrackSeed
(std::vector<TrkrDefs::cluskey>
clusters
,
85
PHG4Particle
*g4particle,
TrackSeedContainer
*
container
);
86
PHG4TruthInfoContainer
*
m_g4truth_container
=
nullptr
;
87
89
/* this is a copy of the code in PHTruthSiliconAssociation */
90
std::set<short int>
getInttCrossings
(
TrackSeed
*)
const
;
91
92
TrkrClusterContainer
*
m_clusterMap
=
nullptr
;
93
TrkrClusterCrossingAssoc
*
m_cluster_crossing_map
=
nullptr
;
94
PHG4HitContainer
*
phg4hits_tpc
=
nullptr
;
95
PHG4HitContainer
*
phg4hits_intt
=
nullptr
;
96
PHG4HitContainer
*
phg4hits_mvtx
=
nullptr
;
97
PHG4HitContainer
*
phg4hits_micromegas
=
nullptr
;
98
99
TrkrHitTruthAssoc
*
hittruthassoc
=
nullptr
;
100
SvtxClusterEval
*
_clustereval
;
101
102
unsigned
int
_min_clusters_per_track
= 3;
103
unsigned
int
_min_layer
= 0;
104
unsigned
int
_max_layer
= 60;
105
107
double
_min_momentum
= 50
e
-3;
108
109
TrackSeedContainer
*
_track_map_silicon
=
nullptr
;
110
TrackSeedContainer
*
_track_map_combined
=
nullptr
;
111
112
ActsGeometry
*
tgeometry
=
nullptr
;
113
114
bool
_circle_fit_seed
=
false
;
115
117
class
Deleter
118
{
119
public
:
121
void
operator()
(gsl_rng*
rng
)
const
{ gsl_rng_free(rng); }
122
};
123
125
126
std::unique_ptr<gsl_rng, Deleter>
m_rng
;
127
128
};
129
130
#endif
coresoftware
blob
master
offline
packages
trackreco
PHTruthTrackSeeding.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:11
using
1.8.2 with
sPHENIX GitHub integration