File indexing completed on 2025-08-03 08:18:10
0001
0002
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