Back to home page

sPhenix code displayed by LXR

 
 

    


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 /// \class QAG4SimulationUpsilon
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   // common prefix for QA histograms
0027   std::string get_histo_prefix();
0028 
0029   //! If added, only process truth particle associated with the selected list of EmbeddingIDs
0030   //! Call multiple times to add multiple EmbeddingIDs
0031   //! For EmbeddingID<0, all negative embedding IDs are accepted for pile up events.
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  // QA_QAG4SimulationUpsilon_H