CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
KinematicParticle Class Referenceabstract

#include <KinematicParticle.h>

Inheritance diagram for KinematicParticle:
ReferenceCounted TransientTrackKinematicParticle VirtualKinematicParticle

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=nullptr) const =0
 
reco::TransientTrack refittedTransientTrack () const
 
virtual KinematicState stateAtPoint (const GlobalPoint &point) const =0
 
 ~KinematicParticle () override
 

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 23 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 33 of file KinematicParticle.h.

33 {}
KinematicParticle::~KinematicParticle ( )
override

Definition at line 5 of file KinematicParticle.cc.

References lConstraint.

5 { delete lConstraint; }
KinematicConstraint * lConstraint

Member Function Documentation

float KinematicParticle::chiSquared ( ) const
virtual

Access metods for chi2 and number of degrees of freedom

Definition at line 24 of file KinematicParticle.cc.

References chi2.

Referenced by VirtualKinematicParticle::VirtualKinematicParticle().

24 { 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 22 of file KinematicParticle.cc.

References tree.

22 { return tree; }
KinematicTree * tree
KinematicState KinematicParticle::currentState ( ) const
virtual

Access to the last calculated kinematic state

Definition at line 16 of file KinematicParticle.cc.

References cState.

Referenced by refittedTransientTrack().

16 { return cState; }
KinematicState cState
float KinematicParticle::degreesOfFreedom ( ) const
virtual

Definition at line 26 of file KinematicParticle.cc.

References ndf.

26 { 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==().

14 { return initState; }
KinematicState initState
KinematicConstraint * KinematicParticle::lastConstraint ( ) const
virtual

Returns last constraint aplied to this particle.

Definition at line 18 of file KinematicParticle.cc.

References lConstraint.

Referenced by VirtualKinematicParticle::VirtualKinematicParticle().

18 { return lConstraint; }
KinematicConstraint * lConstraint
const MagneticField* KinematicParticle::magneticField ( ) const
inline

Definition at line 122 of file KinematicParticle.h.

References theField.

122 { return theField; }
const MagneticField * 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.

7  {
8  bool res = false;
9  if (this < &other)
10  res = true;
11  return res;
12 }
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 bool KinematicParticle::operator== ( const ReferenceCountingPointer< KinematicParticle > &  other) const
pure virtual
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 20 of file KinematicParticle.cc.

References pState.

Referenced by VirtualKinematicParticle::VirtualKinematicParticle().

20 { return pState; }
ReferenceCountingPointer< KinematicParticle > pState
virtual ReferenceCountingPointer<KinematicParticle> KinematicParticle::refittedParticle ( const KinematicState state,
float  chi2,
float  ndf,
KinematicConstraint cons = nullptr 
) 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 30 of file KinematicParticle.cc.

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

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

30  {
32  return factory.build(currentState().freeTrajectoryState());
33 }
reco::TransientTrack build(const FreeTrajectoryState &fts) const
virtual KinematicState currentState() const
void KinematicParticle::setTreePointer ( KinematicTree tr) const
protectedvirtual

Definition at line 28 of file KinematicParticle.cc.

References tree.

28 { tree = tr; }
KinematicTree * tree
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 25 of file KinematicParticle.h.

friend class KinematicTree
friend

Definition at line 26 of file KinematicParticle.h.

Member Data Documentation

float KinematicParticle::chi2
protected
KinematicState KinematicParticle::cState
mutableprotected
KinematicState KinematicParticle::initState
protected
KinematicConstraint* KinematicParticle::lConstraint
mutableprotected
float KinematicParticle::ndf
protected
ReferenceCountingPointer<KinematicParticle> KinematicParticle::pState
mutableprotected
const MagneticField* KinematicParticle::theField
protected

Data members which should be initialized by user in derived classes

Definition at line 134 of file KinematicParticle.h.

Referenced by magneticField(), and VirtualKinematicParticle::VirtualKinematicParticle().

KinematicTree* KinematicParticle::tree
mutableprotected