File indexing completed on 2025-10-17 08:20:45
0001 #pragma once
0002
0003
0004
0005
0006
0007
0008 #include <fun4all/SubsysReco.h>
0009
0010 #include <array>
0011 #include <string>
0012 #include <vector>
0013
0014 class TH1;
0015 class PHCompositeNode;
0016
0017
0018 class InttRawHitContainer;
0019
0020 class InttQa : public SubsysReco {
0021 public:
0022 InttQa (std::string const& = "InttQa");
0023
0024
0025 virtual ~InttQa() = default;
0026
0027 int InitRun(PHCompositeNode*) override;
0028 int process_event(PHCompositeNode*) override;
0029
0030 private:
0031 static std::string constexpr m_prefix{"h_InttQa"};
0032 static int const n_felix_servers{8};
0033 static int const n_felix_channels{14};
0034 static int const n_chips{26};
0035 static int const n_channels{128};
0036 static int const n_bcos{128};
0037 static int const n_adcs{8};
0038
0039 typedef std::array<TH1*, n_felix_servers> per_felix_server_array_t;
0040 typedef std::array<std::array<TH1*, n_felix_channels>, n_felix_servers> per_felix_channel_array_t;
0041 typedef std::array<std::array<std::array<TH1*, n_chips>, n_felix_channels>, n_felix_servers> per_chip_array_t;
0042
0043 per_felix_server_array_t m_felix_server_hit_distribution{};
0044 per_felix_channel_array_t m_felix_channel_bco_distribution{};
0045 per_felix_channel_array_t m_felix_channel_hit_distribution{};
0046 per_chip_array_t m_chip_hit_distribution{};
0047 per_chip_array_t m_chip_adc_distribution{};
0048
0049
0050
0051 std::vector<InttRawHitContainer*> m_intt_raw_hit_containers{};
0052
0053 };