CMS 3D CMS Logo

TAbsFitConstraint Class Reference

#include <PhysicsTools/KinFitter/interface/TAbsFitConstraint.h>

Inheritance diagram for TAbsFitConstraint:

TFitConstraintEp TFitConstraintM TFitConstraintMGaus

List of all members.

Public Member Functions

virtual void applyDeltaAlpha (TMatrixD *corrMatrix)
virtual const TMatrixD * getCovMatrix () const
virtual const TMatrixD * getCovMatrixDeltaAlpha ()
virtual const TMatrixD * getCovMatrixFit () const
virtual Double_t getCurrentValue ()=0
virtual TMatrixD * getDerivative (TAbsFitParticle *particle)=0
virtual TMatrixD * getDerivativeAlpha ()
virtual TString getInfoString ()
virtual Double_t getInitValue ()=0
Int_t getNPar ()
const TMatrixD * getParCurr ()
const TMatrixD * getParIni ()
virtual void print ()
virtual void reset ()
virtual void setCovMatrix (const TMatrixD *theCovMatrix)
virtual void setCovMatrixFit (const TMatrixD *theCovMatrixFit)
void setParIni (const TMatrixD *parini)
 TAbsFitConstraint (const TString &name, const TString &title)
 TAbsFitConstraint ()
virtual ~TAbsFitConstraint ()

Protected Member Functions

void calcCovMatrixDeltaAlpha ()

Protected Attributes

TMatrixD _covMatrix
TMatrixD _covMatrixDeltaAlpha
TMatrixD _covMatrixFit
TMatrixD _iniparameters
Int_t _nPar
TMatrixD _parameters


Detailed Description

Definition at line 10 of file TAbsFitConstraint.h.


Constructor & Destructor Documentation

TAbsFitConstraint::TAbsFitConstraint (  ) 

TAbsFitConstraint::TAbsFitConstraint ( const TString &  name,
const TString &  title 
)

Definition at line 37 of file TAbsFitConstraint.cc.

References _nPar.

00038   : TNamed(name, title)
00039   ,_covMatrix()
00040   ,_covMatrixFit()
00041   ,_covMatrixDeltaAlpha()
00042   ,_iniparameters()
00043   ,_parameters()
00044 
00045 {
00046   _nPar = 0;
00047 }

TAbsFitConstraint::~TAbsFitConstraint (  )  [virtual]

Definition at line 49 of file TAbsFitConstraint.cc.

00049                                       {
00050 
00051 }


Member Function Documentation

void TAbsFitConstraint::applyDeltaAlpha ( TMatrixD *  corrMatrix  )  [virtual]

Definition at line 106 of file TAbsFitConstraint.cc.

References _iniparameters, and _parameters.

Referenced by TKinFitter::applyDeltaY().

00106                                                             {
00107   // Apply corrections to the parameters wrt. to the
00108   // initial parameters alpha* = alpha + delta(alpha)
00109 
00110   _parameters = _iniparameters;
00111   _parameters += (*corrMatrix);
00112 
00113 }

void TAbsFitConstraint::calcCovMatrixDeltaAlpha (  )  [protected]

Definition at line 93 of file TAbsFitConstraint.cc.

References _covMatrix, _covMatrixDeltaAlpha, _covMatrixFit, and _nPar.

Referenced by getCovMatrixDeltaAlpha().

00093                                                 {
00094   // Calculates V(deltaAlpha) ==  V(alpha_meas) - V(alpha_fit)
00095 
00096   _covMatrixDeltaAlpha.ResizeTo( _nPar, _nPar );
00097   _covMatrixDeltaAlpha = _covMatrix;
00098   if(_covMatrixFit.GetNrows() == _nPar && _covMatrixFit.GetNcols() == _nPar)
00099     _covMatrixDeltaAlpha -= _covMatrixFit;
00100   else
00101     edm::LogError ("WrongMatrixSize")
00102       << GetName() << "::calcCovMatrixDeltaAlpha - _covMatrixFit probably not set.";
00103 }

virtual const TMatrixD* TAbsFitConstraint::getCovMatrix (  )  const [inline, virtual]

Definition at line 29 of file TAbsFitConstraint.h.

References _covMatrix.

Referenced by TKinFitter::calcV().

00029 { return &_covMatrix; }

