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
TrackEvaluation.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file TrackEvaluation.h
1
#ifndef G4EVAL_TRACKEVALUATION_H
2
#define G4EVAL_TRACKEVALUATION_H
3
9
#include "
TrackEvaluationContainerv1.h
"
10
11
#include <
fun4all/SubsysReco.h
>
12
#include <
trackbase/TrkrDefs.h
>
13
#include <
trackbase_historic/ActsTransformations.h
>
14
15
#include <map>
16
#include <set>
17
#include <string>
18
#include <vector>
19
20
struct
ActsSurfaceMaps
;
21
struct
ActsTrackingGeometry
;
22
class
PHG4CylinderCellGeomContainer
;
23
class
PHG4CylinderGeomContainer
;
24
class
PHG4Hit
;
25
class
PHG4HitContainer
;
26
class
PHG4Particle
;
27
class
PHG4TruthInfoContainer
;
28
class
SvtxTrack
;
29
class
SvtxTrackMap
;
30
class
TrkrCluster
;
31
class
TrkrClusterContainer
;
32
class
TrkrClusterHitAssoc
;
33
class
TrkrHitSetContainer
;
34
class
TrkrHitTruthAssoc
;
35
36
class
TrackEvaluation
:
public
SubsysReco
37
{
38
public
:
39
41
TrackEvaluation
(
const
std::string& =
"TrackEvaluation"
);
42
44
int
Init
(
PHCompositeNode
*)
override
;
45
47
int
InitRun
(
PHCompositeNode
*)
override
;
48
50
int
process_event
(
PHCompositeNode
*)
override
;
51
53
int
End
(
PHCompositeNode
*)
override
;
54
55
enum
Flags
56
{
57
EvalEvent
= 1<<0,
58
EvalClusters
= 1<<1,
59
EvalTracks
= 1<<2
60
};
61
63
void
set_flags
(
int
flags )
64
{
m_flags
= flags; }
65
66
private
:
67
69
int
load_nodes
(
PHCompositeNode
* );
70
72
void
evaluate_event
();
73
75
void
evaluate_clusters
();
76
78
void
evaluate_tracks
();
79
80
// get geant hits associated to a cluster
81
using
G4HitSet
= std::set<PHG4Hit*>;
82
G4HitSet
find_g4hits
(
TrkrDefs::cluskey
)
const
;
83
85
std::pair<int,int>
get_max_contributor
(
SvtxTrack
* )
const
;
86
88
int
get_embed
(
PHG4Particle
*)
const
;
89
91
TrackEvaluationContainerv1::ClusterStruct
create_cluster
(
TrkrDefs::cluskey
,
TrkrCluster
* )
const
;
92
94
void
add_trk_information
(
TrackEvaluationContainerv1::ClusterStruct
&,
SvtxTrackState
* )
const
;
95
97
101
void
add_trk_information_micromegas
(
TrackEvaluationContainerv1::ClusterStruct
&,
int
/* tileid */
,
SvtxTrackState
* )
const
;
102
103
// add truth information
104
void
add_truth_information
(
TrackEvaluationContainerv1::ClusterStruct
&, std::set<PHG4Hit*> )
const
;
105
106
// add truth information
111
void
add_truth_information_micromegas
(
TrackEvaluationContainerv1::ClusterStruct
&,
int
/* tileid */
, std::set<PHG4Hit*> )
const
;
112
114
TrackEvaluationContainerv1
*
m_container
=
nullptr
;
115
117
int
m_flags
=
EvalEvent
|
EvalClusters
|
EvalTracks
;
118
120
ActsSurfaceMaps
*
m_surfmaps
=
nullptr
;
121
123
ActsTrackingGeometry
*
m_tGeometry
=
nullptr
;
124
126
ActsTransformations
m_transformer
;
127
129
TrkrHitSetContainer
*
m_hitsetcontainer
=
nullptr
;
130
132
TrkrClusterContainer
*
m_cluster_map
=
nullptr
;
133
135
TrkrClusterHitAssoc
*
m_cluster_hit_map
=
nullptr
;
136
138
TrkrHitTruthAssoc
*
m_hit_truth_map
=
nullptr
;
139
141
SvtxTrackMap
*
m_track_map
=
nullptr
;
142
144
145
PHG4HitContainer
*
m_g4hits_tpc
=
nullptr
;
146
PHG4HitContainer
*
m_g4hits_intt
=
nullptr
;
147
PHG4HitContainer
*
m_g4hits_mvtx
=
nullptr
;
148
PHG4HitContainer
*
m_g4hits_micromegas
=
nullptr
;
150
152
PHG4TruthInfoContainer
*
m_g4truthinfo
=
nullptr
;
153
155
PHG4CylinderCellGeomContainer
*
m_tpc_geom_container
=
nullptr
;
156
158
PHG4CylinderGeomContainer
*
m_micromegas_geom_container
=
nullptr
;
159
160
// map cluster keys to g4hits
161
using
G4HitMap
= std::map<TrkrDefs::cluskey,G4HitSet>;
162
mutable
G4HitMap
m_g4hit_map
;
163
164
};
165
166
#endif // G4EVAL_TrackEvaluation_H
coresoftware
blob
master
simulation
g4simulation
g4eval
TrackEvaluation.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:43
using
1.8.2 with
ECCE GitHub integration