00001 // $Id: HistoStats.h,v 1.3 2007/09/19 08:16:59 marcocle Exp $ 00002 // ============================================================================ 00003 #ifndef GAUDIUTILS_HISTOSTATS_H 00004 #define GAUDIUTILS_HISTOSTATS_H 1 00005 // ============================================================================ 00006 // Include files 00007 // ============================================================================ 00008 // STD & STL 00009 // ============================================================================ 00010 #include <utility> 00011 // ============================================================================ 00012 // forward declarations 00013 // ============================================================================ 00014 namespace AIDA { class IHistogram1D ; } 00015 // ============================================================================ 00016 namespace Gaudi 00017 { 00018 namespace Utils 00019 { 00020 // ======================================================================== 00027 class HistoStats 00028 { 00029 public : 00030 // ====================================================================== 00037 static double moment 00038 ( const AIDA::IHistogram1D* histo , 00039 const unsigned int order , 00040 const double value = 0 ) ; 00041 // ====================================================================== 00048 static double momentErr 00049 ( const AIDA::IHistogram1D* histo , 00050 const unsigned int order ) ; 00051 // ====================================================================== 00058 static double centralMoment 00059 ( const AIDA::IHistogram1D* histo , 00060 const unsigned int order ) ; 00061 // ====================================================================== 00070 static double centralMomentErr 00071 ( const AIDA::IHistogram1D* histo , 00072 const unsigned int order ) ; 00073 // ====================================================================== 00075 static double skewness 00076 ( const AIDA::IHistogram1D* histo ) ; 00077 // ====================================================================== 00079 static double skewnessErr 00080 ( const AIDA::IHistogram1D* histo ) ; 00081 // ====================================================================== 00083 static double kurtosis 00084 ( const AIDA::IHistogram1D* histo ) ; 00085 // ====================================================================== 00087 static double kurtosisErr 00088 ( const AIDA::IHistogram1D* histo ) ; 00089 // ====================================================================== 00091 static double mean 00092 ( const AIDA::IHistogram1D* histo ) ; 00093 // ====================================================================== 00095 static double meanErr 00096 ( const AIDA::IHistogram1D* histo ) ; 00097 // ====================================================================== 00099 static double rms 00100 ( const AIDA::IHistogram1D* histo ) ; 00101 // ====================================================================== 00103 static double rmsErr 00104 ( const AIDA::IHistogram1D* histo ) ; 00105 // ====================================================================== 00107 static double nEff 00108 ( const AIDA::IHistogram1D* histo ) ; 00109 } ; 00110 // ======================================================================== 00111 } // end of namespace Gaudi::Utils 00112 // ========================================================================== 00113 } // end of namespace Gaudi 00114 // ============================================================================ 00115 // The END 00116 // ============================================================================ 00117 #endif // GAUDIUTILS_HISTOSTATS_H 00118 // ============================================================================