Analysis Software
Documentation for sPHENIX simulation software
 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;
22 class TrkrHitTruthAssoc;
23 class SvtxVertexMap;
24 class GlobalVertexMap;
25 
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
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 
54  {
56  }
57 
58  void set_embed_id_cut(const int id) { m_embed_id_cut = id; }
59 
60  private:
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 *>;
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 
85 
89 
94 };
95 
96 #endif // QA_QAG4SimulationTracking_H