9 #include <dqm_core/AlgorithmConfig.h>
18 #include <dqm_core/AlgorithmManager.h>
44 const TObject &
object,
45 const dqm_core::AlgorithmConfig &
config )
49 if(
object.
IsA()->InheritsFrom(
"TH1" ) ) {
52 throw dqm_core::BadConfig( ERS_HERE,
name,
"does not inherit from TH1" );
57 if (
histogram->GetEffectiveEntries() < minstat ) {
59 result->tags_[
"InsufficientEffectiveEntries"] =
histogram->GetEffectiveEntries();
72 catch ( dqm_core::Exception & ex ) {
73 throw dqm_core::BadConfig( ERS_HERE,
name, ex.what(), ex );
75 ERS_DEBUG(1,
"Axis for kurtosis calculation:"<<
axis);
81 ERS_DEBUG(1,
"Kurtosis = "<<kurtosis<<
" +- "<<kurtosis_e);
82 result->tags_[
"Kurtosis"] = kurtosis;
83 result->tags_[
"ApproxStandardError"]=kurtosis_e;
85 if ( CompareKurtosisTest( m_name , kurtosis ,gthreshold) ) {
87 }
else if ( CompareKurtosisTest( m_name, kurtosis, rthreshold) ) {
88 result->status_ = dqm_core::Result::Yellow;
111 out<<
"KurtosisTest_"+m_name+
" : Checks if the Excess Kurtosis of the distribution is "+m_name+
" threshold value\n"<<std::endl;
113 out<<
"Mandatory Green/Red Threshold: K: Value of Kurtosis"<<std::endl;
115 out<<
"Optional Parameter: MinStat: Minimum histogram statistics needed to perform Algorithm"<<std::endl;
116 out<<
"Optional Parameter: Axis: Axis along which compute Kurtosis: 1=X, 2=Y, 3=Z"<<std::endl;