CMS 3D CMS Logo

BasicSingleVertexState.h
Go to the documentation of this file.
1 #ifndef BasicSingleVertexState_H
2 #define BasicSingleVertexState_H
3 
5 
6 //#include "CommonReco/CommonVertex/interface/RefCountedVertexSeed.h"
7 
13 public:
17  BasicSingleVertexState(const GlobalPoint& pos, const GlobalError& posErr, const double& weightInMix = 1.0);
18  BasicSingleVertexState(const GlobalPoint& pos, const GlobalWeight& posWeight, const double& weightInMix = 1.0);
20  const GlobalWeight& posWeight,
21  const double& weightInMix = 1.0);
22 
23  // constructors with time (ignores off-diagonals in fit)
25  const GlobalError& posErr,
26  const double time,
27  const double timeError,
28  const double& weightInMix = 1.0);
30  const GlobalWeight& posWeight,
31  const double time,
32  const double timeWeight,
33  const double& weightInMix = 1.0);
35  const GlobalWeight& posWeight,
36  const double weightTimesTime,
37  const double timeWeight,
38  const double& weightInMix = 1.0);
39 
40  // constructors with time, full cov
42  const double time,
43  const GlobalError& posTimeErr,
44  const double& weightInMix = 1.0);
46  const double time,
47  const GlobalWeight& posTimeWeight,
48  const double& weightInMix = 1.0);
50  const GlobalWeight& posTimeWeight,
51  const double& weightInMix = 1.0);
52 
55  pointer clone() const override { return build<BasicSingleVertexState>(*this); }
56 
57  GlobalPoint position() const override;
58  GlobalError error() const override;
59  GlobalError error4D() const override;
60  double time() const override;
61  double timeError() const override;
62  GlobalWeight weight() const override;
63  GlobalWeight weight4D() const override;
64  AlgebraicVector3 weightTimesPosition() const override;
65  AlgebraicVector4 weightTimesPosition4D() const override;
66  double weightInMixture() const override;
67 
71  bool isValid() const override { return valid; }
72  bool is4D() const override { return vertexIs4D; }
73 
74 private:
75  void computePosition() const;
76  void computeError() const;
77  void computeWeight() const;
78  void computeWeightTimesPos() const;
79 
81  mutable double theTime;
82 
85 
88 
89  mutable bool thePosAvailable;
90  mutable bool theTimeAvailable;
91  mutable bool theErrAvailable;
92  mutable bool theWeightAvailable;
94 
95  bool valid;
96  bool vertexIs4D;
97 };
98 
99 #endif
bool is4D() const override
double time() const override
bool isValid() const override
Proxy::pointer pointer
GlobalError error() const override
GlobalPoint position() const override
pointer clone() const override
double timeError() const override
ROOT::Math::SVector< double, 4 > AlgebraicVector4
AlgebraicVector4 weightTimesPosition4D() const override
AlgebraicVector3 weightTimesPosition() const override
GlobalError error4D() const override
double weightInMixture() const override
ROOT::Math::SVector< double, 3 > AlgebraicVector3
GlobalWeight weight() const override
GlobalWeight weight4D() const override
AlgebraicVector4 theWeightTimesPos