File indexing completed on 2025-08-06 08:18:48
0001 #ifndef QA_QAG4SimulationUpsilon_H
0002 #define QA_QAG4SimulationUpsilon_H
0003
0004 #include <fun4all/SubsysReco.h>
0005
0006 #include <memory>
0007 #include <set>
0008 #include <string>
0009 #include <utility>
0010
0011 class PHCompositeNode;
0012 class PHG4TruthInfoContainer;
0013 class SvtxEvalStack;
0014
0015
0016 class QAG4SimulationUpsilon : public SubsysReco
0017 {
0018 public:
0019 QAG4SimulationUpsilon(const std::string &name = "QAG4SimulationUpsilon");
0020 virtual ~QAG4SimulationUpsilon() {}
0021
0022 int Init(PHCompositeNode *topNode);
0023 int InitRun(PHCompositeNode *topNode);
0024 int process_event(PHCompositeNode *topNode);
0025
0026
0027 std::string get_histo_prefix();
0028
0029
0030
0031
0032 void addEmbeddingID(int embeddingID);
0033
0034 void setEtaRange(double low, double high)
0035 {
0036 m_etaRange.first = low;
0037 m_etaRange.second = high;
0038 }
0039
0040 void setQuarkoniaPID(const int pid)
0041 {
0042 m_quarkoniaPID = pid;
0043 }
0044
0045 void setDaughterAbsPID(const int pid)
0046 {
0047 m_daughterAbsPID = pid;
0048 }
0049
0050 private:
0051 std::shared_ptr<SvtxEvalStack> _svtxEvalStack;
0052 std::set<int> m_embeddingIDs;
0053 std::pair<double, double> m_etaRange;
0054
0055 PHG4TruthInfoContainer *_truthContainer;
0056
0057 int m_quarkoniaPID = 553;
0058 int m_daughterAbsPID = 11;
0059 };
0060
0061 #endif