File indexing completed on 2026-04-04 08:16:09
0001 #ifndef GL1_GL1MON_H
0002 #define GL1_GL1MON_H
0003
0004 #include <onlmon/OnlMon.h>
0005
0006 #include <array>
0007 #include <cstdint>
0008 #include <deque>
0009 #include <map>
0010 #include <vector>
0011
0012 class Event;
0013 class eventReceiverClient;
0014 class TH1;
0015
0016 class GL1Mon : public OnlMon
0017 {
0018 public:
0019 GL1Mon(const std::string &name = "GL1MON");
0020 ~GL1Mon() override;
0021
0022 int process_event(Event *evt) override;
0023 int Init() override;
0024 int BeginRun(const int runno) override;
0025 int Reset() override;
0026
0027 private:
0028 eventReceiverClient *erc{nullptr};
0029 TH1 *gl1_stats{nullptr};
0030 std::vector<TH1 *> gl1_reject;
0031 time_t starttime{0};
0032 time_t lastupdate{0};
0033 int64_t n_minbias{0};
0034 std::vector<int> triggernumber;
0035 std::vector<int> ntriggers;
0036 std::vector<std::string> triggername;
0037 std::map<int, std::string> triggernamemap;
0038 std::deque<std::pair<int, uint64_t>> eventticdeque;
0039 std::array<TH1 *, 64> scaledtriggers;
0040 std::array<TH1 *, 64> livetriggers;
0041 std::array<TH1 *, 64> rawtriggers;
0042 std::array<TH1 *,5> TimeToLastEvent;
0043 };
0044
0045 #endif