const TMatrixD * TAbsFitConstraint::getCovMatrixDeltaAlpha (  )  [virtual]

Definition at line 130 of file TAbsFitConstraint.cc.

References _covMatrixDeltaAlpha, and calcCovMatrixDeltaAlpha().

00130                                                           {
00131   // Returns covariance matrix delta(alpha)
00132 
00133   calcCovMatrixDeltaAlpha(); 
00134   return &_covMatrixDeltaAlpha; 
00135 
00136 }

virtual const TMatrixD* TAbsFitConstraint::getCovMatrixFit (  )  const [inline, virtual]

Definition at line 32 of file TAbsFitConstraint.h.

References _covMatrixFit.

00032 { return &_covMatrixFit; }

virtual Double_t TAbsFitConstraint::getCurrentValue (  )  [pure virtual]

Implemented in TFitConstraintEp, TFitConstraintM, and TFitConstraintMGaus.

Referenced by getInfoString().

virtual TMatrixD* TAbsFitConstraint::getDerivative ( TAbsFitParticle particle  )  [pure virtual]

Implemented in TFitConstraintEp, and TFitConstraintM.

virtual TMatrixD* TAbsFitConstraint::getDerivativeAlpha (  )  [inline, virtual]

Reimplemented in TFitConstraintMGaus.

Definition at line 27 of file TAbsFitConstraint.h.

Referenced by TKinFitter::calcB().

00027 { return 0; }

TString TAbsFitConstraint::getInfoString (  )  [virtual]

Reimplemented in TFitConstraintEp, TFitConstraintM, and TFitConstraintMGaus.

Definition at line 138 of file TAbsFitConstraint.cc.

References lat::endl(), getCurrentValue(), getInitValue(), and info.

Referenced by print().

00138                                          {
00139   // Collect information to be used for printout
00140 
00141   stringstream info;
00142   info << scientific << setprecision(6);
00143 
00144   info << "__________________________" << endl
00145        << endl;
00146   info <<"OBJ: " << IsA()->GetName() << "\t" << GetName() << "\t" << GetTitle() << endl;
00147   
00148   info << "initial value: " << getInitValue() << endl;
00149   info << "current value: " << getCurrentValue() << endl;
00150 
00151   return info.str();
00152 
00153 }

virtual Double_t TAbsFitConstraint::getInitValue (  )  [pure virtual]

Implemented in TFitConstraintEp, TFitConstraintM, and TFitConstraintMGaus.

Referenced by getInfoString().

Int_t TAbsFitConstraint::getNPar (  )  [inline]

Definition at line 25 of file TAbsFitConstraint.h.

References _nPar.

Referenced by TKinFitter::applyDeltaY(), TKinFitter::applyVFit(), TKinFitter::calcC(), and TKinFitter::calcV().

00025 { return _nPar; } 

const TMatrixD* TAbsFitConstraint::getParCurr (  )  [inline]

Definition at line 40 of file TAbsFitConstraint.h.

References _parameters.

Referenced by TKinFitter::calcC().

00040 { return &_parameters; }

const TMatrixD* TAbsFitConstraint::getParIni (  )  [inline]

Definition at line 37 of file TAbsFitConstraint.h.

References _iniparameters.

Referenced by TKinFitter::calcC().

00037 { return &_iniparameters; }

void TAbsFitConstraint::print ( void   )  [virtual]

Reimplemented in TFitConstraintEp, TFitConstraintM, and TFitConstraintMGaus.

Definition at line 155 of file TAbsFitConstraint.cc.

References getInfoString().

00155                               {
00156   // Print constraint contents
00157 
00158   edm::LogVerbatim("KinFitter") << this->getInfoString();
00159 
00160 }

void TAbsFitConstraint::reset ( void   )  [virtual]

Definition at line 53 of file TAbsFitConstraint.cc.

References _iniparameters, _parameters, and setCovMatrixFit().

Referenced by TKinFitter::resetParams().

00053                               {
00054   // Reset parameters to initial values
00055 
00056   _parameters = _iniparameters;  
00057   setCovMatrixFit( 0 );
00058 
00059 }

void TAbsFitConstraint::setCovMatrix ( const TMatrixD *  theCovMatrix  )  [virtual]

Definition at line 61 of file TAbsFitConstraint.cc.

References _covMatrix, and _nPar.

