49 if (
object.
IsA()->InheritsFrom(
"TH1")) {
52 throw dqm_core::BadConfig(ERS_HERE, name,
"dimension > 2 ");
55 throw dqm_core::BadConfig(ERS_HERE, name,
"does not inherit from TH1");
61 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
66 dqm_core::Result *
result =
new dqm_core::Result();
69 ERS_DEBUG(1,
"Histogram " <<
histogram->GetName() <<
" is filled with zeroes!");
70 result->status_ = dqm_core::Result::Red;
79 const int xmin = range[0];
80 const int xmax = range[1];
100 for (
int i =
xmin + 1; i <=
xmax - 1; i++) {
102 if (binsum > maxbinsum) {
104 if (maxbinsum != 0) {
105 peakbin = ((i - 1) *
histogram->GetBinContent(i - 1) + i *
histogram->GetBinContent(i) + (i + 1) *
histogram->GetBinContent(i + 1)) / maxbinsum;
114 result->tags_[
"Weighted_mean"] = wmean;
115 result->tags_[
"PeakBin"] = peakbin;
116 result->tags_[
"PeakPosition"] = peakpos;
118 if (peakpos >= gthreshold)
result->status_ = dqm_core::Result::Green;
119 else if (peakpos > rthreshold)
result->status_ = dqm_core::Result::Yellow;
120 else result->status_ = dqm_core::Result::Red;