1 #define __STDC_FORMAT_MACROS 1
19 <<
"' cannot be invoked on monitor"
21 <<
name <<
"' because it is not a ROOT object.";
23 auto *
h = static_cast<TH1 *>(tobj);
24 int ndim =
h->GetDimension();
25 if (reqdim < 0 || reqdim > ndim)
27 <<
"' cannot be invoked on monitor"
29 <<
name <<
"' because it requires " << reqdim
30 <<
" dimensions; this"
32 <<
typeid(*h).name() <<
"' has " << ndim <<
" dimensions";
162 THashList *l1 = (const_cast<TAxis *>(a1))->GetLabels();
163 THashList *l2 = (const_cast<TAxis *>(
a2))->GetLabels();
171 if (l1->GetSize() != l2->GetSize()) {
174 for (
int i = 1;
i <= a1->GetNbins(); ++
i) {
175 TString
label1 = a1->GetBinLabel(
i);
264 int index = entries + 1;
268 if (entries >=
nbins) {
270 xlow = entries -
nbins + 3;
277 double N = entries -
nbins + 1.;
278 if (ye == 0. || y1err == 0. || y2err == 0.) {
280 double sum =
N *
y1 +
y2;
283 double s = (
N + 1.) * (
N *
y1 *
y1 +
y2 *
y2) - sum * sum;
285 y1err =
sqrt(
s) / (
N + 1.);
290 double denom = (1. / y1err + 1. / y2err);
311 sprintf(
buffer,
"%d", xlow * xscale);
314 sprintf(
buffer,
"%d", xup * xscale);
426 size_t len = sprintf(
buf,
"t=%" PRIu32,
data_.
tag);
460 size_t buflen = sprintf(
buf,
"qr=st:%d:%.*g:", qv.
code, DBL_DIG + 2, qv.
qtresult);
484 const_cast<MonitorElement *>(
this)->getQReport(
false, qtname, qr, qv);
488 template <
typename FILTER>
491 std::vector<MonitorElementData::QReport *>
result;
496 result.push_back(const_cast<MonitorElementData::QReport *>(&qr));
524 <<
"' cannot be invoked on monitor"
532 <<
"' cannot be invoked on monitor"
534 <<
data_.
objname <<
"' because it is not a root object";
540 <<
"' cannot be invoked on monitor"
542 <<
data_.
objname <<
"' because it is not a root object";
637 return static_cast<TProfile2D const *>(
accessRootObject(
access, __PRETTY_FUNCTION__, 1))->GetBin(binx, biny);
663 return static_cast<TProfile2D const *>(
accessRootObject(
access, __PRETTY_FUNCTION__, 1))->GetBinEntries(globBin);
679 return getAxis(
access, __PRETTY_FUNCTION__, axis)->GetTitle();
747 num->incompatible(__PRETTY_FUNCTION__);
749 denom->incompatible(__PRETTY_FUNCTION__);
751 TH1
const *numH = static_cast<TH1 const *>(
num->getRootObject());
752 TH1
const *denomH = static_cast<TH1 const *>(
denom->getRootObject());
757 std::array<const MonitorElement *, 3>
order{{
this,
num,
denom}};
758 std::sort(
order.begin(),
order.end(), [](
auto const *lhs,
auto const *rhs) {
759 return lhs->mutable_->data_.value_.object_.get() < rhs->mutable_->data_.value_.object_.get();
763 auto a1 =
order[1]->access();
767 thisH->Divide(numH, denomH,
c1, c2,
options);
788 <<
"setBinLabel: attempting to set label of non-existent bin number for ME: "
834 throw cms::Exception(
"MonitorElementError") <<
"No such axis " << axis
835 <<
" in monitor element"
837 <<
data_.
objname <<
"' of type '" <<
typeid(*h).name() <<
"'";
844 TAxis
const *
a =
nullptr;
853 throw cms::Exception(
"MonitorElementError") <<
"No such axis " << axis
854 <<
" in monitor element"
856 <<
data_.
objname <<
"' of type '" <<
typeid(*h).name() <<
"'";
894 return getAxis(
access, __PRETTY_FUNCTION__, axis)->GetXmin();
899 return getAxis(
access, __PRETTY_FUNCTION__, axis)->GetXmax();
952 q.message =
"NO_MESSAGE_ASSIGNED";
953 q.algorithm =
"UNKNOWN_ALGORITHM";
959 qv = &(qr->getValue());