Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:38

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef QA_TRACKING_TPCSILICONQA_H
0004 #define QA_TRACKING_TPCSILICONQA_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <map>
0009 #include <set>
0010 #include <string>
0011 #include <vector>
0012 
0013 class PHCompositeNode;
0014 class TH1;
0015 class TH2;
0016 
0017 class TpcSiliconQA : public SubsysReco
0018 {
0019  public:
0020   TpcSiliconQA(const std::string &name = "TpcSiliconQA");
0021 
0022   ~TpcSiliconQA() override = default;
0023 
0024   int InitRun(PHCompositeNode *topNode) override;
0025   int process_event(PHCompositeNode *topNode) override;
0026   int EndRun(const int runnumber) override;
0027 
0028   void setXCut(float cutVal) { m_xcut = cutVal; }
0029   void setYCut(float cutVal) { m_ycut = cutVal; }
0030   void setEtaCut(float cutVal) { m_etacut = cutVal; }
0031   void setPhiCut(float cutVal) { m_phicut = cutVal; }
0032 
0033  private:
0034   void createHistos();
0035 
0036   float m_crossing = std::numeric_limits<float>::quiet_NaN();
0037   float m_silseedx = std::numeric_limits<float>::quiet_NaN();
0038   float m_silseedy = std::numeric_limits<float>::quiet_NaN();
0039   float m_silseedz = std::numeric_limits<float>::quiet_NaN();
0040   float m_silseedphi = std::numeric_limits<float>::quiet_NaN();
0041   float m_silseedeta = std::numeric_limits<float>::quiet_NaN();
0042   float m_tpcseedx = std::numeric_limits<float>::quiet_NaN();
0043   float m_tpcseedy = std::numeric_limits<float>::quiet_NaN();
0044   float m_tpcseedz = std::numeric_limits<float>::quiet_NaN();
0045   float m_tpcseedphi = std::numeric_limits<float>::quiet_NaN();
0046   float m_tpcseedeta = std::numeric_limits<float>::quiet_NaN();
0047 
0048   float m_xcut = 1.0;
0049   float m_ycut = 1.0;
0050   float m_etacut = 0.05;
0051   float m_phicut = 0.25;
0052 
0053   std::string getHistoPrefix() const;
0054   int m_event = 0;
0055 
0056   TH1 *h_crossing = nullptr;
0057   TH1 *h_phiDiff[8] = {nullptr};
0058   TH1 *h_etaDiff[8] = {nullptr};
0059   TH1 *h_xDiff[8] = {nullptr};
0060   TH1 *h_yDiff[8] = {nullptr};
0061   TH1 *h_zDiff[8] = {nullptr};
0062 };
0063 
0064 #endif  // QA_TRACKING_TPCSILICONQA_H