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=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< KinematicParticlepState
 
const MagneticFieldtheField
 
KinematicTreetree
 

Friends

class KinematicParticleVertexFitter
 
class KinematicTree
 

Detailed Description

Definition at line 21 of file KinematicParticle.h.

Member Typedef Documentation

◆ RefCountedLinearizedTrackState

Definition at line 23 of file KinematicParticle.h.

Constructor & Destructor Documentation

◆ KinematicParticle()

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::~KinematicParticle ( )
override

Definition at line 5 of file KinematicParticle.cc.

References lConstraint.

5 { delete lConstraint; }
KinematicConstraint * lConstraint

Member Function Documentation

◆ chiSquared()

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; }

◆ correspondingTree()

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

◆ currentState()

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

◆ degreesOfFreedom()

float KinematicParticle::degreesOfFreedom ( ) const
virtual

Definition at line 26 of file KinematicParticle.cc.

References ndf.

26 { return ndf; }

◆ initialState()

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

◆ lastConstraint()

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

◆ magneticField()

const MagneticField* KinematicParticle::magneticField ( ) const
inline

Definition at line 122 of file KinematicParticle.h.

References theField.

122 { return theField; }
const MagneticField * theField

◆ operator!=()

virtual bool KinematicParticle::operator!= ( const KinematicParticle other) const
pure virtual

◆ operator<()

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.

References trackingPlots::other.

7  {
8  bool res = false;
9  if (this < &other)
10  res = true;
11  return res;
12 }
Definition: Electron.h:6

◆ operator==() [1/2]

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.

◆ operator==() [2/2]

virtual bool KinematicParticle::operator== ( const ReferenceCountingPointer< KinematicParticle > &  other) const
pure virtual

◆ particleLinearizedTrackState()

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.

◆ previousParticle()

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

◆ refittedParticle()

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.

◆ refittedTransientTrack()

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

◆ setTreePointer()

void KinematicParticle::setTreePointer ( KinematicTree tr) const
protectedvirtual

Definition at line 28 of file KinematicParticle.cc.

28 { tree = tr; }
Definition: tree.py:1

◆ stateAtPoint()

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

◆ KinematicParticleVertexFitter

friend class KinematicParticleVertexFitter
friend

Definition at line 25 of file KinematicParticle.h.

◆ KinematicTree

friend class KinematicTree
friend

Definition at line 26 of file KinematicParticle.h.

Member Data Documentation

◆ chi2

float KinematicParticle::chi2
protected

◆ cState

KinematicState KinematicParticle::cState
mutableprotected

◆ initState

KinematicState KinematicParticle::initState
protected

◆ lConstraint

KinematicConstraint* KinematicParticle::lConstraint
mutableprotected

◆ ndf

float KinematicParticle::ndf
protected

◆ pState

ReferenceCountingPointer<KinematicParticle> KinematicParticle::pState
mutableprotected

◆ theField

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().

◆ tree

KinematicTree* KinematicParticle::tree
mutableprotected