ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QAG4SimulationTpc.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file QAG4SimulationTpc.h
1 #ifndef QA_QAG4SIMULATIONTPC_H
2 #define QA_QAG4SIMULATIONTPC_H
3 
4 #include <g4eval/SvtxEvalStack.h> // for SvtxEvalStack
5 
6 #include <trackbase/TrkrDefs.h>
7 
8 #include <fun4all/SubsysReco.h>
9 
10 #include <map>
11 #include <memory>
12 #include <set>
13 #include <string>
14 
15 class PHCompositeNode;
16 class PHG4Hit;
17 class PHG4HitContainer;
21 class TrkrHitTruthAssoc;
22 class SvtxEvalStack;
23 struct ActsSurfaceMaps;
25 
28 {
29  public:
31  QAG4SimulationTpc(const std::string& name = "QAG4SimulationTpc");
32 
33  int InitRun(PHCompositeNode* topNode) override;
34  int process_event(PHCompositeNode* topNode) override;
35 
36  private:
38  std::string get_histo_prefix() const;
39 
40  std::unique_ptr<SvtxEvalStack> m_svtxEvalStack;
42 
45 
47  void evaluate_clusters();
48 
49  // get geant hits associated to a cluster
50  using G4HitSet = std::set<PHG4Hit*>;
52 
54  bool m_initialized = false;
55 
58 
61 
64 
67 
70 
73 
75  /* it is filled at Init stage. It should not change for the full run */
76  std::set<int> m_layers;
77  std::multimap<int, int> m_layer_region_map;
78 };
79 
80 #endif