46{
48
49 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
51 } else {
52 throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TH1" );
53 }
54
56
57 if (
histogram->GetEffectiveEntries() < minstat ) {
58 dqm_core::Result *
result =
new dqm_core::Result(dqm_core::Result::Undefined);
59 result->tags_[
"InsufficientEffectiveEntries"] =
histogram->GetEffectiveEntries();
61 }
62
63 double gthreshold;
64 double rthreshold;
65
67
68 try {
71 }
72 catch ( dqm_core::Exception & ex ) {
73 throw dqm_core::BadConfig( ERS_HERE, name, ex.what(), ex );
74 }
75 ERS_DEBUG(1,"Axis for kurtosis calculation:"<<axis);
76
77 Double_t kurtosis =
histogram->GetKurtosis( axis );
78 Double_t kurtosis_e =
histogram->GetKurtosis( axis + 10 );
79
80 dqm_core::Result*
result =
new dqm_core::Result();
81 ERS_DEBUG(1,"Kurtosis = "<<kurtosis<<" +- "<<kurtosis_e);
82 result->tags_[
"Kurtosis"] = kurtosis;
83 result->tags_[
"ApproxStandardError"]=kurtosis_e;
84
86 result->status_ = dqm_core::Result::Green;
88 result->status_ = dqm_core::Result::Yellow;
89 } else {
90 result->status_ = dqm_core::Result::Red;
91 }
92
94
95}
bool CompareKurtosisTest(const std::string &type, double value, double threshold)
#define IsA
Declare the TObject style functions.