CMS 3D CMS Logo

TFitConstraintMGaus Class Reference

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

Inheritance diagram for TFitConstraintMGaus:

TFitConstraintM TAbsFitConstraint

List of all members.

Public Member Functions

virtual Double_t getCurrentValue ()
virtual TMatrixD * getDerivativeAlpha ()
virtual TString getInfoString ()
virtual Double_t getInitValue ()
virtual void print ()
void setMassConstraint (Double_t Mass, Double_t Width)
 TFitConstraintMGaus (const TString &name, const TString &title, vector< TAbsFitParticle * > *ParList1, vector< TAbsFitParticle * > *ParList2, Double_t Mass=0, Double_t Width=0)
 TFitConstraintMGaus (vector< TAbsFitParticle * > *ParList1, vector< TAbsFitParticle * > *ParList2, Double_t Mass=0, Double_t Width=0)
 TFitConstraintMGaus ()
virtual ~TFitConstraintMGaus ()

Protected Member Functions

void init ()

Protected Attributes

Double_t _width


Detailed Description

Definition at line 13 of file TFitConstraintMGaus.h.


Constructor & Destructor Documentation

TFitConstraintMGaus::TFitConstraintMGaus (  ) 

TFitConstraintMGaus::TFitConstraintMGaus ( vector< TAbsFitParticle * > *  ParList1,
vector< TAbsFitParticle * > *  ParList2,
Double_t  Mass = 0,
Double_t  Width = 0 
)

Definition at line 34 of file TFitConstraintMGaus.cc.

References init(), and setMassConstraint().

00038   : TFitConstraintM(ParList1, ParList2, Mass ) 
00039 {
00040 
00041   init();
00042   setMassConstraint( Mass, Width );
00043 
00044 }

TFitConstraintMGaus::TFitConstraintMGaus ( const TString &  name,
const TString &  title,
vector< TAbsFitParticle * > *  ParList1,
vector< TAbsFitParticle * > *  ParList2,
Double_t  Mass = 0,
Double_t  Width = 0 
)

Definition at line 46 of file TFitConstraintMGaus.cc.

References init(), and setMassConstraint().

00051   : TFitConstraintM( name, title, ParList1, ParList2, Mass )
00052 {
00053 
00054   init();
00055   setMassConstraint( Mass, Width );
00056 
00057 }

TFitConstraintMGaus::~TFitConstraintMGaus (  )  [virtual]

Definition at line 74 of file TFitConstraintMGaus.cc.

00074                                           {
00075 
00076 }


Member Function Documentation

Double_t TFitConstraintMGaus::getCurrentValue (  )  [virtual]

Reimplemented from TFitConstraintM.

Definition at line 103 of file TFitConstraintMGaus.cc.

References TAbsFitConstraint::_parameters, TFitConstraintM::_ParList1, TFitConstraintM::_ParList2, TFitConstraintM::_TheMassConstraint, and TFitConstraintM::CalcMass().

Referenced by getInfoString().

00103                                               {
00104   // Get value of constraint after the fit
00105 
00106   Double_t CurrentValue =
00107     CalcMass(&_ParList1,false) - 
00108     CalcMass(&_ParList2,false) - 
00109     _parameters(0,0)*_TheMassConstraint;
00110 
00111   return CurrentValue;
00112 
00113 }

TMatrixD * TFitConstraintMGaus::getDerivativeAlpha (  )  [virtual]

Reimplemented from TAbsFitConstraint.

Definition at line 115 of file TFitConstraintMGaus.cc.

References TFitConstraintM::_TheMassConstraint.

00115                                                   { 
00116   // Calculate dF/dAlpha = -1 * M
00117 
00118   TMatrixD* DerivativeMatrix = new TMatrixD(1,1);
00119   DerivativeMatrix->Zero();
00120 
00121   (*DerivativeMatrix)(0,0) = -1. * _TheMassConstraint;
00122 
00123   return DerivativeMatrix;
00124 
00125 }

TString TFitConstraintMGaus::getInfoString (  )  [virtual]

Reimplemented from TFitConstraintM.

Definition at line 127 of file TFitConstraintMGaus.cc.

References TAbsFitConstraint::_iniparameters, TAbsFitConstraint::_parameters, TFitConstraintM::_TheMassConstraint, _width, lat::endl(), getCurrentValue(), getInitValue(), and info.

Referenced by print().

00127                                            {
00128   // Collect information to be used for printout
00129 
00130   stringstream info;
00131   info << scientific << setprecision(6);
00132 
00133   info << "__________________________" << endl
00134        << endl;
00135   info << "OBJ: " << IsA()->GetName() << "\t" << GetName() << "\t" << GetTitle() << endl;
00136 
00137   info << "initial value: " << getInitValue() << endl;
00138   info << "current value: " << getCurrentValue() << endl;
00139   info << "mean mass: " << _TheMassConstraint << endl;
00140   info << "width: " << _width << endl;
00141   info << "initial mass: " << _iniparameters(0,0)*_TheMassConstraint  << endl;
00142   info << "current mass: " << _parameters(0,0)*_TheMassConstraint  << endl;
00143 
00144   return info.str();
00145 
00146 }

Double_t TFitConstraintMGaus::getInitValue (  )  [virtual]

Reimplemented from TFitConstraintM.

Definition at line 91 of file TFitConstraintMGaus.cc.

References TAbsFitConstraint::_iniparameters, TFitConstraintM::_ParList1, TFitConstraintM::_ParList2, TFitConstraintM::_TheMassConstraint, and TFitConstraintM::CalcMass().

Referenced by getInfoString().

00091                                            {
00092   // Get initial value of constraint (before the fit)
00093 
00094   Double_t InitValue = 
00095     CalcMass( &_ParList1, true ) - 
00096     CalcMass( &_ParList2, true ) - 
00097     _iniparameters(0,0) * _TheMassConstraint;
00098 
00099   return InitValue;
00100 
00101 }

void TFitConstraintMGaus::init ( void   )  [protected]

Definition at line 60 of file TFitConstraintMGaus.cc.

References TAbsFitConstraint::_iniparameters, TAbsFitConstraint::_nPar, and TAbsFitConstraint::_parameters.

Referenced by TFitConstraintMGaus().

00060                           {
00061 
00062   _nPar = 1;
00063   _iniparameters.ResizeTo(1,1);
00064   _iniparameters(0,0) = 1.;
00065   _parameters.ResizeTo(1,1);
00066   _parameters = _iniparameters;
00067 
00068 }

void TFitConstraintMGaus::print ( void   )  [virtual]

Reimplemented from TFitConstraintM.

Definition at line 148 of file TFitConstraintMGaus.cc.

References getInfoString().

00148                                 {
00149   // Print constraint contents
00150 
00151   edm::LogVerbatim("KinFitter") << this->getInfoString();
00152 
00153 }

void TFitConstraintMGaus::setMassConstraint ( Double_t  Mass,
Double_t  Width 
)

Definition at line 82 of file TFitConstraintMGaus.cc.

References TAbsFitConstraint::_covMatrix, TFitConstraintM::_TheMassConstraint, _width, and TAbsFitConstraint::setCovMatrix().

Referenced by TFitConstraintMGaus().

00082                                                                          { 
00083   
00084   _TheMassConstraint = Mass;
00085   _width = Width;
00086   setCovMatrix( 0 );
00087   _covMatrix(0,0) = (Width*Width) / (Mass * Mass);
00088 
00089 }


Member Data Documentation

Double_t TFitConstraintMGaus::_width [protected]

Definition at line 39 of file TFitConstraintMGaus.h.

Referenced by getInfoString(), and setMassConstraint().


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