CMS 3D CMS Logo

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

#include <KinematicConstraint.h>

Inheritance diagram for KinematicConstraint:
BackToBackKinematicConstraint FourMomentumKinematicConstraint MassKinematicConstraint MomentumKinematicConstraint MultipleKinematicConstraint PointingKinematicConstraint SimplePointingConstraint SmartPointingConstraint

Public Member Functions

virtual KinematicConstraintclone () const =0
 
virtual std::pair
< AlgebraicMatrix,
AlgebraicVector
derivative (const AlgebraicVector &exPoint) const =0
 
virtual std::pair
< AlgebraicMatrix,
AlgebraicVector
derivative (const std::vector< RefCountedKinematicParticle > par) const =0
 
virtual AlgebraicVector deviations (int nStates) const =0
 
 KinematicConstraint ()
 
virtual int numberOfEquations () const =0
 
virtual std::pair
< AlgebraicVector,
AlgebraicVector
value (const AlgebraicVector &exPoint) const =0
 
virtual std::pair
< AlgebraicVector,
AlgebraicVector
value (const std::vector< RefCountedKinematicParticle > par) const =0
 
virtual ~KinematicConstraint ()
 

Detailed Description

Pure abstract base class to implement different types of constraints for single tracks. Class caches the information about calculation of of constraint equation derivatives and values at given linearization 7-point (x,y,z,p_x,p_y,p_z,m)_0. Fitter usually takes current parameters as the first step point and the change it to the result of the first iteration.

Kirill Prokofiev, December 2002 Change for multistate refit: July 2004

Definition at line 22 of file KinematicConstraint.h.

Constructor & Destructor Documentation

KinematicConstraint::KinematicConstraint ( )
inline

Default constructor and destructor

Definition at line 31 of file KinematicConstraint.h.

31 {}
virtual KinematicConstraint::~KinematicConstraint ( )
inlinevirtual

Definition at line 33 of file KinematicConstraint.h.

33 {}

Member Function Documentation

virtual KinematicConstraint* KinematicConstraint::clone ( ) const
pure virtual
virtual std::pair<AlgebraicMatrix, AlgebraicVector> KinematicConstraint::derivative ( const AlgebraicVector exPoint) const
pure virtual
virtual std::pair<AlgebraicMatrix, AlgebraicVector> KinematicConstraint::derivative ( const std::vector< RefCountedKinematicParticle par) const
pure virtual
virtual AlgebraicVector KinematicConstraint::deviations ( int  nStates) const
pure virtual

Returns vector of sigma squared associated to the KinematicParameters of refitted particles Initial deviations are given by user for the constraining parameters (mass, momentum components etc). In case of multiple states exactly the same values are added to every particle parameters

Implemented in FourMomentumKinematicConstraint, MassKinematicConstraint, MultipleKinematicConstraint, BackToBackKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, and SmartPointingConstraint.

Referenced by LagrangeParentParticleFitter::fit().

virtual int KinematicConstraint::numberOfEquations ( ) const
pure virtual

Returns an actual number of equations in particular constraint (corresponds to the number of strings in constraint derivative matrix, for example)

Implemented in FourMomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, MomentumKinematicConstraint, MassKinematicConstraint, BackToBackKinematicConstraint, and MultipleKinematicConstraint.

Referenced by LagrangeParentParticleFitter::fit().

virtual std::pair<AlgebraicVector, AlgebraicVector> KinematicConstraint::value ( const AlgebraicVector exPoint) const
pure virtual

Methods returning the constraint derivative matrix and value. The equation expansion is done at the 7-point specified by user: (x,y,z,p_x,p_y,p_z,m)_0. In case of multiple state refit vector should be of dimension 7xNumberOfStates

Implemented in FourMomentumKinematicConstraint, BackToBackKinematicConstraint, MassKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, and MultipleKinematicConstraint.

Referenced by LagrangeParentParticleFitter::fit().

virtual std::pair<AlgebraicVector, AlgebraicVector> KinematicConstraint::value ( const std::vector< RefCountedKinematicParticle par) const
pure virtual

Methods making value and derivative matrix using current state parameters as expansion 7-point. Constraint can be made equaly for single and multiple states

Implemented in FourMomentumKinematicConstraint, BackToBackKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, MassKinematicConstraint, and MultipleKinematicConstraint.