CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
reco::SoftLeptonProperties Class Reference

#include <TemplatedSoftLeptonTagInfo.h>

Classes

struct  Quality
 

Public Member Functions

float hasQuality () const
 
float hasQuality (Quality::Generic qual) const
 
float hasQuality (Quality::Muon qual) const
 
float hasQuality (Quality::Electron qual) const
 
float quality (Quality::Generic qual, bool throwIfUndefined=true) const
 
float quality (Quality::Muon qual, bool throwIfUndefined=true) const
 
float quality (Quality::Electron qual, bool throwIfUndefined=true) const
 
float quality () const
 
void setQuality (Quality::Generic qual, float value)
 
void setQuality (Quality::Muon qual, float value)
 
void setQuality (Quality::Electron qual, float value)
 
 SoftLeptonProperties ()
 

Public Attributes

int charge
 
float deltaR
 
float elec_mva
 
float etaRel
 
float p0Par
 
float ptRel
 
float ratio
 
float ratioRel
 
float sip2d
 
float sip2dsig
 
float sip3d
 
float sip3dsig
 

Private Member Functions

float quality (unsigned int index, bool throwIfUndefined) const
 
void setQuality (unsigned int index, float value)
 

Private Attributes

std::vector< float > qualities_
 

Detailed Description

Definition at line 15 of file TemplatedSoftLeptonTagInfo.h.

Constructor & Destructor Documentation

reco::SoftLeptonProperties::SoftLeptonProperties ( )
inline

Definition at line 17 of file TemplatedSoftLeptonTagInfo.h.

17  :
18  sip2dsig( std::numeric_limits<float>::quiet_NaN() ),
19  sip3dsig( std::numeric_limits<float>::quiet_NaN() ),
20  sip2d( std::numeric_limits<float>::quiet_NaN() ),
21  sip3d( std::numeric_limits<float>::quiet_NaN() ),
22  ptRel( std::numeric_limits<float>::quiet_NaN() ),
23  p0Par( std::numeric_limits<float>::quiet_NaN() ),
24  etaRel( std::numeric_limits<float>::quiet_NaN() ),
25  deltaR( std::numeric_limits<float>::quiet_NaN() ),
26  ratio( std::numeric_limits<float>::quiet_NaN() ),
27  ratioRel( std::numeric_limits<float>::quiet_NaN() ),
28  elec_mva( std::numeric_limits<float>::quiet_NaN() ),
29  charge( -10 )
30  { }

Member Function Documentation

float reco::SoftLeptonProperties::hasQuality ( ) const
inline
float reco::SoftLeptonProperties::hasQuality ( Quality::Generic  qual) const
inline

Definition at line 81 of file TemplatedSoftLeptonTagInfo.h.

References quality(), and reco::SoftLeptonProperties::Quality::undef.

82  { return quality((unsigned int)qual, false) != Quality::undef; }
float reco::SoftLeptonProperties::hasQuality ( Quality::Muon  qual) const
inline

Definition at line 83 of file TemplatedSoftLeptonTagInfo.h.

References quality(), and reco::SoftLeptonProperties::Quality::undef.

84  { return quality((unsigned int)qual, false) != Quality::undef; }
float reco::SoftLeptonProperties::hasQuality ( Quality::Electron  qual) const
inline

Definition at line 85 of file TemplatedSoftLeptonTagInfo.h.

References quality(), and reco::SoftLeptonProperties::Quality::undef.

86  { return quality((unsigned int)qual, false) != Quality::undef; }
float reco::SoftLeptonProperties::quality ( Quality::Generic  qual,
bool  throwIfUndefined = true 
) const
inline
float reco::SoftLeptonProperties::quality ( Quality::Muon  qual,
bool  throwIfUndefined = true 
) const
inline

Definition at line 92 of file TemplatedSoftLeptonTagInfo.h.

References quality().

93  { return quality((unsigned int)qual, throwIfUndefined); }
float reco::SoftLeptonProperties::quality ( Quality::Electron  qual,
bool  throwIfUndefined = true 
) const
inline

Definition at line 94 of file TemplatedSoftLeptonTagInfo.h.

References quality().

95  { return quality((unsigned int)qual, throwIfUndefined); }
float reco::SoftLeptonProperties::quality ( ) const
inline

Definition at line 98 of file TemplatedSoftLeptonTagInfo.h.

References quality().

Referenced by hasQuality(), quality(), and setQuality().

98 { return quality(0, false); }
float reco::SoftLeptonProperties::quality ( unsigned int  index,
bool  throwIfUndefined 
) const
private

Definition at line 40 of file TemplatedSoftLeptonTagInfo.cc.

References Exception, edm::errors::InvalidReference, and trackerHitRTTI::undef.

41 {
42  float qual = Quality::undef;
43  if (index < qualities_.size())
44  qual = qualities_[index];
45 
46  if (qual == Quality::undef && throwIfUndefined)
48  << "Requested lepton quality not found in SoftLeptonProperties::Quality"
49  << std::endl;
50 
51  return qual;
52 }
void reco::SoftLeptonProperties::setQuality ( Quality::Generic  qual,
float  value 
)
inline

Definition at line 102 of file TemplatedSoftLeptonTagInfo.h.

Referenced by setQuality(), and SoftLepton::tag().

103  { setQuality((unsigned int)qual, value); }
void setQuality(Quality::Generic qual, float value)
Definition: value.py:1
void reco::SoftLeptonProperties::setQuality ( Quality::Muon  qual,
float  value 
)
inline

Definition at line 104 of file TemplatedSoftLeptonTagInfo.h.

References setQuality().

105  { setQuality((unsigned int)qual, value); }
void setQuality(Quality::Generic qual, float value)
Definition: value.py:1
void reco::SoftLeptonProperties::setQuality ( Quality::Electron  qual,
float  value 
)
inline

Definition at line 106 of file TemplatedSoftLeptonTagInfo.h.

References quality(), and setQuality().

107  { setQuality((unsigned int)qual, value); }
void setQuality(Quality::Generic qual, float value)
Definition: value.py:1
void reco::SoftLeptonProperties::setQuality ( unsigned int  index,
float  value 
)
private

Definition at line 54 of file TemplatedSoftLeptonTagInfo.cc.

References trackerHitRTTI::undef.

55 {
56  if (qualities_.size() <= index)
57  qualities_.resize(index + 1, Quality::undef);
58 
59  qualities_[index] = qual;
60 }

Member Data Documentation

int reco::SoftLeptonProperties::charge
float reco::SoftLeptonProperties::deltaR
float reco::SoftLeptonProperties::elec_mva
float reco::SoftLeptonProperties::etaRel
float reco::SoftLeptonProperties::p0Par
float reco::SoftLeptonProperties::ptRel
std::vector<float> reco::SoftLeptonProperties::qualities_
private

Definition at line 113 of file TemplatedSoftLeptonTagInfo.h.

float reco::SoftLeptonProperties::ratio
float reco::SoftLeptonProperties::ratioRel
float reco::SoftLeptonProperties::sip2d
float reco::SoftLeptonProperties::sip2dsig
float reco::SoftLeptonProperties::sip3d
float reco::SoftLeptonProperties::sip3dsig