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
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
blob
master
calibrations
generators
offline
simulation
g4simulation
EICPhysicsList
g4bbc
g4calo
g4centrality
g4decayer
g4detectors
g4epd
g4eval
BaseTruthEval.cc
BaseTruthEval.h
CaloEvalStack.cc
CaloEvalStack.h
CaloEvaluator.cc
CaloEvaluator.h
CaloRawClusterEval.cc
CaloRawClusterEval.h
CaloRawTowerEval.cc
CaloRawTowerEval.h
CaloTruthEval.cc
CaloTruthEval.h
compressor_generator.h
DSTCompressor.h
DSTEmulator.cc
DSTEmulator.h
EventEvaluator.cc
EventEvaluator.h
JetEvalStack.cc
JetEvalStack.h
JetEvaluator.cc
JetEvaluator.h
JetRecoEval.cc
JetRecoEval.h
JetTruthEval.cc
JetTruthEval.h
MomentumEvaluator.cc
MomentumEvaluator.h
PHG4DstCompressReco.cc
PHG4DstCompressReco.h
PHG4DSTReader.cc
PHG4DSTReader.h
SvtxClusterEval.cc
SvtxClusterEval.h
SvtxEvalStack.cc
SvtxEvalStack.h
SvtxEvaluator.cc
SvtxEvaluator.h
SvtxHitEval.cc
SvtxHitEval.h
SvtxTrackEval.cc
SvtxTrackEval.h
SvtxTruthEval.cc
SvtxTruthEval.h
SvtxVertexEval.cc
SvtxVertexEval.h
TrackEvaluation.cc
TrackEvaluation.h
TrackEvaluationContainer.h
TrackEvaluationContainerLinkDef.h
TrackEvaluationContainerv1.cc
TrackEvaluationContainerv1.h
TrackEvaluationContainerv1LinkDef.h
g4gdml
g4histos
g4intt
g4jets
g4main
g4micromegas
g4mvtx
g4tpc
g4trackfastsim
g4vertex
tpcresponse
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SvtxTrackEval.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file SvtxTrackEval.h
1
#ifndef G4EVAL_SVTXTRACKEVAL_H
2
#define G4EVAL_SVTXTRACKEVAL_H
3
4
#include "
SvtxClusterEval.h
"
5
6
#include <
trackbase/TrkrDefs.h
>
7
8
#include <map>
9
#include <set>
10
#include <string>
// for string
11
#include <utility>
12
13
class
PHCompositeNode
;
14
15
class
PHG4Hit
;
16
class
PHG4Particle
;
17
18
class
SvtxHitEval
;
19
class
SvtxTrack
;
20
class
SvtxTrackMap
;
21
class
SvtxTruthEval
;
22
23
class
SvtxTrackEval
24
{
25
public
:
26
SvtxTrackEval
(
PHCompositeNode
* topNode);
27
virtual
~SvtxTrackEval
();
28
29
void
next_event
(
PHCompositeNode
* topNode);
30
void
do_caching
(
bool
do_cache)
31
{
32
_do_cache
= do_cache;
33
_clustereval
.
do_caching
(do_cache);
34
}
35
void
set_strict
(
bool
strict)
36
{
37
_strict
= strict;
38
_clustereval
.
set_strict
(strict);
39
}
40
void
set_verbosity
(
int
verbosity)
41
{
42
_verbosity
= verbosity;
43
_clustereval
.
set_verbosity
(verbosity);
44
}
45
46
// access the clustereval (and its cached values)
47
SvtxClusterEval
*
get_cluster_eval
() {
return
&
_clustereval
; }
48
SvtxHitEval
*
get_hit_eval
() {
return
_clustereval
.
get_hit_eval
(); }
49
SvtxTruthEval
*
get_truth_eval
() {
return
_clustereval
.
get_truth_eval
(); }
50
51
// backtrace through to PHG4Hits
52
std::set<PHG4Hit*>
all_truth_hits
(
SvtxTrack
*
track
);
53
54
// backtrace through to PHG4Particles
55
std::set<PHG4Particle*>
all_truth_particles
(
SvtxTrack
*
track
);
56
PHG4Particle
*
max_truth_particle_by_nclusters
(
SvtxTrack
*
track
);
57
58
// forwardtrace through to SvtxTracks
59
std::set<SvtxTrack*>
all_tracks_from
(
PHG4Particle
* truthparticle);
60
SvtxTrack
*
best_track_from
(
PHG4Particle
* truthparticle);
61
std::set<SvtxTrack*>
all_tracks_from
(
PHG4Hit
* truthhit);
62
std::set<SvtxTrack*>
all_tracks_from
(
TrkrDefs::cluskey
cluster_key);
63
SvtxTrack
*
best_track_from
(
TrkrDefs::cluskey
cluster_key);
64
void
create_cache_track_from_cluster
();
65
66
// overlap calculations
67
void
calc_cluster_contribution
(
SvtxTrack
* svtxtrack,
PHG4Particle
* truthparticle);
68
unsigned
int
get_nclusters_contribution
(
SvtxTrack
* svtxtrack,
PHG4Particle
* truthparticle);
69
unsigned
int
get_layer_range_contribution
(
SvtxTrack
*
track
,
PHG4Particle
*
particle
,
unsigned
int
start_layer,
unsigned
int
end_layer);
70
unsigned
int
get_nclusters_contribution_by_layer
(
SvtxTrack
* svtxtrack,
PHG4Particle
* truthparticle);
71
unsigned
int
get_nwrongclusters_contribution
(
SvtxTrack
* svtxtrack,
PHG4Particle
* truthparticle);
72
unsigned
int
get_errors
() {
return
_errors
+
_clustereval
.
get_errors
(); }
73
74
void
set_track_nodename
(
const
std::string&
name
) {
m_TrackNodeName
=
name
; }
75
76
private
:
77
void
get_node_pointers
(
PHCompositeNode
* topNode);
78
bool
has_node_pointers
();
79
80
SvtxClusterEval
_clustereval
;
81
SvtxTrackMap
*
_trackmap
;
82
83
bool
_strict
;
84
int
_verbosity
;
85
unsigned
int
_errors
;
86
87
bool
_do_cache
;
88
bool
_cache_track_from_cluster_exists
;
89
std::map<SvtxTrack*, std::set<PHG4Hit*> >
_cache_all_truth_hits
;
90
std::map<SvtxTrack*, std::set<PHG4Particle*> >
_cache_all_truth_particles
;
91
std::map<SvtxTrack*, PHG4Particle*>
_cache_max_truth_particle_by_nclusters
;
92
std::map<PHG4Particle*, std::set<SvtxTrack*> >
_cache_all_tracks_from_particle
;
93
std::map<PHG4Particle*, SvtxTrack*>
_cache_best_track_from_particle
;
94
std::map<PHG4Hit*, std::set<SvtxTrack*> >
_cache_all_tracks_from_g4hit
;
95
std::map<TrkrDefs::cluskey, std::set<SvtxTrack*> >
_cache_all_tracks_from_cluster
;
96
std::map<TrkrDefs::cluskey, SvtxTrack*>
_cache_best_track_from_cluster
;
97
std::map<std::pair<SvtxTrack*, PHG4Particle*>,
unsigned
int
>
_cache_get_nclusters_contribution
;
98
std::map<std::pair<SvtxTrack*, PHG4Particle*>,
unsigned
int
>
_cache_get_nclusters_contribution_by_layer
;
99
std::map<std::pair<SvtxTrack*, PHG4Particle*>,
unsigned
int
>
_cache_get_nwrongclusters_contribution
;
100
std::string
m_TrackNodeName
;
101
};
102
103
#endif // G4EVAL_SVTXTRACKEVAL_H
coresoftware
blob
master
simulation
g4simulation
g4eval
SvtxTrackEval.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:43
using
1.8.2 with
ECCE GitHub integration