CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Types | Private Attributes
reco::PFTauTransverseImpactParameter Class Reference

#include <PFTauTransverseImpactParameter.h>

Public Types

typedef math::Error< dimension >::type CovMatrix
 
typedef math::XYZPoint Point
 
typedef math::XYZVector Vector
 

Public Member Functions

PFTauTransverseImpactParameterclone () const
 
double dxy () const
 
double dxy_error () const
 
const Pointdxy_PCA () const
 
double dxy_Sig () const
 
const VectorflightLength () const
 
CovMatrix flightLengthCov () const
 
double flightLengthSig () const
 
bool hasSecondaryVertex () const
 
double ip3d () const
 
double ip3d_error () const
 
const Pointip3d_PCA () const
 
double ip3d_Sig () const
 
 PFTauTransverseImpactParameter ()
 
 PFTauTransverseImpactParameter (const Point &, double, double, const Point &, double, double, const VertexRef &)
 constructor from values More...
 
 PFTauTransverseImpactParameter (const Point &, double, double, const Point &, double, double, const VertexRef &, const Point &, double, const VertexRef &)
 
const VertexRefprimaryVertex () const
 
CovMatrix primaryVertexCov () const
 
Point primaryVertexPos () const
 
const VertexRefsecondaryVertex () const
 
CovMatrix secondaryVertexCov () const
 
Point secondaryVertexPos () const
 
virtual ~PFTauTransverseImpactParameter ()
 

Private Types

enum  { dimension = 3 }
 
enum  { covarianceSize = dimension * (dimension + 1) / 2 }
 

Private Attributes

double dxy_ {0}
 
double dxy_error_ {0}
 
Vector FlightLength_
 
double FlightLengthSig_ {0}
 
bool hasSV_ {false}
 
double ip3d_ {0}
 
double ip3d_error_ {0}
 
Point pca3d_
 
Point pca_
 
VertexRef PV_
 
VertexRef SV_
 

Detailed Description

Definition at line 24 of file PFTauTransverseImpactParameter.h.

Member Typedef Documentation

◆ CovMatrix

Definition at line 29 of file PFTauTransverseImpactParameter.h.

◆ Point

Definition at line 30 of file PFTauTransverseImpactParameter.h.

◆ Vector

Definition at line 31 of file PFTauTransverseImpactParameter.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

◆ anonymous enum

anonymous enum
private

Constructor & Destructor Documentation

◆ PFTauTransverseImpactParameter() [1/3]

reco::PFTauTransverseImpactParameter::PFTauTransverseImpactParameter ( )
inline

Definition at line 33 of file PFTauTransverseImpactParameter.h.

Referenced by clone().

33 {}

◆ PFTauTransverseImpactParameter() [2/3]

PFTauTransverseImpactParameter::PFTauTransverseImpactParameter ( const Point pca,
double  thedxy,
double  thedxy_error,
const Point pca3d,
double  theip3d,
double  theip3d_error,
const VertexRef PV 
)

◆ PFTauTransverseImpactParameter() [3/3]

PFTauTransverseImpactParameter::PFTauTransverseImpactParameter ( const Point pca,
double  thedxy,
double  thedxy_error,
const Point pca3d,
double  theip3d,
double  theip3d_error,
const VertexRef PV,
const Point theFlightLength,
double  theFlightLengthSig,
const VertexRef SV 
)

Definition at line 24 of file PFTauTransverseImpactParameter.cc.

34  : pca_(pca),
35  dxy_(thedxy),
36  dxy_error_(thedxy_error),
37  pca3d_(pca3d),
38  ip3d_(theip3d),
39  ip3d_error_(theip3d_error),
40  PV_(PV),
41  hasSV_(true),
42  FlightLength_(theFlightLength),
43  FlightLengthSig_(theFlightLengthSig),
44  SV_(SV) {}

◆ ~PFTauTransverseImpactParameter()

virtual reco::PFTauTransverseImpactParameter::~PFTauTransverseImpactParameter ( )
inlinevirtual

Definition at line 47 of file PFTauTransverseImpactParameter.h.

47 {}

Member Function Documentation

◆ clone()

PFTauTransverseImpactParameter * PFTauTransverseImpactParameter::clone ( void  ) const

◆ dxy()

double reco::PFTauTransverseImpactParameter::dxy ( ) const
inline

◆ dxy_error()

double reco::PFTauTransverseImpactParameter::dxy_error ( ) const
inline

◆ dxy_PCA()

const Point& reco::PFTauTransverseImpactParameter::dxy_PCA ( ) const
inline

◆ dxy_Sig()

double reco::PFTauTransverseImpactParameter::dxy_Sig ( ) const
inline

◆ flightLength()

const PFTauTransverseImpactParameter::Vector & PFTauTransverseImpactParameter::flightLength ( ) const

◆ flightLengthCov()

PFTauTransverseImpactParameter::CovMatrix PFTauTransverseImpactParameter::flightLengthCov ( ) const

◆ flightLengthSig()

double PFTauTransverseImpactParameter::flightLengthSig ( ) const

Definition at line 71 of file PFTauTransverseImpactParameter.cc.

References FlightLengthSig_, and hasSV_.

Referenced by PFRecoTauDiscriminationByIsolationMVA2::discriminate(), reco::tau::PFRecoTauDiscriminationByMVAIsolationRun2::discriminate(), and pat::PATTauProducer::produce().

