Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HistoStats.h
Go to the documentation of this file.
1 #ifndef GAUDIUTILS_HISTOSTATS_H
2 #define GAUDIUTILS_HISTOSTATS_H 1
3 // ============================================================================
4 // Include files
5 // ============================================================================
6 // STD & STL
7 // ============================================================================
8 #include <utility>
9 // ============================================================================
10 // Gaudi
11 // ============================================================================
12 #include "GaudiKernel/Kernel.h"
13 // ============================================================================
14 // forward declarations
15 // ============================================================================
16 namespace AIDA {
17  class IHistogram1D;
18  class IProfile1D;
19 } // namespace AIDA
20 // ============================================================================
21 namespace Gaudi {
22  namespace Utils {
23  // ========================================================================
31  public: // 1D Histograms
32  // ======================================================================
39  static double moment( const AIDA::IHistogram1D* histo, const unsigned int order, const double value = 0 );
40  // ======================================================================
47  static double momentErr( const AIDA::IHistogram1D* histo, const unsigned int order );
48  // ======================================================================
55  static double centralMoment( const AIDA::IHistogram1D* histo, const unsigned int order );
56  // ======================================================================
65  static double centralMomentErr( const AIDA::IHistogram1D* histo, const unsigned int order );
66  // ======================================================================
68  static double skewness( const AIDA::IHistogram1D* histo );
69  // ======================================================================
71  static double skewnessErr( const AIDA::IHistogram1D* histo );
72  // ======================================================================
74  static double kurtosis( const AIDA::IHistogram1D* histo );
75  // ======================================================================
77  static double kurtosisErr( const AIDA::IHistogram1D* histo );
78  // ======================================================================
80  static double mean( const AIDA::IHistogram1D* histo );
81  // ======================================================================
83  static double meanErr( const AIDA::IHistogram1D* histo );
84  // ======================================================================
86  static double rms( const AIDA::IHistogram1D* histo );
87  // ======================================================================
89  static double rmsErr( const AIDA::IHistogram1D* histo );
90  // ======================================================================
92  static double nEff( const AIDA::IHistogram1D* histo );
93  // ======================================================================
95  static double sumBinHeightErr( const AIDA::IHistogram1D* histo );
96  // ======================================================================
98  static double sumAllBinHeightErr( const AIDA::IHistogram1D* histo );
99  // ======================================================================
101  static double overflowEntriesFrac( const AIDA::IHistogram1D* histo );
103  static double underflowEntriesFrac( const AIDA::IHistogram1D* histo );
105  static double overflowEntriesFracErr( const AIDA::IHistogram1D* histo );
107  static double underflowEntriesFracErr( const AIDA::IHistogram1D* histo );
108  // ======================================================================
110  static double overflowIntegralFrac( const AIDA::IHistogram1D* histo );
112  static double underflowIntegralFrac( const AIDA::IHistogram1D* histo );
114  static double overflowIntegralFracErr( const AIDA::IHistogram1D* histo );
116  static double underflowIntegralFracErr( const AIDA::IHistogram1D* histo );
117  // ======================================================================
125  static long nEntries( const AIDA::IHistogram1D* histo, const int imax );
133  static long nEntries( const AIDA::IHistogram1D* histo,
134  const int imin, // minimal bin number (included)
135  const int imax ); // maximal bin number (not included)
136  // ======================================================================
144  static double nEntriesFrac( const AIDA::IHistogram1D* histo, const int imax );
152  static double nEntriesFrac( const AIDA::IHistogram1D* histo, const int imin, const int imax );
153  // ======================================================================
161  static double nEntriesFracErr( const AIDA::IHistogram1D* histo, const int imax );
169  static double nEntriesFracErr( const AIDA::IHistogram1D* histo, const int imin, const int imax );
170  // ======================================================================
171  public: // 1D Profile Histograms
172  // ======================================================================
179  static double moment( const AIDA::IProfile1D* histo, const unsigned int order, const double value = 0 );
180  // ======================================================================
187  static double momentErr( const AIDA::IProfile1D* histo, const unsigned int order );
188  // ======================================================================
195  static double centralMoment( const AIDA::IProfile1D* histo, const unsigned int order );
196  // ======================================================================
205  static double centralMomentErr( const AIDA::IProfile1D* histo, const unsigned int order );
206  // ======================================================================
208  static double skewness( const AIDA::IProfile1D* histo );
209  // ======================================================================
211  static double skewnessErr( const AIDA::IProfile1D* histo );
212  // ======================================================================
214  static double kurtosis( const AIDA::IProfile1D* histo );
215  // ======================================================================
217  static double kurtosisErr( const AIDA::IProfile1D* histo );
218  // ======================================================================
220  static double mean( const AIDA::IProfile1D* histo );
221  // ======================================================================
223  static double meanErr( const AIDA::IProfile1D* histo );
224  // ======================================================================
226  static double rms( const AIDA::IProfile1D* histo );
227  // ======================================================================
229  static double rmsErr( const AIDA::IProfile1D* histo );
230  // ======================================================================
232  static double sumBinHeightErr( const AIDA::IProfile1D* histo );
233  // ======================================================================
235  static double sumAllBinHeightErr( const AIDA::IProfile1D* histo );
236  // ======================================================================
238  static double nEff( const AIDA::IProfile1D* histo );
239  // ======================================================================
241  static double overflowEntriesFrac( const AIDA::IProfile1D* histo );
243  static double underflowEntriesFrac( const AIDA::IProfile1D* histo );
245  static double overflowEntriesFracErr( const AIDA::IProfile1D* histo );
247  static double underflowEntriesFracErr( const AIDA::IProfile1D* histo );
248  // ======================================================================
250  static double overflowIntegralFrac( const AIDA::IProfile1D* histo );
252  static double underflowIntegralFrac( const AIDA::IProfile1D* histo );
254  static double overflowIntegralFracErr( const AIDA::IProfile1D* histo );
256  static double underflowIntegralFracErr( const AIDA::IProfile1D* histo );
257  // ======================================================================
265  static long nEntries( const AIDA::IProfile1D* histo, const int imax );
273  static long nEntries( const AIDA::IProfile1D* histo,
274  const int imin, // minimal bin number (included)
275  const int imax ); // maximal bin number (not included)
276  // ======================================================================
284  static double nEntriesFrac( const AIDA::IProfile1D* histo, const int imax );
292  static double nEntriesFrac( const AIDA::IProfile1D* histo, const int imin, const int imax );
293  // ======================================================================
301  static double nEntriesFracErr( const AIDA::IProfile1D* histo, const int imax );
309  static double nEntriesFracErr( const AIDA::IProfile1D* histo, const int imin, const int imax );
310  // ======================================================================
311  };
312  // ========================================================================
313  } // namespace Utils
314  // ==========================================================================
315 } // end of namespace Gaudi
316 // ============================================================================
317 // The END
318 // ============================================================================
319 #endif // GAUDIUTILS_HISTOSTATS_H
GaudiKernel.
Definition: Fill.h:10
The collection of trivial functions to access the statistical information for the histograms...
Definition: HistoStats.h:30
#define GAUDI_API
Definition: Kernel.h:71
Helper functions to set/get the application return code.
Definition: __init__.py:1