19#include "HistogramAccumulator.hh"
20#include "HistogramMeanFromFile.hh"
22#include "BDSOutputROOTEventHistograms.hh"
24#include "TDirectory.h"
28#include "BDSBH4DBase.hh"
45 std::string name = std::string(hist->GetName());
46 std::string title = std::string(hist->GetTitle());
52 std::string name = std::string(hist->GetName());
53 std::string title = std::string(hist->GetTitle());
59 std::string name = std::string(hist->GetName());
60 std::string title = std::string(hist->GetTitle());
66 std::string name = hist->GetName();
67 std::string title = hist->GetTitle();
74HistogramMeanFromFile::~HistogramMeanFromFile()
76 for (
auto h : histograms1d)
78 for (
auto h : histograms2d)
80 for (
auto h : histograms3d)
82 for (
auto h : histograms4d)
89 for (
unsigned int i = 0; i < (
unsigned int)histograms1d.size(); ++i)
90 {histograms1d[i]->Accumulate(h1i[i]);}
92 for (
unsigned int i = 0; i < (
unsigned int)histograms2d.size(); ++i)
93 {histograms2d[i]->Accumulate(h2i[i]);}
95 for (
unsigned int i = 0; i < (
unsigned int)histograms3d.size(); ++i)
96 {histograms3d[i]->Accumulate(h3i[i]);}
98 for (
unsigned int i = 0; i < (
unsigned int)histograms4d.size(); ++i)
99 {histograms4d[i]->Accumulate(h4i[i]);}
106 for (
auto& h : histograms1d)
108 for (
auto& h : histograms2d)
110 for (
auto& h : histograms3d)
112 for (
auto& h : histograms4d)
120 for (
auto& h : histograms1d)
121 {dir->Add(h->Result());}
122 for (
auto& h : histograms2d)
123 {dir->Add(h->Result());}
124 for (
auto& h : histograms3d)
125 {dir->Add(h->Result());}
126 for (
auto& h : histograms4d)
127 {dir->Add(h->Result());}
131 for (
auto& h : histograms1d)
132 {h->Result()->Write();}
133 for (
auto& h : histograms2d)
134 {h->Result()->Write();}
135 for (
auto& h : histograms3d)
136 {h->Result()->Write();}
137 for (
auto& h : histograms4d)
138 {h->Result()->Write();}
Holder for a set of histograms to be stored.
std::vector< BDSBH4DBase * > & Get4DHistograms()
Accessors.
std::vector< TH2D * > & Get2DHistograms()
Accessors.
std::vector< TH3D * > & Get3DHistograms()
Accessors.
std::vector< TH1D * > & Get1DHistograms()
Accessors.
Class to accumulate and merge histograms in different ways.
Accumulator to merge pre-made per-entry histograms.
void Write(TDirectory *dir=nullptr)
Write to file.
HistogramMeanFromFile()
Public constructor only for compatibility with ROOT - not indended for use.
void Accumulate(BDSOutputROOTEventHistograms *hNew)
void Terminate()
Finish calculation.