File indexing completed on 2025-08-05 08:20:32
0001 #ifndef TPC_TPCMONDRAW_H
0002 #define TPC_TPCMONDRAW_H
0003
0004 #include <onlmon/OnlMonDraw.h>
0005
0006 #include <string> // for allocator, string
0007
0008 class TCanvas;
0009 class TGraphErrors;
0010 class TPad;
0011 class TH2;
0012 class TH1;
0013 class TPaveLabel;
0014
0015 class TpcMonDraw : public OnlMonDraw
0016 {
0017 public:
0018 TpcMonDraw(const std::string &name);
0019
0020 ~TpcMonDraw() override {}
0021
0022 int Init() override;
0023 int Draw(const std::string &what = "ALL") override;
0024 int MakeHtml(const std::string &what = "ALL") override;
0025 int SavePlot(const std::string &what = "ALL", const std::string &type = "png") override;
0026
0027 protected:
0028 int MakeCanvas(const std::string &name);
0029 int DrawTPCModules(const std::string &what = "ALL");
0030 int DrawTPCSampleSize(const std::string &what = "ALL");
0031 int DrawTPCStuckChannels(const std::string &what = "ALL");
0032 int DrawTPCCheckSum(const std::string &what = "ALL");
0033 int DrawTPCParity(const std::string &what = "ALL");
0034 int DrawTPCChansinPacketNS(const std::string &what = "ALL");
0035 int DrawTPCChansinPacketSS(const std::string &what = "ALL");
0036 int DrawTPCChansperLVL1_NS(const std::string &what = "ALL");
0037 int DrawTPCChansperLVL1_SS(const std::string &what = "ALL");
0038 int DrawTPCNonZSChannels(const std::string &what = "ALL");
0039 int DrawTPCZSTriggerADCSample(const std::string &what = "ALL");
0040 int DrawTPCFirstnonZSADCFirstnonZSSample(const std::string &what = "ALL");
0041 int DrawTPCADCSample(const std::string &what = "ALL");
0042 int DrawTPCDriftWindow(const std::string &what = "ALL");
0043 int DrawTPCPedestSubADCSample(const std::string &what = "ALL");
0044 int DrawTPCPedestSubADCSample_R1(const std::string &what = "ALL");
0045 int DrawTPCPedestSubADCSample_R2(const std::string &what = "ALL");
0046 int DrawTPCPedestSubADCSample_R3(const std::string &what = "ALL");
0047 int DrawTPCADCSampleLarge(const std::string &what = "ALL");
0048 int DrawTPCMaxADCModule(const std::string &what = "ALL");
0049 int DrawTPCRawADC1D(const std::string &what = "ALL");
0050 int DrawTPCMaxADC1D(const std::string &what = "ALL");
0051 int DrawTPCPedestSubADC1D(const std::string &what = "ALL");
0052 int DrawTPCXYclusters(const std::string &what = "ALL");
0053 int DrawTPCXYlaserclusters(const std::string &what = "ALL");
0054 int DrawTPCXYclusters5event(const std::string &what = "ALL");
0055 int DrawTPCXYclusters_unweighted(const std::string &what = "ALL");
0056 int DrawTPCZYclusters(const std::string &what = "ALL");
0057 int DrawTPCZYclusters_unweighted(const std::string &what = "ALL");
0058 int DrawTPCchannelphi_layer_weighted(const std::string &what = "ALL");
0059 int DrawTPCNStreaksvsEventNo(const std::string &what = "ALL");
0060 int DrawTPCNEventsvsEBDC(const std::string &what = "ALL");
0061 int DrawTPCPacketTypes(const std::string &what = "ALL");
0062 int DrawTPCPACKETTYPEvsSAMPLEADC (const std::string &what = "ALL");
0063 int DrawTPCNoiseChannelPlots(const std::string &what = "ALL");
0064 int DrawShifterTPCDriftWindow(const std::string &what = "ALL");
0065 int DrawShifterTransmissionDist(const std::string &what = "ALL");
0066 int DrawDCvsSAMPA(const std::string &what = "ALL");
0067 int DrawDCSAMPAvsTIME(const std::string &what = "ALL");
0068 int DrawServerStats();
0069 void add_TH1(TH1* hist[48], TH1* histadd[24]);
0070 void add_TH2(TH2* hist[48], TH2* histadd[24]);
0071 void add_TH1_modules(TH1* hist[48][3], TH1* histadd[24][3]);
0072 void add_TH2_modules(TH2* hist[48][3], TH2* histadd[24][3]);
0073 time_t getTime();
0074
0075 TCanvas *TC[40] = {nullptr};
0076 TPad *transparent[40] = {nullptr};
0077 TPad *Pad[11] = {nullptr};
0078 TGraphErrors *gr[2] = {nullptr};
0079
0080 TH2 *dummy_his1 {nullptr};
0081 TH2 *dummy_his2 {nullptr};
0082
0083
0084 TH2 *dummy_his1_XY = nullptr;
0085 TH2 *dummy_his2_XY = nullptr;
0086
0087 TH2 *dummy_his1_laser_XY = nullptr;
0088 TH2 *dummy_his2_laser_XY = nullptr;
0089
0090 TH2 *dummy_his1_u5_XY = nullptr;
0091 TH2 *dummy_his2_u5_XY = nullptr;
0092
0093 TH2 *dummy_his1_ZY = nullptr;
0094
0095 TH2 *dummy_his1_XY_unw = nullptr;
0096 TH2 *dummy_his2_XY_unw = nullptr;
0097
0098 TH2 *dummy_his1_ZY_unw = nullptr;
0099
0100 TH2 *dummy_his1_channelphi_layer_w = nullptr;
0101 TH1 *dummy_his1_NEvents_EBDC = nullptr;
0102
0103 TPaveLabel* NS18 = nullptr;
0104 TPaveLabel* NS17 = nullptr;
0105 TPaveLabel* NS16 = nullptr;
0106 TPaveLabel* NS15 = nullptr;
0107 TPaveLabel* NS14 = nullptr;
0108 TPaveLabel* NS13 = nullptr;
0109 TPaveLabel* NS12 = nullptr;
0110 TPaveLabel* NS23 = nullptr;
0111 TPaveLabel* NS22 = nullptr;
0112 TPaveLabel* NS21 = nullptr;
0113 TPaveLabel* NS20 = nullptr;
0114 TPaveLabel* NS19 = nullptr;
0115
0116 TPaveLabel* SS00 = nullptr;
0117 TPaveLabel* SS01 = nullptr;
0118 TPaveLabel* SS02 = nullptr;
0119 TPaveLabel* SS03 = nullptr;
0120 TPaveLabel* SS04 = nullptr;
0121 TPaveLabel* SS05 = nullptr;
0122 TPaveLabel* SS06 = nullptr;
0123 TPaveLabel* SS07 = nullptr;
0124 TPaveLabel* SS08 = nullptr;
0125 TPaveLabel* SS09 = nullptr;
0126 TPaveLabel* SS10 = nullptr;
0127 TPaveLabel* SS11 = nullptr;
0128 };
0129
0130 #endif