#include <DTSurveyChamber.h>
Public Member Functions | |
void | addPoint (int, const TMatrixD &, const TMatrixD &, const TMatrixD &) |
void | compute () |
DTSurveyChamber (int, int, int, long) | |
float | getAlpha () const |
float | getAlphaError () const |
float | getBeta () const |
float | getBetaError () const |
float | getDeltaX () const |
float | getDeltaXError () const |
float | getDeltaY () const |
float | getDeltaYError () const |
float | getDeltaZ () const |
float | getDeltaZError () const |
float | getGamma () const |
float | getGammaError () const |
long | getId () const |
int | getNumberPoints () const |
void | printChamberInfo () |
Private Member Functions | |
TMatrixD & | makeErrors () |
TMatrixD & | makeMatrix () |
TMatrixD & | makeVector () |
Private Attributes | |
TMatrixD | Covariance |
int | id |
int | pointNumber |
std::vector< TMatrixD > | points |
std::vector< TMatrixD > | pointsDiff |
std::vector< TMatrixD > | pointsError |
std::vector< TMatrixD > | pointsTheoretical |
long | rawId |
int | sector |
TMatrixD | Solution |
int | station |
int | wheel |
Implements a chamber in the context of Drift Tube Survey Measurements and calculates displacements and rotations for it.
Definition at line 20 of file DTSurveyChamber.h.
DTSurveyChamber::DTSurveyChamber | ( | int | m_wheel, |
int | m_station, | ||
int | m_sector, | ||
long | m_rawId | ||
) |
Definition at line 7 of file DTSurveyChamber.cc.
References pointNumber, rawId, sector, station, and wheel.
{ //Coordinates of the chamber wheel = m_wheel; station = m_station; sector = m_sector; pointNumber = 0; rawId = m_rawId; }
void DTSurveyChamber::addPoint | ( | int | code, |
const TMatrixD & | r, | ||
const TMatrixD & | disp, | ||
const TMatrixD & | err | ||
) |
Definition at line 35 of file DTSurveyChamber.cc.
References pointNumber, points, pointsDiff, pointsError, and pointsTheoretical.
Referenced by DTSurvey::ReadChambers().
{ ++pointNumber; points.push_back(r); pointsDiff.push_back(disp); pointsError.push_back(err); pointsTheoretical.push_back(r-disp); }
void DTSurveyChamber::compute | ( | ) |
Definition at line 19 of file DTSurveyChamber.cc.
References benchmark_cfg::errors, Chi2::getCovariance(), Chi2::getSolution(), makeErrors(), makeMatrix(), makeVector(), and Solution.
Referenced by DTSurvey::CalculateChambers().
{ TMatrixD leftMatrix = makeMatrix(); TMatrixD rightMatrix = makeVector(); TMatrixD errors = makeErrors(); Chi2 myChi2(leftMatrix, rightMatrix, errors); Solution.ResizeTo(6,1); Solution = myChi2.getSolution(); Covariance.ResizeTo(6,6); Covariance = myChi2.getCovariance(); }
float DTSurveyChamber::getAlpha | ( | ) | const [inline] |
Definition at line 40 of file DTSurveyChamber.h.
References Solution.
Referenced by operator<<().
{return Solution(5,0);}
float DTSurveyChamber::getAlphaError | ( | ) | const [inline] |
Definition at line 46 of file DTSurveyChamber.h.
References Covariance.
Referenced by operator<<().
{return TMath::Sqrt(Covariance(5,5));}
float DTSurveyChamber::getBeta | ( | ) | const [inline] |
Definition at line 41 of file DTSurveyChamber.h.
References Solution.
Referenced by operator<<().
{return -1.0*Solution(4,0);}
float DTSurveyChamber::getBetaError | ( | ) | const [inline] |
Definition at line 47 of file DTSurveyChamber.h.
References Covariance.
Referenced by operator<<().
{return TMath::Sqrt(Covariance(4,4));}
float DTSurveyChamber::getDeltaX | ( | ) | const [inline] |
Definition at line 36 of file DTSurveyChamber.h.
References Solution.
Referenced by operator<<().
{return Solution(0,0);}
float DTSurveyChamber::getDeltaXError | ( | ) | const [inline] |
Definition at line 43 of file DTSurveyChamber.h.
References Covariance.
Referenced by operator<<().
{return TMath::Sqrt(Covariance(0,0));}
float DTSurveyChamber::getDeltaY | ( | ) | const [inline] |
Definition at line 37 of file DTSurveyChamber.h.
References Solution.
Referenced by operator<<().
{return Solution(1,0);}
float DTSurveyChamber::getDeltaYError | ( | ) | const [inline] |
Definition at line 44 of file DTSurveyChamber.h.
References Covariance.
Referenced by operator<<().
{return TMath::Sqrt(Covariance(1,1));}
float DTSurveyChamber::getDeltaZ | ( | ) | const [inline] |
Definition at line 38 of file DTSurveyChamber.h.
References Solution.
Referenced by operator<<().
{return Solution(2,0);}
float DTSurveyChamber::getDeltaZError | ( | ) | const [inline] |
Definition at line 45 of file DTSurveyChamber.h.
References Covariance.
Referenced by operator<<().
{return TMath::Sqrt(Covariance(2,2));}
float DTSurveyChamber::getGamma | ( | ) | const [inline] |
Definition at line 42 of file DTSurveyChamber.h.
References Solution.
Referenced by operator<<().
{return Solution(3,0);}
float DTSurveyChamber::getGammaError | ( | ) | const [inline] |
Definition at line 48 of file DTSurveyChamber.h.
References Covariance.
Referenced by operator<<().
{return TMath::Sqrt(Covariance(3,3));}
long DTSurveyChamber::getId | ( | ) | const [inline] |
Definition at line 35 of file DTSurveyChamber.h.
References rawId.
Referenced by operator<<().
{return rawId;}
int DTSurveyChamber::getNumberPoints | ( | ) | const [inline] |
Definition at line 32 of file DTSurveyChamber.h.
References pointNumber.
Referenced by makeErrors(), makeMatrix(), makeVector(), and operator<<().
{ return pointNumber; }
TMatrixD & DTSurveyChamber::makeErrors | ( | ) | [private] |
Definition at line 65 of file DTSurveyChamber.cc.
References getNumberPoints(), L1TEmulatorMonitor_cff::p, pointsError, and query::result.
Referenced by compute().
{ TMatrixD *result = new TMatrixD(3*getNumberPoints(),3*getNumberPoints()); result->Zero(); int real = 0; for(std::vector<TMatrixD >::iterator p = pointsError.begin(); p != pointsError.end(); ++p) { double rmsn = 1.0/((*p)(0,0)*(*p)(0,0)); (*result)(real*3,real*3) = rmsn; (*result)(real*3+1,real*3+1) = rmsn; (*result)(real*3+2,real*3+2) = rmsn; real++; } return *result; }
TMatrixD & DTSurveyChamber::makeMatrix | ( | ) | [private] |
Definition at line 81 of file DTSurveyChamber.cc.
References getNumberPoints(), L1TEmulatorMonitor_cff::p, pointsTheoretical, and query::result.
Referenced by compute().
{ TMatrixD *result = new TMatrixD(3*getNumberPoints(), 6); result->Zero(); int real = 0; for(std::vector<TMatrixD >::iterator p = pointsTheoretical.begin(); p != pointsTheoretical.end(); p++) { (*result)(real*3,0)= 1.0; (*result)(real*3,3) = (*p)(1,0); (*result)(real*3,4) = (*p)(2,0); (*result)(real*3+1,1) = 1.0; (*result)(real*3+1,3) = -(*p)(0,0); (*result)(real*3+1,5) = (*p)(2,0); (*result)(real*3+2,2) = 1.0; (*result)(real*3+2,4) = -(*p)(0,0); (*result)(real*3+2,5) = -(*p)(1,0); real++; } return *result; }
TMatrixD & DTSurveyChamber::makeVector | ( | ) | [private] |
Definition at line 49 of file DTSurveyChamber.cc.
References getNumberPoints(), L1TEmulatorMonitor_cff::p, pointsDiff, and query::result.
Referenced by compute().
{ TMatrixD *result = new TMatrixD(3*getNumberPoints(),1); result->Zero(); int real = 0; for(std::vector<TMatrixD >::iterator p = pointsDiff.begin(); p != pointsDiff.end(); ++p) { (*result)(real*3,0) = (*p)(0,0); (*result)(real*3+1,0) = (*p)(1,0); (*result)(real*3+2,0) = (*p)(2,0); ++real; } return *result; }
void DTSurveyChamber::printChamberInfo | ( | ) |
TMatrixD DTSurveyChamber::Covariance [private] |
Definition at line 73 of file DTSurveyChamber.h.
Referenced by getAlphaError(), getBetaError(), getDeltaXError(), getDeltaYError(), getDeltaZError(), and getGammaError().
int DTSurveyChamber::id [private] |
Definition at line 61 of file DTSurveyChamber.h.
int DTSurveyChamber::pointNumber [private] |
Definition at line 76 of file DTSurveyChamber.h.
Referenced by addPoint(), DTSurveyChamber(), and getNumberPoints().
std::vector<TMatrixD> DTSurveyChamber::points [private] |
Definition at line 67 of file DTSurveyChamber.h.
Referenced by addPoint().
std::vector<TMatrixD> DTSurveyChamber::pointsDiff [private] |
Definition at line 68 of file DTSurveyChamber.h.
Referenced by addPoint(), and makeVector().
std::vector<TMatrixD> DTSurveyChamber::pointsError [private] |
Definition at line 69 of file DTSurveyChamber.h.
Referenced by addPoint(), and makeErrors().
std::vector<TMatrixD> DTSurveyChamber::pointsTheoretical [private] |
Definition at line 70 of file DTSurveyChamber.h.
Referenced by addPoint(), and makeMatrix().
long DTSurveyChamber::rawId [private] |
Definition at line 63 of file DTSurveyChamber.h.
Referenced by DTSurveyChamber(), and getId().
int DTSurveyChamber::sector [private] |
Definition at line 61 of file DTSurveyChamber.h.
Referenced by DTSurveyChamber().
TMatrixD DTSurveyChamber::Solution [private] |
Definition at line 72 of file DTSurveyChamber.h.
Referenced by compute(), getAlpha(), getBeta(), getDeltaX(), getDeltaY(), getDeltaZ(), and getGamma().
int DTSurveyChamber::station [private] |
Definition at line 61 of file DTSurveyChamber.h.
Referenced by DTSurveyChamber().
int DTSurveyChamber::wheel [private] |
Definition at line 61 of file DTSurveyChamber.h.
Referenced by DTSurveyChamber().