CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
VertexTrack.h
Go to the documentation of this file.
1 #ifndef VertexTrack_H
2 #define VertexTrack_H
3 
8 #include "Math/SMatrix.h"
9 
15 template <unsigned int N>
16 class VertexTrack GCC11_FINAL : public ReferenceCounted {
17 
18 public:
19 
20  typedef ROOT::Math::SVector<double,N> AlgebraicVectorN;
21  typedef ROOT::Math::SMatrix<double,N-2,N-2,ROOT::Math::MatRepStd<double,N-2,N-2> > AlgebraicMatrixMM;
22  typedef ROOT::Math::SMatrix<double,3,N-2,ROOT::Math::MatRepStd<double,3,N-2> > AlgebraicMatrix3M;
23  typedef ROOT::Math::SMatrix<double,N+1,N+1,ROOT::Math::MatRepSym<double,N+1> > AlgebraicSymMatrixOO;
24 
25  //typedef ReferenceCountingPointer<VertexTrack<N> > RefCountedVertexTrack;
28 
32  VertexState v,
33  float weight);
34 
39  VertexState v,
40  float weight, const RefCountedRefittedTrackState & refittedState,
41  float smoothedChi2);
42 
47  VertexState v,
48  float weight, const RefCountedRefittedTrackState & refittedState,
49  float smoothedChi2, const AlgebraicSymMatrixOO & fullCov);
50 
53  RefCountedLinearizedTrackState linearizedTrack() const { return theLinTrack; }
54  VertexState vertexState() const { return theVertexState; }
55  float weight() const { return theWeight; }
56  bool refittedStateAvailable() const { return stAvailable; }
57  bool tkToVertexCovarianceAvailable() const { return covAvailable; }
58  bool fullCovarianceAvailable() const { return covAvailable; }
59 
66  float smoothedChi2() const { return smoothedChi2_; }
67 
68 
72  if (!refittedStateAvailable()) {
73  throw VertexException("VertexTrack::refitted state not available");
74  }
75  return theRefittedState;
76  }
77 
78 // /** Track to vertex covariance
79 // */
80 // AlgebraicMatrix3M tkToVtxCovariance() const;
81 
85  if (!tkToVertexCovarianceAvailable()) {
86  throw VertexException("VertexTrack::track to vertex covariance not available");
87  }
88  return fullCovariance_;
89  }
90 
94  bool operator==(const VertexTrack<N> & data) const
95  {
96  return ((*data.linearizedTrack()) == (*linearizedTrack()));
97  }
98 
101  AlgebraicVectorN refittedParamFromEquation() const;
102 
103 
104 private:
105 
107  VertexState theVertexState;
108  float theWeight;
113  ROOT::Math::SMatrix<double,6,6,ROOT::Math::MatRepSym<double,6> > b6;
114  ROOT::Math::SMatrix<double,7,7,ROOT::Math::MatRepSym<double,7> > b7;
116 };
117 
118 template <unsigned int N>
120  public:
123  bool operator()( const RefCountedVertexTrack & t ) const { return t->operator==(*track_);}
124  private:
126 };
127 
128 #endif
RefCountedRefittedTrackState theRefittedState
Definition: VertexTrack.h:111
ReferenceCountingPointer< LinearizedTrackState< N > > RefCountedLinearizedTrackState
Definition: VertexTrack.h:26
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > b6
Definition: VertexTrack.h:113
Common base class.
bool operator()(const RefCountedVertexTrack &t) const
Definition: VertexTrack.h:123
bool covAvailable
Definition: VertexTrack.h:110
bool refittedStateAvailable() const
Definition: VertexTrack.h:56
bool fullCovarianceAvailable() const
Definition: VertexTrack.h:58
float theWeight
Definition: VertexTrack.h:108
VertexState theVertexState
Definition: VertexTrack.h:107
AlgebraicSymMatrixOO fullCovariance() const
Definition: VertexTrack.h:84
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepStd< double, N-2, N-2 > > AlgebraicMatrixMM
Definition: VertexTrack.h:21
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > b7
Definition: VertexTrack.h:114
bool tkToVertexCovarianceAvailable() const
Definition: VertexTrack.h:57
const RefCountedVertexTrack & track_
Definition: VertexTrack.h:125
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: VertexTrack.h:27
float smoothedChi2_
Definition: VertexTrack.h:115
ROOT::Math::SVector< double, N > AlgebraicVectorN
Definition: VertexTrack.h:20
float weight() const
Definition: VertexTrack.h:55
RefCountedLinearizedTrackState linearizedTrack() const
Definition: VertexTrack.h:53
#define N
Definition: blowfish.cc:9
bool stAvailable
Definition: VertexTrack.h:109
ROOT::Math::SMatrix< double, 3, N-2, ROOT::Math::MatRepStd< double, 3, N-2 > > AlgebraicMatrix3M
Definition: VertexTrack.h:22
< trclass="colgroup">< tdclass="colgroup"colspan=5 > DT local reconstruction</td ></tr >< tr >< td >< ahref="classDTRecHit1DPair.html"> DTRecHit1DPair</a ></td >< td >< ahref="DataFormats_DTRecHit.html"> edm::RangeMap & lt
VertexTrackEqual(const RefCountedVertexTrack &t)
Definition: VertexTrack.h:122
VertexState vertexState() const
Definition: VertexTrack.h:54
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: VertexTrack.h:23
RefCountedRefittedTrackState refittedState() const
Definition: VertexTrack.h:71
int weight
Definition: histoStyle.py:50
float smoothedChi2() const
Definition: VertexTrack.h:66
bool operator==(const VertexTrack< N > &data) const
Definition: VertexTrack.h:94
RefCountedLinearizedTrackState theLinTrack
Definition: VertexTrack.h:106
ReferenceCountingPointer< VertexTrack< N > > RefCountedVertexTrack
Definition: VertexTrack.h:121
AlgebraicSymMatrixOO fullCovariance_
Definition: VertexTrack.h:112
Unlimited (trivial) bounds.