21 xAxis(std::make_pair(std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN())),
22 yAxis(std::make_pair(std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN())),
23 zAxis(std::make_pair(std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN())),
37 name(thename), histoType(thehistoType),
title(thetitle),
38 nBinsX(nbinsX), nBinsY(0), nBinsZ(0),
40 yAxis(std::numeric_limits<
float>::quiet_NaN(), std::numeric_limits<
float>::quiet_NaN()),
41 zAxis(std::numeric_limits<
float>::quiet_NaN(), std::numeric_limits<
float>::quiet_NaN()),
42 xTitle(xName), yTitle(yName), zTitle(
""),
43 folder(thefolder), m_empty(false) {
52 name(thename), histoType(thehistoType),
title(thetitle),
53 nBinsX(nbinsX), nBinsY(nbinsY), nBinsZ(0),
56 zAxis(std::numeric_limits<
float>::quiet_NaN(), std::numeric_limits<
float>::quiet_NaN()),
57 xTitle(xName), yTitle(yName), zTitle(
""),
58 folder(thefolder), m_empty(false) {
68 name(thename), histoType(thehistoType),
title(thetitle),
69 nBinsX(nbinsX), nBinsY(nbinsY), nBinsZ(nbinsZ),
73 xTitle(xName), yTitle(yName), zTitle(zName),
74 folder(thefolder), m_empty(false) {
87 const std::string
s(
" ");
98 const std::string signature((
histoType.substr(0, 3)));
100 return((signature ==
"TH1")or(signature ==
"TH2")or(signature ==
"TH3")or(signature ==
"TPr") or(signature ==
"TEf"));
111 const bool sensibleXBins = (
nBinsX != 0);
112 const bool sensibleYBins = (
nBinsY != 0);
113 const bool sensibleZBins = (
nBinsZ != 0);
114 const bool sensibleTitles = not (
title.empty() or
xTitle.empty());
115 sane = (sensibleLimits and sensibleXBins and sensibleTitles);
117 sane = (sane and sensibleYBins);
120 sane = (sane and sensibleYBins and sensibleZBins);
132 const std::string
s(
";");
139 if (thisfolder.empty()) {
143 std::string
result(thisfolder);
144 if ((thisfolder.substr(0, 1)) ==
delimiter) {
145 result = thisfolder.substr(1, thisfolder.size() - 2);
147 size_t lastChar(
result.size() - 1);