EIC 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;
23 class TrkrHitTruthAssoc;
24 
27 {
28  public:
29  QAG4SimulationTracking(const std::string &name = "QAG4SimulationTracking");
30  virtual ~QAG4SimulationTracking() = default;
31 
32  int Init(PHCompositeNode *topNode);
33  int InitRun(PHCompositeNode *topNode);
34  int process_event(PHCompositeNode *topNode);
35 
36  // common prefix for QA histograms
37  std::string get_histo_prefix();
38 
42  void addEmbeddingID(int embeddingID);
43 
45  void setEtaRange(double low, double high)
46  {
47  m_etaRange.first = low;
48  m_etaRange.second = high;
49  }
50 
53  {
55  }
56 
57  private:
60 
61  // get geant hits associated to a cluster
62  using G4HitSet = std::set<PHG4Hit *>;
64 
65  std::unique_ptr<SvtxEvalStack> m_svtxEvalStack;
66  std::set<int> m_embeddingIDs;
67 
69  std::pair<double, double> m_etaRange = {-1, 1};
70 
72  bool m_uniqueTrackingMatch = true;
73 
76 
81 
86 };
87 
88 #endif // QA_QAG4SimulationTracking_H