CMS 3D CMS Logo

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends

KinematicParticle Class Reference

#include <KinematicParticle.h>

Inheritance diagram for KinematicParticle:
ReferenceCounted TransientTrackKinematicParticle VirtualKinematicParticle

List of all members.

Public Types

typedef
ReferenceCountingPointer
< LinearizedTrackState< 6 > > 
RefCountedLinearizedTrackState

Public Member Functions

virtual float chiSquared () const
virtual KinematicTreecorrespondingTree () const
virtual KinematicState currentState () const
virtual float degreesOfFreedom () const
virtual KinematicState initialState () const
 KinematicParticle ()
virtual KinematicConstraintlastConstraint () const
const MagneticFieldmagneticField () const
virtual bool operator!= (const KinematicParticle &other) const =0
virtual bool operator< (const KinematicParticle &other) const
virtual bool operator== (const KinematicParticle &other) const =0
virtual bool operator== (const ReferenceCountingPointer< KinematicParticle > &other) const =0
virtual
RefCountedLinearizedTrackState 
particleLinearizedTrackState (const GlobalPoint &point) const =0
virtual
ReferenceCountingPointer
< KinematicParticle
previousParticle () const
virtual
ReferenceCountingPointer
< KinematicParticle
refittedParticle (const KinematicState &state, float chi2, float ndf, KinematicConstraint *cons=0) const =0
reco::TransientTrack refittedTransientTrack () const
virtual KinematicState stateAtPoint (const GlobalPoint &point) const =0
virtual ~KinematicParticle ()

Protected Member Functions

virtual void setTreePointer (KinematicTree *tr) const

Protected Attributes

float chi2
KinematicState cState
KinematicState initState
KinematicConstraintlConstraint
float ndf
ReferenceCountingPointer
< KinematicParticle
pState
const MagneticFieldtheField
KinematicTreetree

Friends

class KinematicParticleVertexFitter
class KinematicTree

Detailed Description

Definition at line 21 of file KinematicParticle.h.


Member Typedef Documentation

Definition at line 25 of file KinematicParticle.h.


Constructor & Destructor Documentation

KinematicParticle::KinematicParticle ( ) [inline]

Default constructor: does not create a valid particle. Method is needed for debugging purposes only.

Definition at line 35 of file KinematicParticle.h.

{}
KinematicParticle::~KinematicParticle ( ) [virtual]

Definition at line 5 of file KinematicParticle.cc.

References lConstraint.

{ delete lConstraint;} 

Member Function Documentation

float KinematicParticle::chiSquared ( ) const [virtual]

Access metods for chi2 and number of degrees of freedom

Definition at line 29 of file KinematicParticle.cc.

References chi2.

{return chi2;}
KinematicTree * KinematicParticle::correspondingTree ( ) const [virtual]

Returns the pointer to the kinematic tree (if any) current particle belongs to 0 pointer returned in case not any tree is built yet

Definition at line 26 of file KinematicParticle.cc.

References tree.

{return tree;}
KinematicState KinematicParticle::currentState ( ) const [virtual]

Access to the last calculated kinematic state

Definition at line 17 of file KinematicParticle.cc.

References cState.

Referenced by refittedTransientTrack().

{return cState;}
float KinematicParticle::degreesOfFreedom ( ) const [virtual]

Definition at line 32 of file KinematicParticle.cc.

References ndf.

{return ndf;}
KinematicState KinematicParticle::initialState ( ) const [virtual]

Access to the kinematic state with which particle was first created

Definition at line 14 of file KinematicParticle.cc.

References initState.

Referenced by VirtualKinematicParticle::operator==(), and TransientTrackKinematicParticle::operator==().

{return initState;}
KinematicConstraint * KinematicParticle::lastConstraint ( ) const [virtual]

Returns last constraint aplied to this particle.

Definition at line 20 of file KinematicParticle.cc.

References lConstraint.

{return lConstraint;}
const MagneticField* KinematicParticle::magneticField ( ) const [inline]

Definition at line 122 of file KinematicParticle.h.

References theField.

