CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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

Definition at line 29 of file PFTauTransverseImpactParameter.h.

Definition at line 30 of file PFTauTransverseImpactParameter.h.

Definition at line 31 of file PFTauTransverseImpactParameter.h.

Member Enumeration Documentation

anonymous enum
private
anonymous enum
private

Constructor & Destructor Documentation

reco::PFTauTransverseImpactParameter::PFTauTransverseImpactParameter ( )
inline

Definition at line 33 of file PFTauTransverseImpactParameter.h.

Referenced by clone().

33 {}
PFTauTransverseImpactParameter::PFTauTransverseImpactParameter ( const Point pca,
double  thedxy,
double  thedxy_error,
const Point pca3d,
double  theip3d,
double  theip3d_error,
const VertexRef PV 
)
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.

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

Definition at line 47 of file PFTauTransverseImpactParameter.h.

47 {}

Member Function Documentation

PFTauTransverseImpactParameter * PFTauTransverseImpactParameter::clone ( void  ) const
double reco::PFTauTransverseImpactParameter::dxy ( ) const
inline
double reco::PFTauTransverseImpactParameter::dxy_error ( ) const
inline
const Point& reco::PFTauTransverseImpactParameter::dxy_PCA ( ) const
inline

Definition at line 50 of file PFTauTransverseImpactParameter.h.

References pca_.

Referenced by pat::PATTauProducer::produce().

double reco::PFTauTransverseImpactParameter::dxy_Sig ( ) const
inline
const PFTauTransverseImpactParameter::Vector & PFTauTransverseImpactParameter::flightLength ( ) const
PFTauTransverseImpactParameter::CovMatrix PFTauTransverseImpactParameter::flightLengthCov ( ) const

Definition at line 101 of file PFTauTransverseImpactParameter.cc.

References dimension, mps_fire::i, dqmiolumiharvest::j, primaryVertexCov(), MetAnalyzer::pv(), and secondaryVertexCov().

101  {
102  CovMatrix cov;
103  const CovMatrix& sv = secondaryVertexCov();
104  const CovMatrix& pv = primaryVertexCov();
105  for (int i = 0; i < dimension; ++i) {
106  for (int j = 0; j < dimension; ++j) {
107  cov(i, j) = sv(i, j) + pv(i, j);
108  }
109  }
110  return cov;
111 }
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 }
bool reco::PFTauTransverseImpactParameter::hasSecondaryVertex ( ) const
inline
double reco::PFTauTransverseImpactParameter::ip3d ( ) const
inline
double reco::PFTauTransverseImpactParameter::ip3d_error ( ) const
inline
const Point& reco::PFTauTransverseImpactParameter::ip3d_PCA ( ) const
inline

Definition at line 54 of file PFTauTransverseImpactParameter.h.

References pca3d_.

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

Definition at line 58 of file PFTauTransverseImpactParameter.h.

References PV_.

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 }
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
const VertexRef& reco::PFTauTransverseImpactParameter::secondaryVertex ( ) const
inline

Definition at line 65 of file PFTauTransverseImpactParameter.h.

References SV_.

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 }
PFTauTransverseImpactParameter::Point PFTauTransverseImpactParameter::secondaryVertexPos ( ) const

Definition at line 82 of file PFTauTransverseImpactParameter.cc.

References hasSV_, and SV_.

Member Data Documentation

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

Definition at line 71 of file PFTauTransverseImpactParameter.h.

Referenced by dxy(), and dxy_Sig().

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

Definition at line 72 of file PFTauTransverseImpactParameter.h.

Referenced by dxy_error(), and dxy_Sig().

Vector reco::PFTauTransverseImpactParameter::FlightLength_
private

Definition at line 78 of file PFTauTransverseImpactParameter.h.

Referenced by flightLength().

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

Definition at line 79 of file PFTauTransverseImpactParameter.h.

Referenced by flightLengthSig().

bool reco::PFTauTransverseImpactParameter::hasSV_ {false}
private
double reco::PFTauTransverseImpactParameter::ip3d_ {0}
private

Definition at line 74 of file PFTauTransverseImpactParameter.h.

Referenced by ip3d(), and ip3d_Sig().

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

Definition at line 75 of file PFTauTransverseImpactParameter.h.

Referenced by ip3d_error(), and ip3d_Sig().

Point reco::PFTauTransverseImpactParameter::pca3d_
private

Definition at line 73 of file PFTauTransverseImpactParameter.h.

Referenced by ip3d_PCA().

Point reco::PFTauTransverseImpactParameter::pca_
private

Definition at line 70 of file PFTauTransverseImpactParameter.h.

Referenced by dxy_PCA().

VertexRef reco::PFTauTransverseImpactParameter::PV_
private
VertexRef reco::PFTauTransverseImpactParameter::SV_
private