CMS 3D CMS Logo

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< KinematicParticlepreviousParticle () const
 
virtual ReferenceCountingPointer< KinematicParticlerefittedParticle (const KinematicState &state, float chi2, float ndf, KinematicConstraint *cons=0) 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< KinematicParticlepState
 
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.

References chi2, chiSquared(), correspondingTree(), currentState(), degreesOfFreedom(), initialState(), lastConstraint(), ndf, operator!=(), operator<(), operator==(), trackingPlots::other, particleLinearizedTrackState(), point, previousParticle(), refittedParticle(), stateAtPoint(), and ~KinematicParticle().

35 {}
KinematicParticle::~KinematicParticle ( )
override

Definition at line 5 of file KinematicParticle.cc.

References lConstraint.

Referenced by KinematicParticle().

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 29 of file KinematicParticle.cc.

References chi2.

Referenced by KinematicParticle().

30 {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.

Referenced by KinematicParticle().

27 {return tree;}
KinematicTree * 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 KinematicParticle(), and refittedTransientTrack().

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

Definition at line 32 of file KinematicParticle.cc.

References ndf.

Referenced by KinematicParticle().

33 {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 KinematicParticle(), VirtualKinematicParticle::operator==(), and TransientTrackKinematicParticle::operator==().

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

Returns last constraint aplied to this particle.

Definition at line 20 of file KinematicParticle.cc.

References lConstraint.

Referenced by KinematicParticle().

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

Definition at line 122 of file KinematicParticle.h.

References refittedTransientTrack(), setTreePointer(), and 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.

Referenced by KinematicParticle().

8 {
9  bool res = false;
10  if(this < &other) res=true;
11  return res;
12 }
Definition: Electron.h:4
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.

Referenced by KinematicParticle().

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.

Referenced by KinematicParticle().

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.

Referenced by KinematicParticle().

24 {return pState;}
ReferenceCountingPointer< KinematicParticle > 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.

Referenced by KinematicParticle().

reco::TransientTrack KinematicParticle::refittedTransientTrack ( ) const

Definition at line 38 of file KinematicParticle.cc.

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

Referenced by magneticField(), and KinematicVertex::operator reco::Vertex().

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

Definition at line 35 of file KinematicParticle.cc.

Referenced by magneticField().

36 {tree = tr;}
Definition: tree.py:1
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.

Referenced by KinematicParticle().

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(), and KinematicParticle().

KinematicState KinematicParticle::cState
mutableprotected

Definition at line 152 of file KinematicParticle.h.

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

KinematicState KinematicParticle::initState
protected

Definition at line 149 of file KinematicParticle.h.

Referenced by initialState().

KinematicConstraint* KinematicParticle::lConstraint
mutableprotected

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(), and KinematicParticle().

ReferenceCountingPointer<KinematicParticle> KinematicParticle::pState
mutableprotected

Definition at line 145 of file KinematicParticle.h.

Referenced by previousParticle().

const MagneticField* KinematicParticle::theField
protected

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
mutableprotected