ndmspc  0.20250128.0
Results.h
1 #ifndef NdmspcCoreResults_H
2 #define NdmspcCoreResults_H
3 #include <TObject.h>
4 #include <string>
5 #include <vector>
6 #include <map>
7 
8 class TFile;
9 class TH1;
10 class THnSparse;
11 namespace Ndmspc {
12 
19 enum DataSource { simple, histogram };
20 class Results : public TObject {
21  public:
22  Results();
23  virtual ~Results();
24 
25  bool LoadConfig(std::string configfilename = "config.json", std::string userconfig = "", std::string environment = "",
26  std::string userConfigRaw = "");
27  bool LoadResults();
28  void SetFileName(std::string filename) { fInputFileName = filename; }
29  int GetNCuts() { return fCuts.size(); }
30  void GenerateTitle();
31  bool ApplyPoints();
32 
33  virtual void Draw(Option_t * option = "");
34  virtual void Print(Option_t * option = "") const;
35 
36  private:
37  std::string fInputFileName{""};
38  TFile * fInputFile{nullptr};
39  std::string fResultsHnSparseName{"results"};
40  THnSparse * fResultHnSparse{nullptr};
41  std::string fResultFileName{"results.root"};
42  TH1 * fMapAxesType{nullptr};
43  std::string fMapAxesTypeName{"mapAxesType"};
44  DataSource fDataSource{simple};
45  std::string fParametesAxisName{"parameters"};
46  std::string fCurrentParameterName{""};
47  std::string fMapTitle{""};
48  std::vector<std::string> fCuts;
49  std::vector<int> fPoint;
50  std::vector<std::string> fAxes;
51  std::vector<std::string> fAxesTypes;
52  std::map<std::string, std::vector<std::string>> fAxesLabels;
53  std::map<std::string, int> fAxesBinSizes;
54 
56  ClassDef(Results, 1);
58 };
59 } // namespace Ndmspc
60 #endif
Results object.
Definition: Results.h:20
std::map< std::string, std::vector< std::string > > fAxesLabels
axes types
Definition: Results.h:52
std::vector< std::string > fAxesTypes
axes names
Definition: Results.h:51
std::string fMapAxesTypeName
map axes type
Definition: Results.h:43
std::map< std::string, int > fAxesBinSizes
axes labels
Definition: Results.h:53
THnSparse * fResultHnSparse
results object name
Definition: Results.h:40
std::string fCurrentParameterName
parameters axis name
Definition: Results.h:46
void GenerateTitle()
Definition: Results.cxx:227
virtual void Draw(Option_t *option="")
Definition: Results.cxx:252
bool ApplyPoints()
Definition: Results.cxx:206
std::string fParametesAxisName
data source
Definition: Results.h:45
std::string fMapTitle
current parameter name
Definition: Results.h:47
std::string fResultsHnSparseName
input file
Definition: Results.h:39
std::vector< std::string > fCuts
map type title
Definition: Results.h:48
std::vector< std::string > fAxes
point
Definition: Results.h:50
DataSource fDataSource
map axes type name
Definition: Results.h:44
bool LoadResults()
Definition: Results.cxx:74
std::vector< int > fPoint
cuts
Definition: Results.h:49
std::string fResultFileName
results sparse histogram
Definition: Results.h:41
TFile * fInputFile
file name
Definition: Results.h:38
TH1 * fMapAxesType
results file name
Definition: Results.h:42
virtual void Print(Option_t *option="") const
Definition: Results.cxx:42