File indexing completed on 2025-08-06 08:18:48
0001
0002
0003 #ifndef QAG4SIMULATIONVERTEX_H
0004 #define QAG4SIMULATIONVERTEX_H
0005
0006 #include <fun4all/SubsysReco.h>
0007
0008 #include <g4eval/SvtxEvalStack.h>
0009
0010 #include <memory>
0011 #include <set>
0012 #include <string>
0013
0014 class PHCompositeNode;
0015 class PHG4TruthInfoContainer;
0016 class SvtxTrackMap;
0017 class SvtxVertexMap;
0018 class TrackSeed;
0019
0020 class QAG4SimulationVertex : public SubsysReco
0021 {
0022 public:
0023 QAG4SimulationVertex(const std::string &name = "QAG4SimulationVertex");
0024
0025 virtual ~QAG4SimulationVertex() = default;
0026
0027 int Init(PHCompositeNode *topNode);
0028 int InitRun(PHCompositeNode *topNode);
0029 int process_event(PHCompositeNode *topNode);
0030
0031 std::string get_histo_prefix();
0032
0033 void check_embed() { m_checkembed = true; }
0034 void embed_id_cut(const int id) { m_embed_id_cut = id; }
0035 void addEmbeddingID(int embeddingID);
0036
0037 void setTrackgMapName(const std::string &name) { m_trackMapName = name; }
0038 void setVertexMapName(const std::string &name) { m_vertexMapName = name; }
0039
0040 private:
0041 int load_nodes(PHCompositeNode *);
0042
0043 PHG4TruthInfoContainer *m_truthContainer = nullptr;
0044
0045 unsigned int _nlayers_maps = 3;
0046
0047 std::unique_ptr<SvtxEvalStack> m_svtxEvalStack;
0048
0049 int m_embed_id_cut = 0;
0050 bool m_checkembed = false;
0051
0052 SvtxTrackMap *m_trackMap = nullptr;
0053 SvtxVertexMap *m_vertexMap = nullptr;
0054 PHG4TruthInfoContainer *m_truthInfo = nullptr;
0055
0056 std::set<int> m_embeddingIDs;
0057
0058 std::string m_trackMapName = "SvtxTrackMap";
0059 std::string m_vertexMapName = "SvtxVertexMap";
0060 };
0061
0062 #endif