Referenced by TFitConstraintMGaus::setMassConstraint().

00061                                                                  {
00062   // Set measured alpha covariance matrix
00063 
00064   _covMatrix.ResizeTo(_nPar, _nPar);
00065   if(theCovMatrix==0) {
00066     _covMatrix.Zero();
00067   } else if (theCovMatrix->GetNcols() ==_nPar && theCovMatrix->GetNrows() ==_nPar) {
00068     _covMatrix = (*theCovMatrix);
00069   } else {
00070     edm::LogError ("WrongMatrixSize")
00071       << GetName() << "::setCovMatrix - Measured alpha covariance matrix needs to be a "
00072       << _nPar << "x" << _nPar << " matrix.";
00073   }
00074 
00075 }

void TAbsFitConstraint::setCovMatrixFit ( const TMatrixD *  theCovMatrixFit  )  [virtual]

Definition at line 77 of file TAbsFitConstraint.cc.

References _covMatrixFit, and _nPar.

Referenced by TKinFitter::applyVFit(), and reset().

00077                                                                        {
00078   // Set the fitted covariance matrix
00079 
00080   _covMatrixFit.ResizeTo(_nPar, _nPar);
00081   if(theCovMatrixFit==0) {
00082     _covMatrixFit.Zero();
00083   } else if (theCovMatrixFit->GetNcols() ==_nPar && theCovMatrixFit->GetNrows() ==_nPar) {
00084     _covMatrixFit = (*theCovMatrixFit);
00085   } else {
00086     edm::LogError ("WrongMatrixSize")
00087       << GetName() << "::setCovMatrixFit - Fitted covariance matrix needs to be a "
00088       << _nPar << "x" << _nPar << " matrix.";
00089   }
00090 
00091 }

void TAbsFitConstraint::setParIni ( const TMatrixD *  parini  ) 

Definition at line 115 of file TAbsFitConstraint.cc.

References _iniparameters.

00115                                                         {
00116   // Set initial parameter values (before the fit)
00117 
00118   if (parini == 0) return;
00119   else if( parini->GetNrows() == _iniparameters.GetNrows() &&
00120            parini->GetNcols() == _iniparameters.GetNcols() )
00121     _iniparameters = (*parini) ;
00122   else {
00123     edm::LogError ("WrongMatrixSize")
00124       << GetName() << "::setParIni - Matrices don't fit.";
00125     return;
00126   }
00127 
00128 }


Member Data Documentation

TMatrixD TAbsFitConstraint::_covMatrix [protected]

Definition at line 52 of file TAbsFitConstraint.h.

Referenced by calcCovMatrixDeltaAlpha(), getCovMatrix(), setCovMatrix(), and TFitConstraintMGaus::setMassConstraint().

TMatrixD TAbsFitConstraint::_covMatrixDeltaAlpha [protected]

Definition at line 54 of file TAbsFitConstraint.h.

Referenced by calcCovMatrixDeltaAlpha(), and getCovMatrixDeltaAlpha().

TMatrixD TAbsFitConstraint::_covMatrixFit [protected]

Definition at line 53 of file TAbsFitConstraint.h.

Referenced by calcCovMatrixDeltaAlpha(), getCovMatrixFit(), and setCovMatrixFit().

TMatrixD TAbsFitConstraint::_iniparameters [protected]

Definition at line 55 of file TAbsFitConstraint.h.

Referenced by applyDeltaAlpha(), TFitConstraintMGaus::getInfoString(), TFitConstraintMGaus::getInitValue(), getParIni(), TFitConstraintMGaus::init(), reset(), and setParIni().

Int_t TAbsFitConstraint::_nPar [protected]

Definition at line 50 of file TAbsFitConstraint.h.

Referenced by calcCovMatrixDeltaAlpha(), getNPar(), TFitConstraintMGaus::init(), setCovMatrix(), setCovMatrixFit(), and TAbsFitConstraint().

TMatrixD TAbsFitConstraint::_parameters [protected]

Definition at line 56 of file TAbsFitConstraint.h.

Referenced by applyDeltaAlpha(), TFitConstraintMGaus::getCurrentValue(), TFitConstraintMGaus::getInfoString(), getParCurr(), TFitConstraintMGaus::init(), and reset().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:33:01 2009 for CMSSW by  doxygen 1.5.4