File indexing completed on 2024-04-06 12:28:23
0001 #ifndef _PlotMEIFBenchmarks_
0002 #define _PlotMEIFBenchmarks_
0003
0004 #include "Common.hh"
0005
0006 #include "TGraph.h"
0007
0008 struct EventOpts {
0009 EventOpts() {}
0010 EventOpts(const Int_t nev, const Color_t color) : nev(nev), color(color) {}
0011
0012 Int_t nev;
0013 Color_t color;
0014 };
0015 typedef std::vector<EventOpts> EOVec;
0016
0017 namespace {
0018 EOVec events;
0019 UInt_t nevents;
0020 void setupEvents() {
0021
0022
0023 events.emplace_back(1, kBlack);
0024 events.emplace_back(2, kBlue);
0025 events.emplace_back(4, kGreen + 1);
0026 events.emplace_back(8, kRed);
0027 events.emplace_back((ARCH == SNB ? 12 : 16), kMagenta);
0028
0029 if (ARCH == KNL || ARCH == SKL || ARCH == LNXG || ARCH == LNXS) {
0030 events.emplace_back(32, kAzure + 10);
0031 events.emplace_back(64, kOrange + 3);
0032 }
0033 if (ARCH == KNL) {
0034 events.emplace_back(128, kViolet - 1);
0035 }
0036
0037
0038 nevents = events.size();
0039 }
0040 };
0041
0042 typedef std::vector<TGraph*> TGVec;
0043
0044 class PlotMEIFBenchmarks {
0045 public:
0046 PlotMEIFBenchmarks(const TString& arch, const TString& sample, const TString& build);
0047 ~PlotMEIFBenchmarks();
0048 void RunMEIFBenchmarkPlots();
0049 void MakeOverlay(const TString& text,
0050 const TString& title,
0051 const TString& xtitle,
0052 const TString& ytitle,
0053 const Double_t xmin,
0054 const Double_t xmax,
0055 const Double_t ymin,
0056 const Double_t ymax);
0057
0058 private:
0059 const TString arch;
0060 const TString sample;
0061 const TString build;
0062
0063 ArchEnum ARCH;
0064 TFile* file;
0065 };
0066
0067 #endif