CMS 3D CMS Logo

VertexTrack.h
Go to the documentation of this file.
1 #ifndef VertexTrack_H
2 #define VertexTrack_H
3 
8 
9 #define SMATRIX_USE_CONSTEXPR
10 #include "Math/SMatrix.h"
11 
17 template <unsigned int N>
18 class VertexTrack final : public ReferenceCounted {
19 public:
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 
37  VertexState v,
38  float weight,
40  float smoothedChi2);
41 
46  VertexState v,
47  float weight,
49  float smoothedChi2,
50  const AlgebraicSymMatrixOO& fullCov);
51 
56  float weight() const { return theWeight; }
57  bool refittedStateAvailable() const { return stAvailable; }
59  bool fullCovarianceAvailable() const { return covAvailable; }
60 
67  float smoothedChi2() const { return smoothedChi2_; }
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 
86  throw VertexException("VertexTrack::track to vertex covariance not available");
87  }
88  return fullCovariance_;
89  }
90 
94  bool operator==(const VertexTrack<N>& data) const { return ((*data.linearizedTrack()) == (*linearizedTrack())); }
95 
99 
100 private:
103  float theWeight;
108  ROOT::Math::SMatrix<double, 6, 6, ROOT::Math::MatRepSym<double, 6> > b6;
109  ROOT::Math::SMatrix<double, 7, 7, ROOT::Math::MatRepSym<double, 7> > b7;
111 };
112 
113 template <unsigned int N>
115 public:
118  bool operator()(const RefCountedVertexTrack& t) const { return t->operator==(*track_); }
119 
120 private:
122 };
123 
124 #endif
VertexTrack::theLinTrack
RefCountedLinearizedTrackState theLinTrack
Definition: VertexTrack.h:101
VertexTrack::AlgebraicMatrixMM
ROOT::Math::SMatrix< double, N - 2, N - 2, ROOT::Math::MatRepStd< double, N - 2, N - 2 > > AlgebraicMatrixMM
Definition: VertexTrack.h:21
VertexException
Common base class.
Definition: VertexException.h:12
VertexTrack::b6
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > b6
Definition: VertexTrack.h:108
VertexTrack::stAvailable
bool stAvailable
Definition: VertexTrack.h:104
VertexTrack::refittedParamFromEquation
AlgebraicVectorN refittedParamFromEquation() const
Definition: VertexTrack.cc:43
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
findQualityFiles.v
v
Definition: findQualityFiles.py:179
VertexTrack::refittedState
RefCountedRefittedTrackState refittedState() const
Definition: VertexTrack.h:71
VertexTrack::smoothedChi2
float smoothedChi2() const
Definition: VertexTrack.h:67
VertexTrack::fullCovariance_
AlgebraicSymMatrixOO fullCovariance_
Definition: VertexTrack.h:107
VertexTrack::smoothedChi2_
float smoothedChi2_
Definition: VertexTrack.h:110
VertexTrack::refittedStateAvailable
bool refittedStateAvailable() const
Definition: VertexTrack.h:57
VertexTrack::AlgebraicSymMatrixOO
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: VertexTrack.h:23
VertexTrack::b7
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > b7
Definition: VertexTrack.h:109
N
#define N
Definition: blowfish.cc:9
VertexState.h
OrderedSet.t
t
Definition: OrderedSet.py:90
VertexTrack::theVertexState
VertexState theVertexState
Definition: VertexTrack.h:102
VertexTrack::VertexTrack
VertexTrack(RefCountedLinearizedTrackState lt, VertexState v, float weight)
Definition: VertexTrack.cc:4
VertexTrack::theRefittedState
RefCountedRefittedTrackState theRefittedState
Definition: VertexTrack.h:106
VertexTrack::AlgebraicVectorN
ROOT::Math::SVector< double, N > AlgebraicVectorN
Definition: VertexTrack.h:20
VertexTrack::RefCountedRefittedTrackState
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: VertexTrack.h:27
VertexTrack
Definition: VertexTrack.h:18
VertexTrackEqual::VertexTrackEqual
VertexTrackEqual(const RefCountedVertexTrack &t)
Definition: VertexTrack.h:117
VertexTrack::linearizedTrack
RefCountedLinearizedTrackState linearizedTrack() const
Definition: VertexTrack.h:54
VertexTrack::fullCovarianceAvailable
bool fullCovarianceAvailable() const
Definition: VertexTrack.h:59
VertexTrack::operator==
bool operator==(const VertexTrack< N > &data) const
Definition: VertexTrack.h:94
VertexTrackEqual::operator()
bool operator()(const RefCountedVertexTrack &t) const
Definition: VertexTrack.h:118
VertexTrack::RefCountedLinearizedTrackState
ReferenceCountingPointer< LinearizedTrackState< N > > RefCountedLinearizedTrackState
Definition: VertexTrack.h:26
VertexTrackEqual::RefCountedVertexTrack
ReferenceCountingPointer< VertexTrack< N > > RefCountedVertexTrack
Definition: VertexTrack.h:116
VertexState
Definition: VertexState.h:13
VertexTrack::tkToVertexCovarianceAvailable
bool tkToVertexCovarianceAvailable() const
Definition: VertexTrack.h:58
VertexTrack::vertexState
VertexState vertexState() const
Definition: VertexTrack.h:55
VertexTrack::theWeight
float theWeight
Definition: VertexTrack.h:103
VertexException.h
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
VertexTrackEqual
Definition: VertexTrack.h:114
VertexTrack::covAvailable
bool covAvailable
Definition: VertexTrack.h:105
LinearizedTrackState.h
ReferenceCounted
VertexTrackEqual::track_
const RefCountedVertexTrack & track_
Definition: VertexTrack.h:121
RefittedTrackState.h
VertexTrack::AlgebraicMatrix3M
ROOT::Math::SMatrix< double, 3, N - 2, ROOT::Math::MatRepStd< double, 3, N - 2 > > AlgebraicMatrix3M
Definition: VertexTrack.h:22
weight
Definition: weight.py:1
VertexTrack::fullCovariance
AlgebraicSymMatrixOO fullCovariance() const
Definition: VertexTrack.h:84
VertexTrack::weight
float weight() const
Definition: VertexTrack.h:56