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
QAG4SimulationTracking.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file QAG4SimulationTracking.h
1
#ifndef QA_QAG4SimulationTracking_H
2
#define QA_QAG4SimulationTracking_H
3
4
#include <
g4eval/SvtxEvalStack.h
>
5
6
#include <
trackbase/TrkrDefs.h
>
// for cluskey
7
8
#include <
fun4all/SubsysReco.h
>
9
10
#include <memory>
11
#include <set>
12
#include <string>
13
#include <utility>
14
15
class
PHCompositeNode
;
16
class
SvtxTrackMap
;
17
class
PHG4Hit
;
18
class
PHG4HitContainer
;
19
class
PHG4TruthInfoContainer
;
20
class
TrkrClusterContainer
;
21
class
TrkrClusterHitAssoc
;
22
class
TrkrHitTruthAssoc
;
23
class
SvtxVertexMap
;
24
class
GlobalVertexMap
;
25
27
class
QAG4SimulationTracking
:
public
SubsysReco
28
{
29
public
:
30
QAG4SimulationTracking
(
const
std::string
&
name
=
"QAG4SimulationTracking"
);
31
virtual
~QAG4SimulationTracking
() =
default
;
32
33
int
Init
(
PHCompositeNode
*topNode);
34
int
InitRun
(
PHCompositeNode
*topNode);
35
int
process_event
(
PHCompositeNode
*topNode);
36
37
// common prefix for QA histograms
38
std::string
get_histo_prefix
();
39
43
void
addEmbeddingID
(
int
embeddingID);
44
46
void
setEtaRange
(
double
low,
double
high)
47
{
48
m_etaRange
.first = low;
49
m_etaRange
.second = high;
50
}
51
53
void
setUniqueTrackingMatch
(
bool
b
)
54
{
55
m_uniqueTrackingMatch
=
b
;
56
}
57
58
void
set_embed_id_cut
(
const
int
id
) {
m_embed_id_cut
=
id
; }
59
60
private
:
62
int
load_nodes
(
PHCompositeNode
*);
63
64
void
get_dca
(
SvtxTrack
*track,
float
&dca3dxy,
float
&dca3dz,
65
float
&dca3dxysigma,
float
&dca3dzsigma);
66
// get geant hits associated to a cluster
67
using
G4HitSet
= std::set<PHG4Hit *>;
68
G4HitSet
find_g4hits
(
TrkrDefs::cluskey
)
const
;
69
70
std::unique_ptr<SvtxEvalStack>
m_svtxEvalStack
;
71
std::set<int>
m_embeddingIDs
;
72
74
std::pair<double, double>
m_etaRange
= {-1, 1};
75
77
bool
m_uniqueTrackingMatch
=
true
;
78
80
int
m_embed_id_cut
= 0;
81
82
PHG4TruthInfoContainer
*
m_truthContainer
=
nullptr
;
83
SvtxTrackMap
*
m_trackMap
=
nullptr
;
84
GlobalVertexMap
*
m_vertexMap
=
nullptr
;
85
86
TrkrClusterContainer
*
m_cluster_map
=
nullptr
;
87
TrkrClusterHitAssoc
*
m_cluster_hit_map
=
nullptr
;
88
TrkrHitTruthAssoc
*
m_hit_truth_map
=
nullptr
;
89
90
PHG4HitContainer
*
m_g4hits_tpc
=
nullptr
;
91
PHG4HitContainer
*
m_g4hits_intt
=
nullptr
;
92
PHG4HitContainer
*
m_g4hits_mvtx
=
nullptr
;
93
PHG4HitContainer
*
m_g4hits_micromegas
=
nullptr
;
94
};
95
96
#endif // QA_QAG4SimulationTracking_H
coresoftware
blob
master
offline
QA
modules
QAG4SimulationTracking.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:11
using
1.8.2 with
sPHENIX GitHub integration