11#ifndef ROOT_TOOLS_THR_OBJ_HPP
12#define ROOT_TOOLS_THR_OBJ_HPP
23#include "ROOT/TThreadedObject.hxx"
37 void Write(
const std::string& outputFileName);
43 std::shared_ptr<TH1F>
AddHistogram(ROOT::TThreadedObject<TH1F> *hist,
44 const std::string& directory);
46 std::shared_ptr<TH2F>
AddHistogram(ROOT::TThreadedObject<TH2F> *hist,
47 const std::string& directory);
49 std::shared_ptr<TH3F>
AddHistogram(ROOT::TThreadedObject<TH3F> *hist,
50 const std::string& directory);
52 std::shared_ptr<TH1D>
AddHistogram(ROOT::TThreadedObject<TH1D> *hist,
53 const std::string& directory);
55 std::shared_ptr<TH2D>
AddHistogram(ROOT::TThreadedObject<TH2D> *hist,
56 const std::string& directory);
58 std::shared_ptr<TH3D>
AddHistogram(ROOT::TThreadedObject<TH3D> *hist,
59 const std::string& directory);
61 std::shared_ptr<TH1L>
AddHistogram(ROOT::TThreadedObject<TH1L> *hist,
62 const std::string& directory);
64 std::shared_ptr<TH2L>
AddHistogram(ROOT::TThreadedObject<TH2L> *hist,
65 const std::string& directory);
67 std::shared_ptr<TH3L>
AddHistogram(ROOT::TThreadedObject<TH3L> *hist,
68 const std::string& directory);
75 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH1F>>>
containerTH1F;
77 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH2F>>>
containerTH2F;
79 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH3F>>>
containerTH3F;
81 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH1D>>>
containerTH1D;
83 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH2D>>>
containerTH2D;
85 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH3D>>>
containerTH3D;
87 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH1L>>>
containerTH1L;
89 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH2L>>>
containerTH2L;
91 std::vector<std::unique_ptr<ROOT::TThreadedObject<TH3L>>>
containerTH3L;
119 ThrObj(
const std::string& name,
const std::string& title,
120 const int xNBins,
const double xLow,
const double xMax,
121 const std::string& fileDirectory =
"");
134 ThrObj(
const std::string& name,
const std::string& title,
135 const int xNBins,
const double xLow,
const double xMax,
136 const int yNBins,
const double yMin,
const double yMax,
137 const std::string& fileDirectory =
"");
153 ThrObj(
const std::string& name,
const std::string& title,
154 const int xNBins,
const double xLow,
const double xMax,
155 const int yNBins,
const double yMin,
const double yMax,
156 const int zNBins,
const double zMin,
const double zMax,
157 const std::string& fileDirectory =
"");
162 std::shared_ptr<T>
Get();
container that stores histograms of ThrObj class