File indexing completed on 2025-08-06 08:18:46
0001 #ifndef QA_QAG4SIMULATIONINTT_H
0002 #define QA_QAG4SIMULATIONINTT_H
0003
0004 #include <trackbase/ClusterErrorPara.h>
0005 #include <trackbase/TrkrDefs.h>
0006
0007 #include <fun4all/SubsysReco.h>
0008
0009 #include <set>
0010 #include <string>
0011
0012 class PHCompositeNode;
0013 class PHG4Hit;
0014 class PHG4HitContainer;
0015 class TrkrClusterContainer;
0016 class TrkrClusterHitAssoc;
0017 class TrkrHitTruthAssoc;
0018 class ActsGeometry;
0019
0020
0021 class QAG4SimulationIntt : public SubsysReco
0022 {
0023 public:
0024
0025 QAG4SimulationIntt(const std::string& name = "QAG4SimulationIntt");
0026
0027 int InitRun(PHCompositeNode* topNode) override;
0028 int process_event(PHCompositeNode* topNode) override;
0029
0030 private:
0031
0032 std::string get_histo_prefix() const;
0033
0034
0035 int load_nodes(PHCompositeNode*);
0036
0037
0038 void evaluate_clusters();
0039
0040
0041 using G4HitSet = std::set<PHG4Hit*>;
0042 G4HitSet find_g4hits(TrkrDefs::cluskey) const;
0043
0044
0045 bool m_initialized = false;
0046
0047
0048 ActsGeometry* m_tGeometry = nullptr;
0049
0050
0051 TrkrClusterContainer* m_cluster_map = nullptr;
0052
0053
0054 TrkrClusterHitAssoc* m_cluster_hit_map = nullptr;
0055
0056
0057 TrkrHitTruthAssoc* m_hit_truth_map = nullptr;
0058
0059
0060 PHG4HitContainer* m_g4hits_intt = nullptr;
0061
0062
0063
0064 std::set<int> m_layers;
0065 ClusterErrorPara _ClusErrPara;
0066 };
0067
0068 #endif