39{
41
42 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
45 throw dqm_core::BadConfig( ERS_HERE, name, "dimension > 2 " );
46 }
47 } else {
48 throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TH1" );
49 }
50
51
52 double gthresho;
53 double rthresho;
54 int xbin_num;
55 int xbin_denom;
56 try {
59 }
60 catch ( dqm_core::Exception & ex ) {
61 throw dqm_core::BadConfig( ERS_HERE, name, ex.what(), ex );
62 }
63
64 try {
67 }
68 catch ( dqm_core::Exception & ex ) {
69 throw dqm_core::BadConfig(ERS_HERE,name,"Parameter: 'Threshold' is mandatory, cannot continue");
70
71 }
72
74
76
78 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
81 }
82
83
84 double hdenom =
histogram->GetBinContent(xbin_denom);
85
86 if ( minrefentries > 0 && hdenom < minrefentries) {
87 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
88 result->tags_[
"InsufficientRefEntries"] = hdenom;
90 }
91
92
93 double hnum =
histogram -> GetBinContent(xbin_num);
94
95 double value = hnum/hdenom;
96
97 dqm_core::Result*
result =
new dqm_core::Result();
99
100if (rthresho < gthresho){
101 if ( value >= gthresho ) {
102 result->status_ = dqm_core::Result::Green;
103 } else if ( value < rthresho ) {
104 result->status_ = dqm_core::Result::Red;
105 } else {
106 result->status_ = dqm_core::Result::Yellow;
107 }
108} else {
109 if ( value <= gthresho ) {
110 result->status_ = dqm_core::Result::Green;
111 } else if ( value > rthresho ) {
112 result->status_ = dqm_core::Result::Red;
113 } else {
114 result->status_ = dqm_core::Result::Yellow;
115 }
116}
117
119}
#define IsA
Declare the TObject style functions.