CMS 3D CMS Logo

KinematicParticle.h
Go to the documentation of this file.
1 #ifndef KinematicParticle_H
2 #define KinematicParticle_H
3 
7 
9 
19 class KinematicTree;
20 
22 public:
24 
26  friend class KinematicTree;
27 
34 
35  ~KinematicParticle() override;
36 
45  virtual bool operator==(const KinematicParticle& other) const = 0;
46 
47  virtual bool operator==(const ReferenceCountingPointer<KinematicParticle>& other) const = 0;
48 
49  virtual bool operator!=(const KinematicParticle& other) const = 0;
50 
56  virtual bool operator<(const KinematicParticle& other) const;
57 
62  virtual KinematicState initialState() const;
63 
67  virtual KinematicState currentState() const;
68 
74  virtual KinematicState stateAtPoint(const GlobalPoint& point) const = 0;
75 
83  float chi2,
84  float ndf,
85  KinematicConstraint* cons = nullptr) const = 0;
86 
93 
98  virtual KinematicConstraint* lastConstraint() const;
99 
105 
112  virtual KinematicTree* correspondingTree() const;
113 
118  virtual float chiSquared() const;
119 
120  virtual float degreesOfFreedom() const;
121 
122  const MagneticField* magneticField() const { return theField; }
123 
125 
126 protected:
127  virtual void setTreePointer(KinematicTree* tr) const;
128 
135 
136  //pointer to the tree current
137  //particle belongs to
138  mutable KinematicTree* tree;
139 
140  //last constraint applied
142 
143  //previous particle
145 
146  //initial kinematic state of
147  //current particle
149 
150  //particle state at point
152 
153  //chi2 and number of degrees of freedom
154  float chi2;
155 
156  float ndf;
157 };
158 #endif
KinematicParticle::previousParticle
virtual ReferenceCountingPointer< KinematicParticle > previousParticle() const
Definition: KinematicParticle.cc:20
KinematicParticle::~KinematicParticle
~KinematicParticle() override
Definition: KinematicParticle.cc:5
KinematicParticle::initialState
virtual KinematicState initialState() const
Definition: KinematicParticle.cc:14
KinematicState.h
KinematicState
Definition: KinematicState.h:17
KinematicParticle::refittedTransientTrack
reco::TransientTrack refittedTransientTrack() const
Definition: KinematicParticle.cc:30
KinematicParticle::operator<
virtual bool operator<(const KinematicParticle &other) const
Definition: KinematicParticle.cc:7
KinematicParticle::operator!=
virtual bool operator!=(const KinematicParticle &other) const =0
KinematicTree
Definition: KinematicTree.h:36
KinematicParticle::refittedParticle
virtual ReferenceCountingPointer< KinematicParticle > refittedParticle(const KinematicState &state, float chi2, float ndf, KinematicConstraint *cons=nullptr) const =0
KinematicParticle::currentState
virtual KinematicState currentState() const
Definition: KinematicParticle.cc:16
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
KinematicParticle::setTreePointer
virtual void setTreePointer(KinematicTree *tr) const
Definition: KinematicParticle.cc:28
KinematicParticle::operator==
virtual bool operator==(const KinematicParticle &other) const =0
KinematicParticle::KinematicParticle
KinematicParticle()
Definition: KinematicParticle.h:33
KinematicParticle::pState
ReferenceCountingPointer< KinematicParticle > pState
Definition: KinematicParticle.h:144
KinematicConstraint
Definition: KinematicConstraint.h:21
trackingPlots.other
other
Definition: trackingPlots.py:1467
Point3DBase< float, GlobalTag >
KinematicParticle::magneticField
const MagneticField * magneticField() const
Definition: KinematicParticle.h:122
KinematicParticle::degreesOfFreedom
virtual float degreesOfFreedom() const
Definition: KinematicParticle.cc:26
KinematicParticle::lastConstraint
virtual KinematicConstraint * lastConstraint() const
Definition: KinematicParticle.cc:18
KinematicParticle::theField
const MagneticField * theField
Definition: KinematicParticle.h:134
KinematicParticle::stateAtPoint
virtual KinematicState stateAtPoint(const GlobalPoint &point) const =0
KinematicParticle::ndf
float ndf
Definition: KinematicParticle.h:156
KinematicParticle::cState
KinematicState cState
Definition: KinematicParticle.h:151
KinematicParticle::lConstraint
KinematicConstraint * lConstraint
Definition: KinematicParticle.h:141
KinematicParticle::particleLinearizedTrackState
virtual RefCountedLinearizedTrackState particleLinearizedTrackState(const GlobalPoint &point) const =0
ReferenceCounted.h
KinematicParticle
Definition: KinematicParticle.h:21
reco::TransientTrack
Definition: TransientTrack.h:19
KinematicParticle::chiSquared
virtual float chiSquared() const
Definition: KinematicParticle.cc:24
RunInfoPI::state
state
Definition: RunInfoPayloadInspectoHelper.h:16
KinematicParticleVertexFitter
Definition: KinematicParticleVertexFitter.h:25
KinematicParticle::correspondingTree
virtual KinematicTree * correspondingTree() const
Definition: KinematicParticle.cc:22
KinematicParticle::chi2
float chi2
Definition: KinematicParticle.h:154
KinematicParticle::initState
KinematicState initState
Definition: KinematicParticle.h:148
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
LinearizedTrackState.h
MagneticField
Definition: MagneticField.h:19
KinematicParticle::RefCountedLinearizedTrackState
ReferenceCountingPointer< LinearizedTrackState< 6 > > RefCountedLinearizedTrackState
Definition: KinematicParticle.h:23
ReferenceCounted
ParticleMass.h
KinematicParticle::tree
KinematicTree * tree
Definition: KinematicParticle.h:138