46{
48
49 if (
object.
IsA()->InheritsFrom(
"TH1")) {
52 throw dqm_core::BadConfig(ERS_HERE, name, "dimension > 2 ");
53 }
54 } else {
55 throw dqm_core::BadConfig(ERS_HERE, name, "does not inherit from TH1");
56 }
58
60
61 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
64 }
65
66 dqm_core::Result *
result =
new dqm_core::Result();
67
69 ERS_DEBUG(1,
"Histogram " <<
histogram->GetName() <<
" is filled with zeroes!");
70 result->status_ = dqm_core::Result::Red;
73 }
74
75
81
82
83 float wmean = 0;
89 }
92 }
93
94
95 float maxbinsum = 0;
96 float binsum = 0;
97 float peakbin = 0;
98 float peakpos = 0;
99
102 if (binsum > maxbinsum) {
103 maxbinsum = binsum;
104 if (maxbinsum != 0) {
105 peakbin = ((
i - 1) *
histogram->GetBinContent(i - 1) + i *
histogram->GetBinContent(i) + (i + 1) *
histogram->GetBinContent(i + 1)) / maxbinsum;
107 } else {
108 peakbin = 0;
109 peakpos = 0;
110 }
111 }
112 }
113
114 result->tags_[
"Weighted_mean"] = wmean;
115 result->tags_[
"PeakBin"] = peakbin;
116 result->tags_[
"PeakPosition"] = peakpos;
117
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;
122}
#define IsA
Declare the TObject style functions.