CMS 3D CMS Logo

TemplatedSecondaryVertex.h
Go to the documentation of this file.
1 #ifndef RecoBTag_SecondaryVertex_TemplatedSecondaryVertex_h
2 #define RecoBTag_SecondaryVertex_TemplatedSecondaryVertex_h
3 
7 
8 namespace reco {
9 
10  template <class SV>
11  class TemplatedSecondaryVertex : public SV {
12  public:
15  const SV &sv,
16  const GlobalVector &direction,
17  bool withPVError = false)
18  : SV(sv),
19  dist1d_(computeDist1d(pv, sv, direction, withPVError)),
20  dist2d_(computeDist2d(pv, sv, direction, withPVError)),
21  dist3d_(computeDist3d(pv, sv, direction, withPVError)) {}
22 
24  inline Measurement1D dist1d() const { return dist1d_; }
25  inline Measurement1D dist2d() const { return dist2d_; }
26  inline Measurement1D dist3d() const { return dist3d_; }
28  const SV &sv,
29  const GlobalVector &direction,
30  bool withPVError);
32  // const reco::Vertex &pv, const reco::Vertex &sv,
33  const reco::Vertex &pv,
34  const SV &sv,
35  const GlobalVector &direction,
36  bool withPVError);
38  // const reco::Vertex &pv, const reco::Vertex &sv,
39  const reco::Vertex &pv,
40  const SV &sv,
41  const GlobalVector &direction,
42  bool withPVError);
43  operator reco::Vertex();
44 
45  private:
49  };
50 
51 } // namespace reco
52 
53 #endif // RecoBTag_SecondaryVertex_TemplatedSecondaryVertex_h
static Measurement1D computeDist3d(const reco::Vertex &pv, const SV &sv, const GlobalVector &direction, bool withPVError)
TemplatedSecondaryVertex(const reco::Vertex &pv, const SV &sv, const GlobalVector &direction, bool withPVError=false)
static Measurement1D computeDist2d(const reco::Vertex &pv, const SV &sv, const GlobalVector &direction, bool withPVError)
static Measurement1D computeDist1d(const reco::Vertex &pv, const SV &sv, const GlobalVector &direction, bool withPVError)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:28
fixed size matrix