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 
22 #include "TVector3.h"
23 
24 namespace reco {
26  enum { dimension = 3 };
27  enum { covarianceSize = dimension * (dimension + 1) / 2 };
28 
29  public:
33 
36  PFTauTransverseImpactParameter(const Point&, double, double, const Point&, double, double, const VertexRef&);
38  double,
39  double,
40  const Point&,
41  double,
42  double,
43  const VertexRef&,
44  const Point&,
45  double,
46  const VertexRef&);
47 
50 
51  const Point& dxy_PCA() const { return pca_; }
52  double dxy() const { return dxy_; }
53  double dxy_error() const { return dxy_error_; }
54  double dxy_Sig() const { return (dxy_error_ != 0) ? (dxy_ / dxy_error_) : 0.; }
55  const Point& ip3d_PCA() const { return pca3d_; }
56  double ip3d() const { return ip3d_; }
57  double ip3d_error() const { return ip3d_error_; }
58  double ip3d_Sig() const { return (ip3d_error_ != 0) ? (ip3d_ / ip3d_error_) : 0.; }
59  const VertexRef& primaryVertex() const { return PV_; }
60  Point primaryVertexPos() const;
62  bool hasSecondaryVertex() const { return hasSV_; }
63  const Vector& flightLength() const;
64  double flightLengthSig() const;
65  CovMatrix flightLengthCov() const;
66  const VertexRef& secondaryVertex() const { return SV_; }
67  Point secondaryVertexPos() const;
69 
70  private:
72  double dxy_;
73  double dxy_error_;
75  double ip3d_;
76  double ip3d_error_;
78  bool hasSV_;
82  };
83 } // namespace reco
84 
85 #endif
reco::PFTauTransverseImpactParameter::flightLengthCov
CovMatrix flightLengthCov() const
Definition: PFTauTransverseImpactParameter.cc:101
reco::PFTauTransverseImpactParameter::dxy_error
double dxy_error() const
Definition: PFTauTransverseImpactParameter.h:53
MessageLogger.h
reco::PFTauTransverseImpactParameter::FlightLengthSig_
double FlightLengthSig_
Definition: PFTauTransverseImpactParameter.h:80
reco::PFTauTransverseImpactParameter::hasSV_
bool hasSV_
Definition: PFTauTransverseImpactParameter.h:78
reco::PFTauTransverseImpactParameter::Vector
math::XYZVector Vector
Definition: PFTauTransverseImpactParameter.h:32
reco::PFTauTransverseImpactParameter::ip3d_error_
double ip3d_error_
Definition: PFTauTransverseImpactParameter.h:76
reco::PFTauTransverseImpactParameter::secondaryVertex
const VertexRef & secondaryVertex() const
Definition: PFTauTransverseImpactParameter.h:66
reco::PFTauTransverseImpactParameter::dimension
Definition: PFTauTransverseImpactParameter.h:26
reco::PFTauTransverseImpactParameter::dxy_error_
double dxy_error_
Definition: PFTauTransverseImpactParameter.h:73
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::PFTauTransverseImpactParameter::pca_
Point pca_
Definition: PFTauTransverseImpactParameter.h:71
reco::PFTauTransverseImpactParameter::primaryVertexPos
Point primaryVertexPos() const
Definition: PFTauTransverseImpactParameter.cc:50
edm::Ref< VertexCollection >
reco::PFTauTransverseImpactParameter::dxy
double dxy() const
Definition: PFTauTransverseImpactParameter.h:52
reco::PFTauTransverseImpactParameter::secondaryVertexPos
Point secondaryVertexPos() const
Definition: PFTauTransverseImpactParameter.cc:82
reco::PFTauTransverseImpactParameter::flightLengthSig
double flightLengthSig() const
Definition: PFTauTransverseImpactParameter.cc:71
reco::PFTauTransverseImpactParameter::ip3d_
double ip3d_
Definition: PFTauTransverseImpactParameter.h:75
reco::PFTauTransverseImpactParameter::PFTauTransverseImpactParameter
PFTauTransverseImpactParameter()
Definition: PFTauTransverseImpactParameter.h:34
reco::PFTauTransverseImpactParameter::clone
PFTauTransverseImpactParameter * clone() const
Definition: PFTauTransverseImpactParameter.cc:46
reco::PFTauTransverseImpactParameter::pca3d_
Point pca3d_
Definition: PFTauTransverseImpactParameter.h:74
reco::PFTauTransverseImpactParameter::ip3d_Sig
double ip3d_Sig() const
Definition: PFTauTransverseImpactParameter.h:58
reco::PFTauTransverseImpactParameter::covarianceSize
Definition: PFTauTransverseImpactParameter.h:27
reco::PFTauTransverseImpactParameter
Definition: PFTauTransverseImpactParameter.h:25
reco::PFTauTransverseImpactParameter::primaryVertexCov
CovMatrix primaryVertexCov() const
Definition: PFTauTransverseImpactParameter.cc:57
Vertex.h
reco::PFTauTransverseImpactParameter::hasSecondaryVertex
bool hasSecondaryVertex() const
Definition: PFTauTransverseImpactParameter.h:62
reco::PFTauTransverseImpactParameter::CovMatrix
math::Error< dimension >::type CovMatrix
Definition: PFTauTransverseImpactParameter.h:30
Error.h
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
reco::PFTauTransverseImpactParameter::~PFTauTransverseImpactParameter
virtual ~PFTauTransverseImpactParameter()
Definition: PFTauTransverseImpactParameter.h:48
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
math::Vector
fixed size vector
Definition: Vector.h:24
reco::PFTauTransverseImpactParameter::SV_
VertexRef SV_
Definition: PFTauTransverseImpactParameter.h:81
reco::PFTauTransverseImpactParameter::ip3d
double ip3d() const
Definition: PFTauTransverseImpactParameter.h:56
reco::PFTauTransverseImpactParameter::ip3d_error
double ip3d_error() const
Definition: PFTauTransverseImpactParameter.h:57
reco::PFTauTransverseImpactParameter::dxy_PCA
const Point & dxy_PCA() const
Definition: PFTauTransverseImpactParameter.h:51
reco::PFTauTransverseImpactParameter::dxy_Sig
double dxy_Sig() const
Definition: PFTauTransverseImpactParameter.h:54
reco::PFTauTransverseImpactParameter::dxy_
double dxy_
Definition: PFTauTransverseImpactParameter.h:72
VertexFwd.h
reco::PFTauTransverseImpactParameter::Point
math::XYZPoint Point
Definition: PFTauTransverseImpactParameter.h:31
reco::PFTauTransverseImpactParameter::ip3d_PCA
const Point & ip3d_PCA() const
Definition: PFTauTransverseImpactParameter.h:55
math::Error::type
ErrorD< N >::type type
Definition: Error.h:32
reco::PFTauTransverseImpactParameter::PV_
VertexRef PV_
Definition: PFTauTransverseImpactParameter.h:77
Point3D.h
reco::PFTauTransverseImpactParameter::secondaryVertexCov
CovMatrix secondaryVertexCov() const
Definition: PFTauTransverseImpactParameter.cc:89
reco::PFTauTransverseImpactParameter::primaryVertex
const VertexRef & primaryVertex() const
Definition: PFTauTransverseImpactParameter.h:59
Vector3D.h
reco::PFTauTransverseImpactParameter::FlightLength_
Vector FlightLength_
Definition: PFTauTransverseImpactParameter.h:79
reco::PFTauTransverseImpactParameter::flightLength
const Vector & flightLength() const
Definition: PFTauTransverseImpactParameter.cc:67