CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
DTLinearFit Class Reference

#include <DTLinearFit.h>

Public Member Functions

 DTLinearFit ()
 Constructor. More...
 
void fit (const std::vector< float > &x, const std::vector< float > &y, int ndat, const std::vector< float > &sigy, float &slope, float &intercept, float &covss, float &covii, float &covsi) const
 
 ~DTLinearFit ()
 Destructor. More...
 

Detailed Description

Description:

detailed description

Date:
2008/12/03 12:52:22
Revision:
1.2
Author
Stefano Lacaprara - INFN Legnaro stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

Definition at line 27 of file DTLinearFit.h.

Constructor & Destructor Documentation

DTLinearFit::DTLinearFit ( )

Constructor.

Definition at line 19 of file DTLinearFit.cc.

19  {
20 
21 }
DTLinearFit::~DTLinearFit ( )

Destructor.

Definition at line 24 of file DTLinearFit.cc.

24  {
25 }

Member Function Documentation

void DTLinearFit::fit ( const std::vector< float > &  x,
const std::vector< float > &  y,
int  ndat,
const std::vector< float > &  sigy,
float &  slope,
float &  intercept,
float &  covss,
float &  covii,
float &  covsi 
) const

Definition at line 28 of file DTLinearFit.cc.

References diffTwoXMLs::g1, diffTwoXMLs::g2, and i.

Referenced by DTSegmentUpdator::fit().

37 {
38 
39  float g1 = 0, g2 = 0;
40  float s11 = 0, s12 = 0, s22 = 0;
41  for (int i = 0; i != ndat; i++) {
42  float sy2 = sigy[i] * sigy[i];
43  g1 += y[i] / sy2;
44  g2 += x[i]*y[i] / sy2;
45  s11 += 1. / sy2;
46  s12 += x[i] / sy2;
47  s22 += x[i]*x[i] / sy2;
48  }
49 
50  float d = s11*s22 - s12*s12;
51  intercept = (g1*s22 - g2*s12) / d;
52  slope = (g2*s11 - g1*s12) / d;
53 
54  covii = s22 / d;
55  covss = s11 / d;
56  covsi = -s12 / d;
57 
58 }
int i
Definition: DBlmapReader.cc:9
static const double slope[3]
x
Definition: VDTMath.h:216