test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
22 #include "TVector3.h"
23 
24 namespace reco
25 {
27  {
28  enum { dimension = 3 };
29  enum { covarianceSize = dimension * ( dimension + 1 ) / 2 };
30 
31  public:
35 
38  PFTauTransverseImpactParameter(const Point&, double, double, const VertexRef&);
39  PFTauTransverseImpactParameter(const Point&, double, double, const VertexRef&, const Point&, double, const VertexRef&);
40 
43 
44  const Point& dxy_PCA() const { return pca_; }
45  double dxy() const { return dxy_; }
46  double dxy_error() const { return dxy_error_; }
47  double dxy_Sig() const { return ( dxy_error_ != 0 ) ? (dxy_/dxy_error_) : 0.; }
48  const VertexRef& primaryVertex() const { return PV_; }
49  Point primaryVertexPos() const;
50  CovMatrix primaryVertexCov() const;
51  bool hasSecondaryVertex() const { return hasSV_; }
52  const Vector& flightLength() const;
53  double flightLengthSig() const;
54  CovMatrix flightLengthCov() const;
55  const VertexRef& secondaryVertex() const { return SV_; }
56  Point secondaryVertexPos() const;
57  CovMatrix secondaryVertexCov() const;
58 
59  private:
60  Point pca_;
61  double dxy_;
62  double dxy_error_;
64  bool hasSV_;
65  Vector FlightLength_;
68  };
69 }
70 
71 #endif
ErrorD< N >::type type
Definition: Error.h:39
PFTauTransverseImpactParameter * clone() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12