CMS 3D CMS Logo

Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes

reco::SoftLeptonProperties Class Reference

#include <SoftLeptonTagInfo.h>

List of all members.

Classes

struct  quality

Public Member Functions

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

Public Attributes

float deltaR
float etaRel
float p0Par
float ptRel
float ratio
float ratioRel
float sip2d
float sip3d

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 14 of file SoftLeptonTagInfo.h.


Constructor & Destructor Documentation

reco::SoftLeptonProperties::SoftLeptonProperties ( ) [inline]

Definition at line 16 of file SoftLeptonTagInfo.h.

                           :
        sip2d(    std::numeric_limits<float>::quiet_NaN() ),
        sip3d(    std::numeric_limits<float>::quiet_NaN() ),
        ptRel(    std::numeric_limits<float>::quiet_NaN() ),
        p0Par(    std::numeric_limits<float>::quiet_NaN() ),
        etaRel(   std::numeric_limits<float>::quiet_NaN() ),
        deltaR(   std::numeric_limits<float>::quiet_NaN() ),
        ratio(    std::numeric_limits<float>::quiet_NaN() ),
        ratioRel( std::numeric_limits<float>::quiet_NaN() )
    { }

Member Function Documentation

float reco::SoftLeptonProperties::hasQuality ( ) const [inline]

Definition at line 68 of file SoftLeptonTagInfo.h.

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

    { return quality() != quality::undef; }
float reco::SoftLeptonProperties::hasQuality ( quality::Generic  qual) const [inline]

Definition at line 70 of file SoftLeptonTagInfo.h.

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

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

Definition at line 74 of file SoftLeptonTagInfo.h.

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

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

Definition at line 72 of file SoftLeptonTagInfo.h.

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

    { return quality((unsigned int)qual, false) != quality::undef; }
float reco::SoftLeptonProperties::quality ( unsigned int  index,
bool  throwIfUndefined 
) const [private]

Definition at line 42 of file SoftLeptonTagInfo.cc.

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

{
  float qual = quality::undef;
  if (index < qualities_.size())
    qual = qualities_[index];

  if (qual == quality::undef && throwIfUndefined)
    throw edm::Exception(edm::errors::InvalidReference)
      << "Requested lepton quality not found in SoftLeptonProperties::quality"
      << std::endl;

  return qual;
}
float reco::SoftLeptonProperties::quality ( ) const [inline]

Definition at line 87 of file SoftLeptonTagInfo.h.

References quality().

Referenced by hasQuality(), and quality().

{ return quality(0, false); }
float reco::SoftLeptonProperties::quality ( quality::Generic  qual,
bool  throwIfUndefined = true 
) const [inline]

Definition at line 79 of file SoftLeptonTagInfo.h.

References quality().

Referenced by SoftLeptonTagPlotter::analyzeTag(), btag::LeptonSelector::operator()(), quality(), and reco::SoftLeptonTagInfo::taggingVariables().

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

Definition at line 83 of file SoftLeptonTagInfo.h.

References quality().

Referenced by quality().

    { return quality((unsigned int)qual, throwIfUndefined); }
float reco::SoftLeptonProperties::quality ( quality::Muon  qual,
bool  throwIfUndefined = true 
) const [inline]

Definition at line 81 of file SoftLeptonTagInfo.h.

References quality().

Referenced by quality().

    { return quality((unsigned int)qual, throwIfUndefined); }
void reco::SoftLeptonProperties::setQuality ( quality::Generic  qual,
float  value 
) [inline]

Definition at line 91 of file SoftLeptonTagInfo.h.

References setQuality().

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

    { setQuality((unsigned int)qual, value); }
void reco::SoftLeptonProperties::setQuality ( quality::Muon  qual,
float  value 
) [inline]

Definition at line 93 of file SoftLeptonTagInfo.h.

References setQuality().

Referenced by setQuality().

    { setQuality((unsigned int)qual, value); }
void reco::SoftLeptonProperties::setQuality ( quality::Electron  qual,
float  value 
) [inline]

Definition at line 95 of file SoftLeptonTagInfo.h.

References setQuality().

Referenced by setQuality().

    { setQuality((unsigned int)qual, value); }
void reco::SoftLeptonProperties::setQuality ( unsigned int  index,
float  value 
) [private]

Definition at line 56 of file SoftLeptonTagInfo.cc.

References getHLTprescales::index.

{
  if (qualities_.size() <= index)
    qualities_.resize(index + 1, quality::undef);

  qualities_[index] = qual;
}

Member Data Documentation

Definition at line 30 of file SoftLeptonTagInfo.h.

Referenced by SoftLeptonTagPlotter::analyzeTag(), and SoftLepton::tag().

std::vector<float> reco::SoftLeptonProperties::qualities_ [private]

Definition at line 102 of file SoftLeptonTagInfo.h.

Definition at line 34 of file SoftLeptonTagInfo.h.

Referenced by SoftLeptonTagPlotter::analyzeTag(), and SoftLepton::tag().