Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
HeatmapAnalyzer.h
Go to the documentation of this file.
1/*
2 * Project: RooFit
3 * Authors:
4 * ZW, Zef Wolffs, Nikhef, zefwolffs@gmail.com
5 *
6 * Copyright (c) 2022, CERN
7 *
8 * Redistribution and use in source and binary forms,
9 * with or without modification, are permitted according to the terms
10 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
11 */
12
13#ifndef ROOT_ROOFIT_MultiProcess_HeatmapAnalyzer
14#define ROOT_ROOFIT_MultiProcess_HeatmapAnalyzer
15
16#include "TString.h"
17#include "TH2I.h"
18
19#include <memory>
20#include <vector>
21#include <string>
22
23namespace RooFit {
24namespace MultiProcess {
25
26namespace Detail {
27// To avoid unnecessary dependence on nlohman json in the interface. Note that
28// we should not forward declare nlohmann::json directly, since its declaration
29// might change (it is currently a typedef). With this wrapper type, we are
30// completely decoupled on nlohmann::json in the RMetaData interface.
32} // namespace Detail
33
35public:
36 HeatmapAnalyzer(std::string const &logs_dir);
38
39 // main method of this class, produces heatmap
40 std::unique_ptr<TH2I> analyze(int analyzed_gradient);
41
42 // getters to inspect logfiles
43 std::vector<std::string> const getPartitionNames();
44 std::vector<std::string> const getTaskNames();
45 std::vector<std::string> const getMetadata();
46
47private:
49 std::unique_ptr<Detail::HeatmapAnalyzerJsonData> jsonData_;
50 std::vector<std::string> tasks_names_;
51 std::vector<std::string> eval_partitions_names_;
52};
53
54} // namespace MultiProcess
55} // namespace RooFit
56
57#endif // ROOT_ROOFIT_MultiProcess_HeatmapAnalyzer
Reads and processes logfiles produced by RooFit::MultiProcess::ProcessTimer.
std::unique_ptr< TH2I > analyze(int analyzed_gradient)
This method is the main functionality in this class.
std::vector< std::string > const getMetadata()
std::vector< std::string > const getPartitionNames()
std::vector< std::string > const getTaskNames()
std::vector< std::string > tasks_names_
std::unique_ptr< Detail::HeatmapAnalyzerJsonData > jsonData_
std::vector< std::string > eval_partitions_names_
2-D histogram with an int per channel (see TH1 documentation)
Definition TH2.h:225
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition JSONIO.h:26