![]() |
![]() |
#include <PhysicsTools/KinFitter/interface/TAbsFitConstraint.h>
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 |
Definition at line 10 of file TAbsFitConstraint.h.
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] |
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().
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; }
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 }
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 }
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().