24 if (pParent !=
nullptr) {
27 std::string sParentDirectory = (pParent !=
nullptr) ? pParent->
getDirectory() :
"";
35 subNode->initialize();
51 subNode->setDetailLevel(iDetailLevel);
60 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
61 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
63 return vBookedHistograms;
70 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
71 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
76 std::vector<EfficiencyData>
80 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
81 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
83 return vBookedEfficiencies;
91 Bool_t oldstat = TH1::AddDirectoryStatus();
92 TH1::AddDirectory(
false);
94 TH1::AddDirectory(oldstat);
104 Bool_t oldstat = TH1::AddDirectoryStatus();
105 TH1::AddDirectory(
false);
107 refHist->GetXaxis()->GetXbins()->GetArray());
109 TH1::AddDirectory(oldstat);
118 float startY,
float endY,
bool prependDir) {
120 Bool_t oldstat = TH2::AddDirectoryStatus();
121 TH2::AddDirectory(
false);
124 TH2::AddDirectory(oldstat);
133 return Book2D(
name,
labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
134 refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
139 Double_t startY, Double_t endY,
bool prependDir) {
141 Bool_t oldstat = TH2::AddDirectoryStatus();
142 TH2::AddDirectory(
false);
145 TH2::AddDirectory(oldstat);
152 float startY,
float endY,
int nBinsZ,
float startZ,
float endZ,
bool prependDir) {
154 Bool_t oldstat = TH3::AddDirectoryStatus();
155 TH3::AddDirectory(
false);
157 labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
159 TH3::AddDirectory(oldstat);
167 Bool_t oldstat = TH3::AddDirectoryStatus();
168 TH3::AddDirectory(
false);
170 refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
171 refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
172 refHist->GetZaxis()->GetXbins()->GetArray());
173 TH3::AddDirectory(oldstat);
181 float startY,
float endY,
bool prependDir,
bool useRMS) {
184 Bool_t oldstat = TProfile::AddDirectoryStatus();
185 TProfile::AddDirectory(
false);
186 std::string
opt = useRMS ?
"S" :
"";
187 if ((startY == -1) and (endY == -1)) {
192 TProfile::AddDirectory(oldstat);
201 Bool_t oldstat = TProfile::AddDirectoryStatus();
202 TProfile::AddDirectory(
false);
205 TProfile::AddDirectory(oldstat);
212 double startY,
double endY,
bool prependDir) {
215 Bool_t oldstat = TProfile::AddDirectoryStatus();
216 TProfile::AddDirectory(
false);
219 TProfile::AddDirectory(oldstat);
226 const double xlo,
const double xhi,
const int nBinsY,
const double ylo,
const double yhi,
227 bool prependDir,
bool useRMS) {
229 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
230 TProfile2D::AddDirectory(
false);
231 std::string
opt = useRMS ?
"S" :
"";
233 TProfile2D::AddDirectory(oldstat);
241 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
242 TProfile2D::AddDirectory(
false);
243 std::string
opt = useRMS ?
"S" :
"";
245 TProfile2D::AddDirectory(oldstat);
257 hist->SetDirectory(
nullptr);
268 hist->SetDirectory(
nullptr);
279 tree->SetAutoSave(0);
280 tree->SetAutoFlush(0);
281 tree->SetDirectory(
nullptr);