CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CachingVertex.h
Go to the documentation of this file.
1 #ifndef CachingVertex_H
2 #define CachingVertex_H
3 
8 
11 
14 
15 #include <vector>
16 #include <map>
17 
18 
19 
25 template <unsigned int N>
27 
28 public:
29 
31  typedef ROOT::Math::SMatrix<double,N,N,ROOT::Math::MatRepSym<double,N> > AlgebraicSymMatrixNN;
32  typedef ROOT::Math::SMatrix<double,N-2,N-2,ROOT::Math::MatRepStd<double,N-2,N-2> > AlgebraicMatrixMM;
33  typedef std::map<RefCountedVertexTrack, AlgebraicMatrixMM > TrackMap;
34  typedef std::map<RefCountedVertexTrack, TrackMap > TrackToTrackMap;
35 
38  CachingVertex(const GlobalPoint & pos, const GlobalError & posErr,
39  const std::vector<RefCountedVertexTrack> & tks, float totalChiSq);
40 
41  CachingVertex(const GlobalPoint & pos, const GlobalWeight & posWeight,
42  const std::vector<RefCountedVertexTrack> & tks, float totalChiSq);
43 
45  const GlobalWeight & posWeight,
46  const std::vector<RefCountedVertexTrack> & tks,
47  float totalChiSq);
48 
49  CachingVertex(const GlobalPoint & priorPos, const GlobalError & priorErr,
50  const GlobalPoint & pos, const GlobalError & posErr,
51  const std::vector<RefCountedVertexTrack> & tks, float totalChiSq);
52 
53  CachingVertex(const GlobalPoint & priorPos, const GlobalError & priorErr,
54  const GlobalPoint & pos, const GlobalWeight & posWeight,
55  const std::vector<RefCountedVertexTrack> & tks, float totalChiSq);
56 
57  CachingVertex(const GlobalPoint & priorPos, const GlobalError & priorErr,
59  const GlobalWeight & posWeight,
60  const std::vector<RefCountedVertexTrack> & tks,
61  float totalChiSq);
62 
63 
64  CachingVertex(const VertexState & aVertexState,
65  const std::vector<RefCountedVertexTrack> & tks, float totalChiSq);
66 
68  const VertexState & aVertexState,
69  const std::vector<RefCountedVertexTrack> & tks, float totalChiSq);
70 
71  CachingVertex(const VertexState & aVertexState,
72  const std::vector<RefCountedVertexTrack> & tks,
73  float totalChiSq, const TrackToTrackMap & covMap);
74 
76  const VertexState & aVertexState,
77  const std::vector<RefCountedVertexTrack> & tks,
78  float totalChiSq, const TrackToTrackMap & covMap);
79 
82  CachingVertex();
83 
88  GlobalPoint position() const;
89  GlobalError error() const;
90  GlobalWeight weight() const;
92  std::vector<RefCountedVertexTrack> tracks() const { return theTracks; }
95  bool hasPrior() const {return withPrior;}
96  bool isValid() const {return theValid;}
97 
100  float totalChiSquared() const { return theChiSquared; }
101  float degreesOfFreedom() const;
102 
106  const RefCountedVertexTrack t2) const;
108 
109  operator TransientVertex() const;
110 
111 private:
112 
113  void computeNDF() const;
114 
117  mutable float theNDF;
118  mutable bool theNDFAvailable;
119  std::vector<RefCountedVertexTrack> theTracks;
123  bool withPrior;
124 
125  bool theValid;
126 };
127 
128 
129 #endif
bool theCovMapAvailable
std::vector< RefCountedVertexTrack > tracks() const
Definition: CachingVertex.h:92
VertexState vertexState() const
Definition: CachingVertex.h:86
void computeNDF() const
VertexState thePriorVertexState
TrackToTrackMap theCovMap
GlobalPoint position() const
Definition: VertexState.h:29
GlobalError priorError() const
Definition: CachingVertex.h:94
ReferenceCountingPointer< VertexTrack< N > > RefCountedVertexTrack
Definition: CachingVertex.h:30
AlgebraicVector3 weightTimesPosition() const
GlobalWeight weight() const
VertexState priorVertexState() const
Definition: CachingVertex.h:87
float totalChiSquared() const
ROOT::Math::SVector< double, 3 > AlgebraicVector3
std::map< RefCountedVertexTrack, AlgebraicMatrixMM > TrackMap
Definition: CachingVertex.h:33
bool hasPrior() const
Definition: CachingVertex.h:95
float degreesOfFreedom() const
std::vector< RefCountedVertexTrack > theTracks
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
Definition: CachingVertex.h:31
AlgebraicMatrixMM tkToTkCovariance(const RefCountedVertexTrack t1, const RefCountedVertexTrack t2) const
bool tkToTkCovarianceIsAvailable() const
GlobalPoint position() const
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepStd< double, N-2, N-2 > > AlgebraicMatrixMM
Definition: CachingVertex.h:32
bool isValid() const
Definition: CachingVertex.h:96
std::map< RefCountedVertexTrack, TrackMap > TrackToTrackMap
Definition: CachingVertex.h:34
GlobalError error() const
Definition: VertexState.h:34
GlobalError error() const
VertexState theVertexState
GlobalPoint priorPosition() const
Definition: CachingVertex.h:93