18#include "HistogramAccumulator.hh"
19#include "HistogramMeanFromFile.hh"
21#include "BDSOutputROOTEventHistograms.hh"
23#include "TDirectory.h"
27#include "BDSBH4DBase.hh"
44 std::string name = std::string(hist->GetName());
45 std::string title = std::string(hist->GetTitle());
51 std::string name = std::string(hist->GetName());
52 std::string title = std::string(hist->GetTitle());
58 std::string name = std::string(hist->GetName());
59 std::string title = std::string(hist->GetTitle());
65 std::string name = hist->GetName();
66 std::string title = hist->GetTitle();
73HistogramMeanFromFile::~HistogramMeanFromFile()
75 for (
auto h : histograms1d)
77 for (
auto h : histograms2d)
79 for (
auto h : histograms3d)
81 for (
auto h : histograms4d)
88 for (
unsigned int i = 0; i < (
unsigned int)histograms1d.size(); ++i)
89 {histograms1d[i]->Accumulate(h1i[i]);}
91 for (
unsigned int i = 0; i < (
unsigned int)histograms2d.size(); ++i)
92 {histograms2d[i]->Accumulate(h2i[i]);}
94 for (
unsigned int i = 0; i < (
unsigned int)histograms3d.size(); ++i)
95 {histograms3d[i]->Accumulate(h3i[i]);}
97 for (
unsigned int i = 0; i < (
unsigned int)histograms4d.size(); ++i)
98 {histograms4d[i]->Accumulate(h4i[i]);}
105 for (
auto& h : histograms1d)
107 for (
auto& h : histograms2d)
109 for (
auto& h : histograms3d)
111 for (
auto& h : histograms4d)
119 for (
auto& h : histograms1d)
120 {dir->Add(h->Result());}
121 for (
auto& h : histograms2d)
122 {dir->Add(h->Result());}
123 for (
auto& h : histograms3d)
124 {dir->Add(h->Result());}
125 for (
auto& h : histograms4d)
126 {dir->Add(h->Result());}
130 for (
auto& h : histograms1d)
131 {h->Result()->Write();}
132 for (
auto& h : histograms2d)
133 {h->Result()->Write();}
134 for (
auto& h : histograms3d)
135 {h->Result()->Write();}
136 for (
auto& h : histograms4d)
137 {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.