Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:18:10

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef QA_TRACKING_MVTXCLUSTERQA_H
0004 #define QA_TRACKING_MVTXCLUSTERQA_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <cmath>
0009 #include <map>
0010 #include <set>
0011 #include <string>
0012 
0013 class PHCompositeNode;
0014 class TH1;
0015 class TH2;
0016 
0017 class MvtxClusterQA : public SubsysReco
0018 {
0019  public:
0020   MvtxClusterQA(const std::string &name = "MvtxClusterQA");
0021 
0022   ~MvtxClusterQA() 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 writeChipInfo(bool value)
0029   {
0030     m_chipInfo = value;
0031   }
0032 
0033  private:
0034   void createHistos();
0035 
0036   std::string getHistoPrefix() const;
0037   std::map<int, int> m_layerStaveMap;
0038   int m_event = 0;
0039   int m_totalClusters = 0;
0040   int m_nclustersPerChip[3][20][9] = {{{0}}};
0041   bool m_chipInfo = false;
0042 
0043   TH1 *h_occupancy{nullptr};
0044   TH1 *h_clusSize{nullptr};
0045   TH2 *h_clusSize_nClus{nullptr};
0046   TH1 *h_clusPhi_incl{nullptr};
0047   TH1 *h_clusPhi_l0{nullptr};
0048   TH1 *h_clusPhi_l1{nullptr};
0049   TH1 *h_clusPhi_l2{nullptr};
0050   TH2 *h_clusZ_clusPhi_l0{nullptr};
0051   TH2 *h_clusZ_clusPhi_l1{nullptr};
0052   TH2 *h_clusZ_clusPhi_l2{nullptr};
0053   TH1 *h_strobe{nullptr};
0054   TH2 *h_clusperchip[3][20][9] = {{{nullptr}}};
0055 };
0056 
0057 #endif  // QA_TRACKING_MVTXCLUSTERQA_H