{return theField;}
virtual bool KinematicParticle::operator!= ( const KinematicParticle other) const [pure virtual]
bool KinematicParticle::operator< ( const KinematicParticle other) const [virtual]

Comparison by adress operator Has NO physical meaning To be used inside graph only

Definition at line 7 of file KinematicParticle.cc.

{
 bool res = false;
 if(this < &other) res=true;
 return res;
}
virtual bool KinematicParticle::operator== ( const ReferenceCountingPointer< KinematicParticle > &  other) const [pure virtual]
virtual bool KinematicParticle::operator== ( const KinematicParticle other) const [pure virtual]

Comparison by contents operators Returns TRUE if initial PhysicsObjects match(if they exist). If not, compares the initial KinematicStates Retunes true if they match. Should be implemented by user

Implemented in TransientTrackKinematicParticle, and VirtualKinematicParticle.

virtual RefCountedLinearizedTrackState KinematicParticle::particleLinearizedTrackState ( const GlobalPoint point) const [pure virtual]

Method returning LinearizedTrackState of the particle needed for Kalman flter vertex fit. Should be implemented by user. For track(helix)-like objects one can use the ParticleLinearizedTrackStateFactory class.

Implemented in TransientTrackKinematicParticle, and VirtualKinematicParticle.

ReferenceCountingPointer< KinematicParticle > KinematicParticle::previousParticle ( ) const [virtual]

Returns the state of Kinematic Particle before last constraint was aplied

Definition at line 23 of file KinematicParticle.cc.

References pState.

{return pState;} 
virtual ReferenceCountingPointer<KinematicParticle> KinematicParticle::refittedParticle ( const KinematicState state,
float  chi2,
float  ndf,
KinematicConstraint cons = 0 
) const [pure virtual]

Method producing new particle out of the current one and RefittedState obtained from kinematic fitting. To be used by Fitter classes only. Method should be implemented by used for every specific type of KinematicParticle

Implemented in TransientTrackKinematicParticle, and VirtualKinematicParticle.

reco::TransientTrack KinematicParticle::refittedTransientTrack ( ) const

Definition at line 38 of file KinematicParticle.cc.

References TransientTrackFromFTSFactory::build(), and currentState().

Referenced by KinematicVertex::operator reco::Vertex().

{
  TransientTrackFromFTSFactory factory;
  return factory.build(currentState().freeTrajectoryState());
}
void KinematicParticle::setTreePointer ( KinematicTree tr) const [protected, virtual]

Definition at line 35 of file KinematicParticle.cc.

References tree.

{tree = tr;}
virtual KinematicState KinematicParticle::stateAtPoint ( const GlobalPoint point) const [pure virtual]

Access to KinematicState of particle at given point. The current state of particle does not change after this operation.

Implemented in TransientTrackKinematicParticle, and VirtualKinematicParticle.


Friends And Related Function Documentation

friend class KinematicParticleVertexFitter [friend]

Definition at line 27 of file KinematicParticle.h.

friend class KinematicTree [friend]

Definition at line 28 of file KinematicParticle.h.


Member Data Documentation

float KinematicParticle::chi2 [protected]

Definition at line 155 of file KinematicParticle.h.

Referenced by chiSquared().

Definition at line 152 of file KinematicParticle.h.

Referenced by currentState(), and VirtualKinematicParticle::stateAtPoint().

Definition at line 149 of file KinematicParticle.h.

Referenced by initialState().

Definition at line 142 of file KinematicParticle.h.

Referenced by lastConstraint(), and ~KinematicParticle().

float KinematicParticle::ndf [protected]

Definition at line 157 of file KinematicParticle.h.

Referenced by degreesOfFreedom().

Definition at line 145 of file KinematicParticle.h.

Referenced by previousParticle().

Data members which should be initialized by user in derived classes

Definition at line 135 of file KinematicParticle.h.

Referenced by magneticField().

KinematicTree* KinematicParticle::tree [mutable, protected]

Definition at line 139 of file KinematicParticle.h.

Referenced by correspondingTree(), and setTreePointer().