ATLAS Offline Software
Loading...
Searching...
No Matches
RunningStat Class Reference

#include <TileLaserDefaultCalibTool.h>

Collaboration diagram for RunningStat:

Public Member Functions

 RunningStat ()
void Clear ()
void Push (double x)
int NumDataValues () const
double Mean () const
double Variance () const
double StandardDeviation () const
int EventsPerSlice ()
double Mean (unsigned int iSlice)
double Variance (unsigned int iSlice)
int GetNSlices ()

Private Attributes

int m_n
double m_oldM
double m_newM
double m_oldS
double m_newS
int m_nTotEntries
int m_n_slice
double m_oldM_slice
double m_newM_slice
double m_oldS_slice
double m_newS_slice
int m_eventsPerSlice
std::vector< double > m_vectMean
std::vector< double > m_vectVar

Detailed Description

Definition at line 232 of file TileLaserDefaultCalibTool.h.

Constructor & Destructor Documentation

◆ RunningStat()

Member Function Documentation

◆ Clear()

void RunningStat::Clear ( )
inline

Definition at line 239 of file TileLaserDefaultCalibTool.h.

239 {
240 m_n = 0;
241 }

◆ EventsPerSlice()

int RunningStat::EventsPerSlice ( )
inline

Definition at line 283 of file TileLaserDefaultCalibTool.h.

283{ return m_eventsPerSlice;}

◆ GetNSlices()

int RunningStat::GetNSlices ( )
inline

Definition at line 295 of file TileLaserDefaultCalibTool.h.

295 {
296 return m_vectVar.size();
297 }
std::vector< double > m_vectVar

◆ Mean() [1/2]

double RunningStat::Mean ( ) const
inline

Definition at line 280 of file TileLaserDefaultCalibTool.h.

280{ return (m_n > 0) ? m_newM : 0.0; }

◆ Mean() [2/2]

double RunningStat::Mean ( unsigned int iSlice)
inline

Definition at line 285 of file TileLaserDefaultCalibTool.h.

285 {
286 if ( iSlice<m_vectMean.size() ) return m_vectMean[iSlice];
287 return 0;
288 }
std::vector< double > m_vectMean

◆ NumDataValues()

int RunningStat::NumDataValues ( ) const
inline

Definition at line 279 of file TileLaserDefaultCalibTool.h.

279{ return m_nTotEntries;}

◆ Push()

void RunningStat::Push ( double x)
inline

Definition at line 244 of file TileLaserDefaultCalibTool.h.

244 {
245 m_n++;
246 m_n_slice++;
248
249 if (m_n == 1) {
250 m_oldM = m_newM = x;
251 m_oldS = 0.0;
252 } else {
253 m_newM = m_oldM + (x - m_oldM)/m_n;
254 m_newS = m_oldS + (x - m_oldM)*(x - m_newM);
255
256 // set up for next iteration
257 m_oldM = m_newM;
258 m_oldS = m_newS;
259 }
260
261 //--- for slicing
262 if (m_n_slice == 1) {
264 m_oldS_slice = 0.0;
265 } else {
270 }
271
273 m_vectMean.push_back( (m_n_slice > 0) ? m_newM_slice : 0.0 );
274 m_vectVar.push_back( (m_n_slice > 1) ? m_newS_slice/(m_n_slice - 1) : 0.0 );
275 m_n_slice=0;
276 }
277 }
#define x

◆ StandardDeviation()

double RunningStat::StandardDeviation ( ) const
inline

Definition at line 282 of file TileLaserDefaultCalibTool.h.

282{ return sqrt( Variance() ); }

◆ Variance() [1/2]

double RunningStat::Variance ( ) const
inline

Definition at line 281 of file TileLaserDefaultCalibTool.h.

281{ return ( (m_n > 1) ? m_newS/(m_n - 1) : 0.0 ); }

◆ Variance() [2/2]

double RunningStat::Variance ( unsigned int iSlice)
inline

Definition at line 290 of file TileLaserDefaultCalibTool.h.

290 {
291 if (iSlice<m_vectVar.size()) return m_vectVar[iSlice];
292 return 0;
293 }

Member Data Documentation

◆ m_eventsPerSlice

int RunningStat::m_eventsPerSlice
private

Definition at line 306 of file TileLaserDefaultCalibTool.h.

◆ m_n

int RunningStat::m_n
private

Definition at line 301 of file TileLaserDefaultCalibTool.h.

◆ m_n_slice

int RunningStat::m_n_slice
private

Definition at line 304 of file TileLaserDefaultCalibTool.h.

◆ m_newM

double RunningStat::m_newM
private

Definition at line 302 of file TileLaserDefaultCalibTool.h.

◆ m_newM_slice

double RunningStat::m_newM_slice
private

Definition at line 305 of file TileLaserDefaultCalibTool.h.

◆ m_newS

double RunningStat::m_newS
private

Definition at line 302 of file TileLaserDefaultCalibTool.h.

◆ m_newS_slice

double RunningStat::m_newS_slice
private

Definition at line 305 of file TileLaserDefaultCalibTool.h.

◆ m_nTotEntries

int RunningStat::m_nTotEntries
private

Definition at line 303 of file TileLaserDefaultCalibTool.h.

◆ m_oldM

double RunningStat::m_oldM
private

Definition at line 302 of file TileLaserDefaultCalibTool.h.

◆ m_oldM_slice

double RunningStat::m_oldM_slice
private

Definition at line 305 of file TileLaserDefaultCalibTool.h.

◆ m_oldS

double RunningStat::m_oldS
private

Definition at line 302 of file TileLaserDefaultCalibTool.h.

◆ m_oldS_slice

double RunningStat::m_oldS_slice
private

Definition at line 305 of file TileLaserDefaultCalibTool.h.

◆ m_vectMean

std::vector<double> RunningStat::m_vectMean
private

Definition at line 307 of file TileLaserDefaultCalibTool.h.

◆ m_vectVar

std::vector<double> RunningStat::m_vectVar
private

Definition at line 307 of file TileLaserDefaultCalibTool.h.


The documentation for this class was generated from the following file: