File indexing completed on 2025-08-05 08:17:30
0001
0002
0003 #ifndef QA_INTT_INTTRAWHITQA_H
0004 #define QA_INTT_INTTRAWHITQA_H
0005
0006
0007 #include <fun4all/SubsysReco.h>
0008
0009
0010 #include <string>
0011 #include <vector>
0012
0013 class InttRawHit;
0014 class InttRawHitContainer;
0015 class PHCompositeNode;
0016 class TH1;
0017 class TH2;
0018 class TH3;
0019
0020 class InttRawHitQA : public SubsysReco
0021 {
0022 public:
0023 InttRawHitQA(const std::string& name = "InttRawHitQA");
0024
0025 ~InttRawHitQA() override = default;
0026
0027
0028
0029
0030
0031
0032 int Init(PHCompositeNode* topNode) override;
0033
0034
0035
0036
0037
0038
0039 int InitRun(PHCompositeNode* topNode) override;
0040
0041
0042
0043
0044 int process_event(PHCompositeNode* topNode) override;
0045
0046
0047 int ResetEvent(PHCompositeNode* topNode) override;
0048
0049
0050 int EndRun(const int runnumber) override;
0051
0052
0053 int End(PHCompositeNode* topNode) override;
0054
0055
0056 int Reset(PHCompositeNode* ) override;
0057
0058 private:
0059 void createHistos();
0060 std::string getHistoPrefix() const;
0061
0062
0063
0064 static const int kFelix_num_ = 8;
0065 static const int kFee_num_ = 14;
0066 static const int kChip_num_ = 26;
0067 static const int kChan_num_ = 128;
0068 static const int kFirst_pid_ = 3001;
0069
0070 std::vector<InttRawHitContainer*> m_rawhit_containers;
0071 int previous_event_counter_ = -1;
0072 int last_event_counter_ = 0;
0073 int event_counter_by_myself_ = 0;
0074
0075 bool is_first_event_ = true;
0076
0077
0078
0079
0080
0081
0082 TH3* hist_fee_chip_chan_[kFelix_num_]{nullptr};
0083
0084 TH3* hist_fee_bco_full_event_counter_[kFelix_num_]{nullptr};
0085 TH3* hist_fee_bco_full_event_counter_diff_[kFelix_num_]{nullptr};
0086
0087
0088 TH2* hist_hitmap_[kFelix_num_][kFee_num_]{{nullptr}};
0089
0090
0091 TH1* hist_nhit_{nullptr};
0092 TH1* hist_pid_{nullptr};
0093 TH1* hist_nhit_south_{nullptr};
0094 TH1* hist_nhit_north_{nullptr};
0095
0096
0097
0098
0099 TH1* hist_adc_{nullptr};
0100 TH1* hist_bco_{nullptr};
0101 TH1* hist_bco_full_{nullptr};
0102
0103
0104 TH1* hist_event_counter_[kFelix_num_]{nullptr};
0105 TH1* hist_event_counter_diff_[kFelix_num_]{nullptr};
0106
0107
0108
0109
0110 virtual std::vector<InttRawHit*> GetHits(InttRawHitContainer* container);
0111 };
0112
0113 #endif