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"
10 
16 template <unsigned int N>
17 class VertexTrack : public ReferenceCounted {
18 
19 public:
20 
21  typedef ROOT::Math::SVector<double,N> AlgebraicVectorN;
22  typedef ROOT::Math::SMatrix<double,N-2,N-2,ROOT::Math::MatRepStd<double,N-2,N-2> > AlgebraicMatrixMM;
23  typedef ROOT::Math::SMatrix<double,3,N-2,ROOT::Math::MatRepStd<double,3,N-2> > AlgebraicMatrix3M;
24  typedef ROOT::Math::SMatrix<double,N+1,N+1,ROOT::Math::MatRepSym<double,N+1> > AlgebraicSymMatrixOO;
25 
26  //typedef ReferenceCountingPointer<VertexTrack<N> > RefCountedVertexTrack;
29 
33  const VertexState v,
34  float weight);
35 
40  const VertexState v,
42  float smoothedChi2);
43 
48  const VertexState v,
50  float smoothedChi2, 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 
69 
73  if (!refittedStateAvailable()) {
74  throw VertexException("VertexTrack::refitted state not available");
75  }
76  return theRefittedState;
77  }
78 
79 // /** Track to vertex covariance
80 // */
81 // AlgebraicMatrix3M tkToVtxCovariance() const;
82 
87  throw VertexException("VertexTrack::track to vertex covariance not available");
88  }
89  return fullCovariance_;
90  }
91 
95  bool operator==(const VertexTrack<N> & data) const
96  {
97  return ((*data.linearizedTrack()) == (*linearizedTrack()));
98  }
99 
103 
104 
105 private:
106 
109  float theWeight;
114  ROOT::Math::SMatrix<double,6,6,ROOT::Math::MatRepSym<double,6> > b6;
115  ROOT::Math::SMatrix<double,7,7,ROOT::Math::MatRepSym<double,7> > b7;
117 };
118 
119 template <unsigned int N>
121  public:
124  bool operator()( const RefCountedVertexTrack & t ) const { return t->operator==(*track_);}
125  private:
127 };
128 
129 #endif
VertexState vertexState() const
Definition: VertexTrack.h:55
bool tkToVertexCovarianceAvailable() const
Definition: VertexTrack.h:58
Common base class.
AlgebraicVectorN refittedParamFromEquation() const
Definition: VertexTrack.cc:34
float smoothedChi2_
Definition: VertexTrack.h:116
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > b6
Definition: VertexTrack.h:114
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: VertexTrack.h:24
bool operator()(const RefCountedVertexTrack &t) const
Definition: VertexTrack.h:124
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepStd< double, N-2, N-2 > > AlgebraicMatrixMM
Definition: VertexTrack.h:22
bool stAvailable
Definition: VertexTrack.h:110
bool refittedStateAvailable() const
Definition: VertexTrack.h:57
float smoothedChi2() const
Definition: VertexTrack.h:67
AlgebraicSymMatrixOO fullCovariance_
Definition: VertexTrack.h:113
VertexState theVertexState
Definition: VertexTrack.h:108
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Muon Digi collections</td >< tr >< td >< ahref="classDTDigi.html"> DTDigi</a ></td >< td >< ahref="DataFormats_DTDigi.html"> MuonDigiCollection & lt
bool operator==(const VertexTrack< N > &data) const
Definition: VertexTrack.h:95
const RefCountedVertexTrack & track_
Definition: VertexTrack.h:126
ROOT::Math::SVector< double, N > AlgebraicVectorN
Definition: VertexTrack.h:21
RefCountedRefittedTrackState theRefittedState
Definition: VertexTrack.h:112
AlgebraicSymMatrixOO fullCovariance() const
Definition: VertexTrack.h:85
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > b7
Definition: VertexTrack.h:115
RefCountedRefittedTrackState refittedState() const
Definition: VertexTrack.h:72
ReferenceCountingPointer< LinearizedTrackState< N > > RefCountedLinearizedTrackState
Definition: VertexTrack.h:27
float weight() const
Definition: VertexTrack.h:56
float theWeight
Definition: VertexTrack.h:109
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: VertexTrack.h:28
VertexTrackEqual(const RefCountedVertexTrack &t)
Definition: VertexTrack.h:123
bool covAvailable
Definition: VertexTrack.h:111
bool fullCovarianceAvailable() const
Definition: VertexTrack.h:59
RefCountedLinearizedTrackState linearizedTrack() const
Definition: VertexTrack.h:54
VertexTrack(const RefCountedLinearizedTrackState lt, const VertexState v, float weight)
Definition: VertexTrack.cc:5
ReferenceCountingPointer< VertexTrack< N > > RefCountedVertexTrack
Definition: VertexTrack.h:122
mathSSE::Vec4< T > v
ROOT::Math::SMatrix< double, 3, N-2, ROOT::Math::MatRepStd< double, 3, N-2 > > AlgebraicMatrix3M
Definition: VertexTrack.h:23
RefCountedLinearizedTrackState theLinTrack
Definition: VertexTrack.h:107