Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v38r0 (2143aa4c)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HistoStats.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIUTILS_HISTOSTATS_H
12 #define GAUDIUTILS_HISTOSTATS_H 1
13 // ============================================================================
14 // Include files
15 // ============================================================================
16 // STD & STL
17 // ============================================================================
18 #include <utility>
19 // ============================================================================
20 // Gaudi
21 // ============================================================================
22 #include "GaudiKernel/Kernel.h"
23 // ============================================================================
24 // forward declarations
25 // ============================================================================
26 namespace AIDA {
27  class IHistogram1D;
28  class IProfile1D;
29 } // namespace AIDA
30 // ============================================================================
31 namespace Gaudi {
32  namespace Utils {
33  // ========================================================================
41  public: // 1D Histograms
42  // ======================================================================
49  static double moment( const AIDA::IHistogram1D* histo, const unsigned int order, const double value = 0 );
50  // ======================================================================
57  static double momentErr( const AIDA::IHistogram1D* histo, const unsigned int order );
58  // ======================================================================
65  static double centralMoment( const AIDA::IHistogram1D* histo, const unsigned int order );
66  // ======================================================================
75  static double centralMomentErr( const AIDA::IHistogram1D* histo, const unsigned int order );
76  // ======================================================================
78  static double skewness( const AIDA::IHistogram1D* histo );
79  // ======================================================================
81  static double skewnessErr( const AIDA::IHistogram1D* histo );
82  // ======================================================================
84  static double kurtosis( const AIDA::IHistogram1D* histo );
85  // ======================================================================
87  static double kurtosisErr( const AIDA::IHistogram1D* histo );
88  // ======================================================================
90  static double mean( const AIDA::IHistogram1D* histo );
91  // ======================================================================
93  static double meanErr( const AIDA::IHistogram1D* histo );
94  // ======================================================================
96  static double rms( const AIDA::IHistogram1D* histo );
97  // ======================================================================
99  static double rmsErr( const AIDA::IHistogram1D* histo );
100  // ======================================================================
102  static double nEff( const AIDA::IHistogram1D* histo );
103  // ======================================================================
105  static double sumBinHeightErr( const AIDA::IHistogram1D* histo );
106  // ======================================================================
108  static double sumAllBinHeightErr( const AIDA::IHistogram1D* histo );
109  // ======================================================================
111  static double overflowEntriesFrac( const AIDA::IHistogram1D* histo );
113  static double underflowEntriesFrac( const AIDA::IHistogram1D* histo );
115  static double overflowEntriesFracErr( const AIDA::IHistogram1D* histo );
117  static double underflowEntriesFracErr( const AIDA::IHistogram1D* histo );
118  // ======================================================================
120  static double overflowIntegralFrac( const AIDA::IHistogram1D* histo );
122  static double underflowIntegralFrac( const AIDA::IHistogram1D* histo );
124  static double overflowIntegralFracErr( const AIDA::IHistogram1D* histo );
126  static double underflowIntegralFracErr( const AIDA::IHistogram1D* histo );
127  // ======================================================================
135  static long nEntries( const AIDA::IHistogram1D* histo, const int imax );
143  static long nEntries( const AIDA::IHistogram1D* histo,
144  const int imin, // minimal bin number (included)
145  const int imax ); // maximal bin number (not included)
146  // ======================================================================
154  static double nEntriesFrac( const AIDA::IHistogram1D* histo, const int imax );
162  static double nEntriesFrac( const AIDA::IHistogram1D* histo, const int imin, const int imax );
163  // ======================================================================
171  static double nEntriesFracErr( const AIDA::IHistogram1D* histo, const int imax );
179  static double nEntriesFracErr( const AIDA::IHistogram1D* histo, const int imin, const int imax );
180  // ======================================================================
181  public: // 1D Profile Histograms
182  // ======================================================================
189  static double moment( const AIDA::IProfile1D* histo, const unsigned int order, const double value = 0 );
190  // ======================================================================
197  static double momentErr( const AIDA::IProfile1D* histo, const unsigned int order );
198  // ======================================================================
205  static double centralMoment( const AIDA::IProfile1D* histo, const unsigned int order );
206  // ======================================================================
215  static double centralMomentErr( const AIDA::IProfile1D* histo, const unsigned int order );
216  // ======================================================================
218  static double skewness( const AIDA::IProfile1D* histo );
219  // ======================================================================
221  static double skewnessErr( const AIDA::IProfile1D* histo );
222  // ======================================================================
224  static double kurtosis( const AIDA::IProfile1D* histo );
225  // ======================================================================
227  static double kurtosisErr( const AIDA::IProfile1D* histo );
228  // ======================================================================
230  static double mean( const AIDA::IProfile1D* histo );
231  // ======================================================================
233  static double meanErr( const AIDA::IProfile1D* histo );
234  // ======================================================================
236  static double rms( const AIDA::IProfile1D* histo );
237  // ======================================================================
239  static double rmsErr( const AIDA::IProfile1D* histo );
240  // ======================================================================
242  static double sumBinHeightErr( const AIDA::IProfile1D* histo );
243  // ======================================================================
245  static double sumAllBinHeightErr( const AIDA::IProfile1D* histo );
246  // ======================================================================
248  static double nEff( const AIDA::IProfile1D* histo );
249  // ======================================================================
251  static double overflowEntriesFrac( const AIDA::IProfile1D* histo );
253  static double underflowEntriesFrac( const AIDA::IProfile1D* histo );
255  static double overflowEntriesFracErr( const AIDA::IProfile1D* histo );
257  static double underflowEntriesFracErr( const AIDA::IProfile1D* histo );
258  // ======================================================================
260  static double overflowIntegralFrac( const AIDA::IProfile1D* histo );
262  static double underflowIntegralFrac( const AIDA::IProfile1D* histo );
264  static double overflowIntegralFracErr( const AIDA::IProfile1D* histo );
266  static double underflowIntegralFracErr( const AIDA::IProfile1D* histo );
267  // ======================================================================
275  static long nEntries( const AIDA::IProfile1D* histo, const int imax );
283  static long nEntries( const AIDA::IProfile1D* histo,
284  const int imin, // minimal bin number (included)
285  const int imax ); // maximal bin number (not included)
286  // ======================================================================
294  static double nEntriesFrac( const AIDA::IProfile1D* histo, const int imax );
302  static double nEntriesFrac( const AIDA::IProfile1D* histo, const int imin, const int imax );
303  // ======================================================================
311  static double nEntriesFracErr( const AIDA::IProfile1D* histo, const int imax );
319  static double nEntriesFracErr( const AIDA::IProfile1D* histo, const int imin, const int imax );
320  // ======================================================================
321  };
322  // ========================================================================
323  } // namespace Utils
324  // ==========================================================================
325 } // end of namespace Gaudi
326 // ============================================================================
327 // The END
328 // ============================================================================
329 #endif // GAUDIUTILS_HISTOSTATS_H
GaudiAlg.HistoUtils.underflowEntriesFrac
underflowEntriesFrac
Definition: HistoUtils.py:924
Gaudi::Utils::HistoStats
Definition: HistoStats.h:40
GaudiAlg.HistoUtils.momentErr
momentErr
Definition: HistoUtils.py:895
AIDA
GaudiKernel.
Definition: Fill.h:20
GaudiAlg.HistoUtils.overflowIntegralFracErr
overflowIntegralFracErr
Definition: HistoUtils.py:931
GaudiAlg.HistoUtils.underflowEntriesFracErr
underflowEntriesFracErr
Definition: HistoUtils.py:926
GaudiAlg.HistoUtils.moment
moment
Definition: HistoUtils.py:893
GaudiAlg.HistoUtils.nEntriesFrac
nEntriesFrac
Definition: HistoUtils.py:940
GaudiAlg.HistoUtils.kurtosis
kurtosis
Definition: HistoUtils.py:915
GaudiAlg.HistoUtils.overflowEntriesFracErr
overflowEntriesFracErr
Definition: HistoUtils.py:922
GaudiAlg.HistoUtils.centralMoment
centralMoment
Definition: HistoUtils.py:897
GaudiAlg.HistoUtils.underflowIntegralFracErr
underflowIntegralFracErr
Definition: HistoUtils.py:935
GaudiAlg.HistoUtils.overflowIntegralFrac
overflowIntegralFrac
Definition: HistoUtils.py:929
GaudiAlg.HistoUtils.underflowIntegralFrac
underflowIntegralFrac
Definition: HistoUtils.py:933
GaudiAlg.HistoUtils.nEntries
nEntries
Definition: HistoUtils.py:938
GaudiAlg.HistoUtils.rms
rms
Definition: HistoUtils.py:907
GaudiAlg.HistoUtils.meanErr
meanErr
Definition: HistoUtils.py:905
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
GaudiAlg.HistoUtils.rmsErr
rmsErr
Definition: HistoUtils.py:909
GaudiAlg.HistoUtils.nEff
nEff
Definition: HistoUtils.py:901
Kernel.h
GaudiAlg.HistoUtils.kurtosisErr
kurtosisErr
Definition: HistoUtils.py:917
GaudiAlg.HistoUtils.skewness
skewness
Definition: HistoUtils.py:911
GaudiAlg.HistoUtils.mean
mean
Definition: HistoUtils.py:903
GaudiAlg.HistoUtils.overflowEntriesFrac
overflowEntriesFrac
Definition: HistoUtils.py:920
GaudiAlg.HistoUtils.centralMomentErr
centralMomentErr
Definition: HistoUtils.py:899
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
GaudiAlg.HistoUtils.nEntriesFracErr
nEntriesFracErr
Definition: HistoUtils.py:942
GaudiAlg.HistoUtils.skewnessErr
skewnessErr
Definition: HistoUtils.py:913