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 : 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  const VertexState v,
33  float weight);
34 
39  const VertexState v,
41  float smoothedChi2);
42 
47  const VertexState v,
49  float smoothedChi2, const AlgebraicSymMatrixOO & fullCov);
50 
55  float weight() const { return theWeight; }
56  bool refittedStateAvailable() const { return stAvailable; }
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 
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 
102 
103 
104 private:
105 
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
VertexState vertexState() const
Definition: VertexTrack.h:54
bool tkToVertexCovarianceAvailable() const
Definition: VertexTrack.h:57
Common base class.
AlgebraicVectorN refittedParamFromEquation() const
Definition: VertexTrack.cc:34
float smoothedChi2_
Definition: VertexTrack.h:115
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > b6
Definition: VertexTrack.h:113
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: VertexTrack.h:23
bool operator()(const RefCountedVertexTrack &t) const
Definition: VertexTrack.h:123
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepStd< double, N-2, N-2 > > AlgebraicMatrixMM
Definition: VertexTrack.h:21
bool stAvailable
Definition: VertexTrack.h:109
bool refittedStateAvailable() const
Definition: VertexTrack.h:56
float smoothedChi2() const
Definition: VertexTrack.h:66
AlgebraicSymMatrixOO fullCovariance_
Definition: VertexTrack.h:112
VertexState theVertexState
Definition: VertexTrack.h:107
bool operator==(const VertexTrack< N > &data) const
Definition: VertexTrack.h:94
const RefCountedVertexTrack & track_
Definition: VertexTrack.h:125
ROOT::Math::SVector< double, N > AlgebraicVectorN
Definition: VertexTrack.h:20
RefCountedRefittedTrackState theRefittedState
Definition: VertexTrack.h:111
AlgebraicSymMatrixOO fullCovariance() const
Definition: VertexTrack.h:84
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > b7
Definition: VertexTrack.h:114
#define N
Definition: blowfish.cc:9
RefCountedRefittedTrackState refittedState() const
Definition: VertexTrack.h:71
ReferenceCountingPointer< LinearizedTrackState< N > > RefCountedLinearizedTrackState
Definition: VertexTrack.h:26
float weight() const
Definition: VertexTrack.h:55
float theWeight
Definition: VertexTrack.h:108
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: VertexTrack.h:27
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
< 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
bool covAvailable
Definition: VertexTrack.h:110
bool fullCovarianceAvailable() const
Definition: VertexTrack.h:58
RefCountedLinearizedTrackState linearizedTrack() const
Definition: VertexTrack.h:53
VertexTrack(const RefCountedLinearizedTrackState lt, const VertexState v, float weight)
Definition: VertexTrack.cc:5
ReferenceCountingPointer< VertexTrack< N > > RefCountedVertexTrack
Definition: VertexTrack.h:121
mathSSE::Vec4< T > v
ROOT::Math::SMatrix< double, 3, N-2, ROOT::Math::MatRepStd< double, 3, N-2 > > AlgebraicMatrix3M
Definition: VertexTrack.h:22
RefCountedLinearizedTrackState theLinTrack
Definition: VertexTrack.h:106