CMS 3D CMS Logo

Functions
simple_stat.h File Reference
#include <algorithm>
#include <numeric>
#include <cmath>

Go to the source code of this file.

Functions

template<class CONT >
double stat_mean (const CONT &cont)
 
template<class CONT >
double stat_RMS (const CONT &cont)
 

Function Documentation

template<class CONT >
double stat_mean ( const CONT &  cont)

A trivial class computing the mean value of objects in any STL container.

Definition at line 13 of file simple_stat.h.

Referenced by TIBRing::checkPeriodicity().

13  {
14  double sum = accumulate (cont.begin(), cont.end(), 0.);
15  return sum / cont.size();
16 }
template<class CONT >
double stat_RMS ( const CONT &  cont)

A simple class computing the R.M.S. of objects in any STL container.

Definition at line 24 of file simple_stat.h.

References mps_fire::i, SiStripPI::max, N, mathSSE::sqrt(), and combinedConstraintHelpers::sum2().

Referenced by PhiBorderFinder::PhiBorderFinder(), and RBorderFinder::RBorderFinder().

24  {
25 
26  typename CONT::const_iterator i;
27 
28  int N = cont.size();
29  if (N > 1) {
30  double sum=0., sum2=0.;
31  for (i=cont.begin(); i!=cont.end(); i++) {
32  sum += *i;
33  sum2 += (*i) * (*i);
34  }
35  return sqrt( std::max( 0., (sum2 - sum*sum/N) / (N-1))) ;
36  }
37  else return 0.;
38 }
T sqrt(T t)
Definition: SSEVec.h:18
#define N
Definition: blowfish.cc:9