61 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
62 hist =
static_cast<const TH1*
>(&
object);
63 if (hist->GetDimension() >= 2 ){
64 throw dqm_core::BadConfig( ERS_HERE, name,
"dimension >= 2 " );
67 throw dqm_core::BadConfig( ERS_HERE, name,
"does not inherit from TH1" );
81 catch ( dqm_core::Exception & ex ) {
82 throw dqm_core::BadConfig( ERS_HERE, name, ex.what(), ex );
86 if (hist->GetEntries() < minstat ) {
87 ERS_INFO(
"Histogram does not satisfy MinStat requirement " <<hist->GetName());
88 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
89 result->tags_[
"InsufficientEntries"] = hist->GetEntries();
92 ERS_DEBUG(1,
"Statistics: "<< hist->GetEntries()<<
" entries ");
96 Double_t hit_under_th=0;
98 Double_t N = hist->GetEntries();
101 dqm_core::Result*
result =
new dqm_core::Result();
102 result->tags_[
"Empty_Histogram_found_N_Entries"] = N;
103 result->status_ = dqm_core::Result::Undefined;
111 if(i>hist->GetNbinsX()){
112 dqm_core::Result*
result =
new dqm_core::Result();
113 result->tags_[
"Config_error_maximum_bin_exceed_looking_for_bin_number"] = i;
114 result->status_ = dqm_core::Result::Undefined;
117 hit_under_th += hist->GetBinContent(i);
118 }
while(hist->GetBinCenter(i)<thresh);
120 double percent = 100 - 100*((double) hit_under_th)/((
double) N);
124 dqm_core::Result*
result =
new dqm_core::Result();
125 result->tags_[
"Entries_above_thresh(%)"] = percent;
127 if( percent >= greenTh ) {
128 result->status_ = dqm_core::Result::Green;
130 else if( percent <greenTh && percent>redTh ) {
131 result->status_ = dqm_core::Result::Yellow;
134 result->status_ = dqm_core::Result::Red;