CMS 3D CMS Logo

PFTauTransverseImpactParameter.h
Go to the documentation of this file.
1 #ifndef DataFormats_TauReco_PFTauTransverseImpactParameter_h
2 #define DataFormats_TauReco_PFTauTransverseImpactParameter_h
3 
4 /* class PFTauTransverseImpactParameter
5  *
6  * Stores information on the impact paramters and flight length of the hadronic decay of a tau lepton
7  *
8  * author: Ian M. Nugent
9  * This work is based on the impact parameter work by Rosamaria Venditti and reconstructing the 3 prong taus.
10  * The idea of the fully reconstructing the tau using a kinematic fit comes from
11  * Lars Perchalla and Philip Sauerland Theses under Achim Stahl supervision. This
12  * work was continued by Ian M. Nugent and Vladimir Cherepanov.
13  * Thanks goes to Christian Veelken and Evan Klose Friis for their help and suggestions.
14  */
15 
21 #include "TVector3.h"
22 
23 namespace reco {
25  enum { dimension = 3 };
26  enum { covarianceSize = dimension * (dimension + 1) / 2 };
27 
28  public:
32 
35  PFTauTransverseImpactParameter(const Point&, double, double, const Point&, double, double, const VertexRef&);
37  double,
38  double,
39  const Point&,
40  double,
41  double,
42  const VertexRef&,
43  const Point&,
44  double,
45  const VertexRef&);
46 
49 
50  const Point& dxy_PCA() const { return pca_; }
51  double dxy() const { return dxy_; }
52  double dxy_error() const { return dxy_error_; }
53  double dxy_Sig() const { return (dxy_error_ != 0) ? (dxy_ / dxy_error_) : 0.; }
54  const Point& ip3d_PCA() const { return pca3d_; }
55  double ip3d() const { return ip3d_; }
56  double ip3d_error() const { return ip3d_error_; }
57  double ip3d_Sig() const { return (ip3d_error_ != 0) ? (ip3d_ / ip3d_error_) : 0.; }
58  const VertexRef& primaryVertex() const { return PV_; }
59  Point primaryVertexPos() const;
61  bool hasSecondaryVertex() const { return hasSV_; }
62  const Vector& flightLength() const;
63  double flightLengthSig() const;
64  CovMatrix flightLengthCov() const;
65  const VertexRef& secondaryVertex() const { return SV_; }
66  Point secondaryVertexPos() const;
68 
69  private:
71  double dxy_{0};
72  double dxy_error_{0};
74  double ip3d_{0};
75  double ip3d_error_{0};
77  bool hasSV_{false};
79  double FlightLengthSig_{0};
81  };
82 } // namespace reco
83 
84 #endif
ErrorD< N >::type type
Definition: Error.h:32
PFTauTransverseImpactParameter * clone() const
fixed size vector
Definition: Vector.h:24
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
fixed size matrix
Structure Point Contains parameters of Gaussian fits to DMRs.