71  {
72  if (hasSV_) {
73  //std::cout << "<PFTauTransverseImpactParameter::flightLengthSig>:" << std::endl;
74  //VertexDistance3D vtxdist;
75  //std::cout << "oldValue = " << vtxdist.distance(*PV_, *SV_).significance() << std::endl; // transforms using the jacobian then computes distance/uncertainty
76  //std::cout << "newValue = " << FlightLengthSig_ << std::endl;
77  return FlightLengthSig_;
78  }
79  return -9.9;
80 }

◆ hasSecondaryVertex()

bool reco::PFTauTransverseImpactParameter::hasSecondaryVertex ( ) const
inline

◆ ip3d()

double reco::PFTauTransverseImpactParameter::ip3d ( ) const
inline

◆ ip3d_error()

double reco::PFTauTransverseImpactParameter::ip3d_error ( ) const
inline

◆ ip3d_PCA()

const Point& reco::PFTauTransverseImpactParameter::ip3d_PCA ( ) const
inline

Definition at line 54 of file PFTauTransverseImpactParameter.h.

References pca3d_.

◆ ip3d_Sig()

double reco::PFTauTransverseImpactParameter::ip3d_Sig ( ) const
inline

◆ primaryVertex()

const VertexRef& reco::PFTauTransverseImpactParameter::primaryVertex ( ) const
inline

Definition at line 58 of file PFTauTransverseImpactParameter.h.

References PV_.

◆ primaryVertexCov()

PFTauTransverseImpactParameter::CovMatrix PFTauTransverseImpactParameter::primaryVertexCov ( ) const

Definition at line 57 of file PFTauTransverseImpactParameter.cc.

References dimension, mps_fire::i, dqmiolumiharvest::j, and PV_.

Referenced by flightLengthCov().

57  {
58  CovMatrix cov;
59  for (int i = 0; i < dimension; ++i) {
60  for (int j = 0; j < dimension; ++j) {
61  cov(i, j) = PV_->covariance(i, j);
62  }
63  }
64  return cov;
65 }

◆ primaryVertexPos()

PFTauTransverseImpactParameter::Point PFTauTransverseImpactParameter::primaryVertexPos ( ) const

Definition at line 50 of file PFTauTransverseImpactParameter.cc.

References edm::Ref< C, T, F >::isNonnull(), and PV_.

50  {
51  if (PV_.isNonnull())
52  return PV_->position();
53  else
54  return PFTauTransverseImpactParameter::Point(0., 0., 0.);
55 }
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238

◆ secondaryVertex()

const VertexRef& reco::PFTauTransverseImpactParameter::secondaryVertex ( ) const
inline

Definition at line 65 of file PFTauTransverseImpactParameter.h.

References SV_.

◆ secondaryVertexCov()

PFTauTransverseImpactParameter::CovMatrix PFTauTransverseImpactParameter::secondaryVertexCov ( ) const

Definition at line 89 of file PFTauTransverseImpactParameter.cc.

References dimension, hasSV_, mps_fire::i, dqmiolumiharvest::j, and SV_.

Referenced by flightLengthCov().

89  {
90  CovMatrix cov;
91  if (!hasSV_)
92  return cov;
93  for (int i = 0; i < dimension; ++i) {
94  for (int j = 0; j < dimension; ++j) {
95  cov(i, j) = SV_->covariance(i, j);
96  }
97  }
98  return cov;
99 }

◆ secondaryVertexPos()

PFTauTransverseImpactParameter::Point PFTauTransverseImpactParameter::secondaryVertexPos ( ) const

Definition at line 82 of file PFTauTransverseImpactParameter.cc.

References hasSV_, and SV_.

Member Data Documentation

◆ dxy_

double reco::PFTauTransverseImpactParameter::dxy_ {0}
private

Definition at line 71 of file PFTauTransverseImpactParameter.h.

Referenced by dxy(), and dxy_Sig().

◆ dxy_error_

double reco::PFTauTransverseImpactParameter::dxy_error_ {0}
private

Definition at line 72 of file PFTauTransverseImpactParameter.h.

Referenced by dxy_error(), and dxy_Sig().

◆ FlightLength_

Vector reco::PFTauTransverseImpactParameter::FlightLength_
private

Definition at line 78 of file PFTauTransverseImpactParameter.h.

Referenced by flightLength().

◆ FlightLengthSig_

double reco::PFTauTransverseImpactParameter::FlightLengthSig_ {0}
private

Definition at line 79 of file PFTauTransverseImpactParameter.h.

Referenced by flightLengthSig().

◆ hasSV_

bool reco::PFTauTransverseImpactParameter::hasSV_ {false}
private

◆ ip3d_

double reco::PFTauTransverseImpactParameter::ip3d_ {0}
private

Definition at line 74 of file PFTauTransverseImpactParameter.h.

Referenced by ip3d(), and ip3d_Sig().

◆ ip3d_error_

double reco::PFTauTransverseImpactParameter::ip3d_error_ {0}
private

Definition at line 75 of file PFTauTransverseImpactParameter.h.

Referenced by ip3d_error(), and ip3d_Sig().

◆ pca3d_

Point reco::PFTauTransverseImpactParameter::pca3d_
private

Definition at line 73 of file PFTauTransverseImpactParameter.h.

Referenced by ip3d_PCA().

◆ pca_

Point reco::PFTauTransverseImpactParameter::pca_
private

Definition at line 70 of file PFTauTransverseImpactParameter.h.

Referenced by dxy_PCA().

◆ PV_

VertexRef reco::PFTauTransverseImpactParameter::PV_
private

◆ SV_

VertexRef reco::PFTauTransverseImpactParameter::SV_
private