CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
Covariance Class Reference

#include <Histograms.h>

Public Member Functions

 Covariance ()
 
double covariance ()
 
void fill (const double &x, const double &y)
 
double getN ()
 

Protected Attributes

int N_
 
double productXY_
 
double sumX_
 
double sumY_
 

Detailed Description

This class can be used to compute the covariance between two input variables. The Fill method needs the two input variables. In the end the covariance method computes the covariance as: cov(x,y) = Sum_i(x_i*y_i)/N - x_mean*y_mean. Of course passing the same variable for x and y gives the variance of that variable.

Definition at line 1877 of file Histograms.h.

Constructor & Destructor Documentation

◆ Covariance()

Covariance::Covariance ( )
inline

Definition at line 1879 of file Histograms.h.

1879 : productXY_(0), sumX_(0), sumY_(0), N_(0) {}
double productXY_
Definition: Histograms.h:1898
double sumY_
Definition: Histograms.h:1900
double sumX_
Definition: Histograms.h:1899

Member Function Documentation

◆ covariance()

double Covariance::covariance ( void  )
inline

Definition at line 1886 of file Histograms.h.

References N_, productXY_, sumX_, and sumY_.

Referenced by HCovarianceVSxy::Write().

1886  {
1887  if (N_ != 0) {
1888  double meanX = sumX_ / N_;
1889  double meanY = sumY_ / N_;
1890  // std::cout << "meanX*meanY = "<<meanX<<"*"<<meanY<< " = " << meanX*meanY << std::endl;
1891  return (productXY_ / N_ - meanX * meanY);
1892  }
1893  return 0.;
1894  }
double productXY_
Definition: Histograms.h:1898
double sumY_
Definition: Histograms.h:1900
double sumX_
Definition: Histograms.h:1899

◆ fill()

void Covariance::fill ( const double &  x,
const double &  y 
)
inline

Definition at line 1880 of file Histograms.h.

References N_, productXY_, sumX_, sumY_, x, and y.

Referenced by HCovarianceVSxy::Fill().

1880  {
1881  productXY_ += x * y;
1882  sumX_ += x;
1883  sumY_ += y;
1884  ++N_;
1885  }
double productXY_
Definition: Histograms.h:1898
double sumY_
Definition: Histograms.h:1900
double sumX_
Definition: Histograms.h:1899

◆ getN()

double Covariance::getN ( )
inline

Definition at line 1895 of file Histograms.h.

References N_.

1895 { return N_; }

Member Data Documentation

◆ N_

int Covariance::N_
protected

Definition at line 1901 of file Histograms.h.

Referenced by covariance(), fill(), and getN().

◆ productXY_

double Covariance::productXY_
protected

Definition at line 1898 of file Histograms.h.

Referenced by covariance(), and fill().

◆ sumX_

double Covariance::sumX_
protected

Definition at line 1899 of file Histograms.h.

Referenced by covariance(), and fill().

◆ sumY_

double Covariance::sumY_
protected

Definition at line 1900 of file Histograms.h.

Referenced by covariance(), and fill().