CMS 3D CMS Logo

pat::Tau Class Reference

Analysis-level tau class. More...

#include <DataFormats/PatCandidates/interface/Tau.h>

Inheritance diagram for pat::Tau:

pat::Lepton< LeptonType > pat::PATObject< LeptonType > LeptonType

List of all members.

Public Types

typedef std::pair< std::string,
float > 
IdPair

Public Member Functions

float bremsRecoveryEOverPLead () const
 Method copied from reco::PFTau.
float caloComp () const
 Method copied from reco::PFTau.
const pat::tau::TauCaloSpecificcaloSpecific () const
 return CaloTau info or throw exception 'not CaloTau'
reco::CaloTauTagInfoRef caloTauTagInfoRef () const
 Method copied from reco::CaloTau.
virtual Tauclone () const
 required reimplementation of the Candidate's clone method
int decayMode () const
 reconstructed tau decay mode (specific to PFTau)
float ecalStripSumEOverPLead () const
 Method copied from reco::PFTau.
bool electronPreIDDecision () const
 Method copied from reco::PFTau.
float electronPreIDOutput () const
 Method copied from reco::PFTau.
const reco::TrackRefelectronPreIDTrack () const
 Method copied from reco::PFTau.
void embedIsolationTracks ()
 method to store the isolation tracks internally
void embedLeadTrack ()
 method to store the leading track internally
void embedSignalTracks ()
 method to store the signal tracks internally
float emFraction () const
 Method copied from reco::PFTau.
const reco::GenJetgenJet () const
 return matched GenJet, built from the visible particles of a generated tau
float hcal3x3OverPLead () const
 Method copied from reco::PFTau.
float hcalMaxOverPLead () const
 Method copied from reco::PFTau.
float hcalTotOverPLead () const
 Method copied from reco::PFTau.
bool isCaloTau () const
 Returns true if this pat::Tau was made from a reco::CaloTau.
float isolationECALhitsEtSum () const
 Method copied from reco::CaloTau.
const reco::PFCandidateRefVectorisolationPFCands () const
 Method copied from reco::PFTau.
const reco::PFCandidateRefVectorisolationPFChargedHadrCands () const
 Method copied from reco::PFTau.
float isolationPFChargedHadrCandsPtSum () const
 Method copied from reco::PFTau.
const reco::PFCandidateRefVectorisolationPFGammaCands () const
 Method copied from reco::PFTau.
float isolationPFGammaCandsEtSum () const
 Method copied from reco::PFTau.
const reco::PFCandidateRefVectorisolationPFNeutrHadrCands () const
 Method copied from reco::PFTau.
const reco::TrackRefVectorisolationTracks () const
 override the TauType::isolationTracks method, to access the internal storage of the track
float isolationTracksPtSum () const
 Method copied from reco::CaloTau.
bool isPFTau () const
 Returns true if this pat::Tau was made from a reco::PFTau.
bool isTauIDAvailable (const std::string &name) const
 Returns true if a specific ID is available in this pat::Tau.
const reco::PFCandidateRefleadPFChargedHadrCand () const
 Method copied from reco::PFTau.
float leadPFChargedHadrCandsignedSipt () const
 Method copied from reco::PFTau.
reco::TrackRef leadTrack () const
 override the TauType::track method, to access the internal storage of the track
float leadTrackHCAL3x3hitsEtSum () const
 Method copied from reco::CaloTau.
float leadTrackHCAL3x3hottesthitDEta () const
 Method copied from reco::CaloTau.
float leadTracksignedSipt () const
 Method copied from reco::CaloTau.
float maximumHCALhitEt () const
 Method copied from reco::CaloTau.
float maximumHCALPFClusterEt () const
 Method copied from reco::PFTau.
bool muonDecision () const
 Method copied from reco::PFTau.
const pat::tau::TauPFSpecificpfSpecific () const
 return PFTau info or throw exception 'not PFTau'
const reco::PFTauTagInfoRefpfTauTagInfoRef () const
 Method copied from reco::PFTau.
float segComp () const
 Method copied from reco::PFTau.
void setDecayMode (int)
 set decay mode
void setGenJet (const reco::GenJetRef &ref)
 set the matched GenJet
void setTauIDs (const std::vector< IdPair > &ids)
 Store multiple tau ID values, discarding existing ones The first one in the list becomes the 'default' tau id.
const reco::PFCandidateRefVectorsignalPFCands () const
 Method copied from reco::PFTau.
const reco::PFCandidateRefVectorsignalPFChargedHadrCands () const
 Method copied from reco::PFTau.
const reco::PFCandidateRefVectorsignalPFGammaCands () const
 Method copied from reco::PFTau.
const reco::PFCandidateRefVectorsignalPFNeutrHadrCands () const
 Method copied from reco::PFTau.
const reco::TrackRefVectorsignalTracks () const
 override the TauType::track method, to access the internal storage of the track
float signalTracksInvariantMass () const
 Method copied from reco::CaloTau.
 Tau (const edm::Ptr< TauType > &aTauRef)
 constructor from a Ptr to a reco tau
 Tau (const edm::RefToBase< TauType > &aTauRef)
 constructor from a RefToBase to a reco tau (to be superseded by Ptr counterpart)
 Tau (const TauType &aTau)
 constructor from a reco tau
 Tau ()
 default constructor
float tauID (const std::string &name) const
 Returns a specific tau ID associated to the pat::Tau given its name For cut-based IDs, the value is 1.0 for good, 0.0 for bad.
const std::vector< IdPair > & tauIDs () const
 Returns all the tau IDs in the form of <name,value> pairs The 'default' ID is the first in the list.
float TracksInvariantMass () const
 Method copied from reco::CaloTau.
virtual ~Tau ()
 destructor

Protected Attributes

std::vector
< pat::tau::TauCaloSpecific
caloSpecific_
 holder for CaloTau info, or empty vector if PFTau
bool embeddedIsolationTracks_
bool embeddedLeadTrack_
bool embeddedSignalTracks_
std::vector< reco::GenJetgenJet_
std::vector< reco::TrackisolationTracks_
reco::TrackRefVector isolationTracksTransientRefVector_
edm::BoolCache isolationTracksTransientRefVectorFixed_
std::vector< reco::TrackleadTrack_
std::vector
< pat::tau::TauPFSpecific
pfSpecific_
 holder for PFTau info, or empty vector if CaloTau
std::vector< reco::TracksignalTracks_
reco::TrackRefVector signalTracksTransientRefVector_
edm::BoolCache signalTracksTransientRefVectorFixed_
std::vector< IdPairtauIDs_


Detailed Description

Analysis-level tau class.

pat::Tau implements the analysis-level tau class within the 'pat' namespace. It inherits from reco::BaseTau, copies all the information from the source reco::CaloTau or reco::PFTau, and adds some PAT-specific variable.

Please post comments and questions to the Physics Tools hypernews: httpss://hypernews.cern.ch/HyperNews/CMS/get/physTools.html

Author:
Steven Lowette, Christophe Delaere, Giovanni Petrucciani, Frederic Ronga, Colin Bernet
Version:
Id
Tau.h,v 1.20.2.2 2009/04/09 12:31:45 veelken Exp

Definition at line 48 of file Tau.h.


Member Typedef Documentation

typedef std::pair<std::string,float> pat::Tau::IdPair

Definition at line 52 of file Tau.h.


Constructor & Destructor Documentation

Tau::Tau (  ) 

default constructor

Definition at line 13 of file Tau.cc.

Referenced by clone().

00013          :
00014     Lepton<TauType>(),
00015     embeddedIsolationTracks_(false),
00016     embeddedLeadTrack_(false),
00017     embeddedSignalTracks_(false)
00018 {
00019 }

Tau::Tau ( const TauType aTau  ) 

constructor from a reco tau

constructor from TauType

Definition at line 23 of file Tau.cc.

References caloSpecific_, and pfSpecific_.

00023                              :
00024     Lepton<TauType>(aTau),
00025     embeddedIsolationTracks_(false),
00026     embeddedLeadTrack_(false),
00027     embeddedSignalTracks_(false)
00028 {
00029     const reco::PFTau * pfTau = dynamic_cast<const reco::PFTau *>(&aTau);
00030     if (pfTau != 0) pfSpecific_.push_back(pat::tau::TauPFSpecific(*pfTau));
00031     const reco::CaloTau * caloTau = dynamic_cast<const reco::CaloTau *>(&aTau);
00032     if (caloTau != 0) caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
00033 }

Tau::Tau ( const edm::RefToBase< TauType > &  aTauRef  ) 

constructor from a RefToBase to a reco tau (to be superseded by Ptr counterpart)

constructor from ref to TauType

Definition at line 37 of file Tau.cc.

References caloSpecific_, edm::RefToBase< T >::get(), and pfSpecific_.

00037                                               :
00038     Lepton<TauType>(aTauRef),
00039     embeddedIsolationTracks_(false),
00040     embeddedLeadTrack_(false),
00041     embeddedSignalTracks_(false)
00042 {
00043     const reco::PFTau * pfTau = dynamic_cast<const reco::PFTau *>(aTauRef.get());
00044     if (pfTau != 0) pfSpecific_.push_back(pat::tau::TauPFSpecific(*pfTau));
00045     const reco::CaloTau * caloTau = dynamic_cast<const reco::CaloTau *>(aTauRef.get());
00046     if (caloTau != 0) caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
00047 }

Tau::Tau ( const edm::Ptr< TauType > &  aTauRef  ) 

constructor from a Ptr to a reco tau

constructor from ref to TauType

Definition at line 50 of file Tau.cc.

References caloSpecific_, edm::Ptr< T >::get(), and pfSpecific_.

00050                                         :
00051     Lepton<TauType>(aTauRef),
00052     embeddedIsolationTracks_(false),
00053     embeddedLeadTrack_(false),
00054     embeddedSignalTracks_(false)
00055 {
00056     const reco::PFTau * pfTau = dynamic_cast<const reco::PFTau *>(aTauRef.get());
00057     if (pfTau != 0) pfSpecific_.push_back(pat::tau::TauPFSpecific(*pfTau));
00058     const reco::CaloTau * caloTau = dynamic_cast<const reco::CaloTau *>(aTauRef.get());
00059     if (caloTau != 0) caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
00060 }

Tau::~Tau (  )  [virtual]

destructor

Definition at line 65 of file Tau.cc.

00065           {
00066 }


Member Function Documentation

float pat::Tau::bremsRecoveryEOverPLead (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 185 of file Tau.h.

References pat::tau::TauPFSpecific::bremsRecoveryEOverPLead_, and pfSpecific().

float pat::Tau::caloComp (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 197 of file Tau.h.

References pat::tau::TauPFSpecific::caloComp_, and pfSpecific().

00197 { return pfSpecific().caloComp_; }

const pat::tau::TauCaloSpecific & Tau::caloSpecific (  )  const

return CaloTau info or throw exception 'not CaloTau'

Definition at line 187 of file Tau.cc.

References caloSpecific_, Exception, and isCaloTau().

Referenced by caloTauTagInfoRef(), isolationECALhitsEtSum(), isolationTracksPtSum(), leadTrackHCAL3x3hitsEtSum(), leadTrackHCAL3x3hottesthitDEta(), leadTracksignedSipt(), maximumHCALhitEt(), signalTracksInvariantMass(), and TracksInvariantMass().

00187                                                       {
00188   if (!isCaloTau()) throw cms::Exception("Type Error") << "Requesting a CaloTau-specific information from a pat::Tau which wasn't made from a CaloTau.\n";
00189   return caloSpecific_[0]; 
00190 }

reco::CaloTauTagInfoRef pat::Tau::caloTauTagInfoRef (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 95 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::CaloTauTagInfoRef_.

00095 { return caloSpecific().CaloTauTagInfoRef_; }

virtual Tau* pat::Tau::clone ( void   )  const [inline, virtual]

required reimplementation of the Candidate's clone method

Reimplemented from pat::Lepton< LeptonType >.

Definition at line 66 of file Tau.h.

References Tau().

00066 { return new Tau(*this); }

int pat::Tau::decayMode (  )  const [inline]

reconstructed tau decay mode (specific to PFTau)

Definition at line 206 of file Tau.h.

References pat::tau::TauPFSpecific::decayMode_, and pfSpecific().

00206 { return pfSpecific().decayMode_; }

float pat::Tau::ecalStripSumEOverPLead (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 182 of file Tau.h.

References pat::tau::TauPFSpecific::ecalStripSumEOverPLead_, and pfSpecific().

00182 { return pfSpecific().ecalStripSumEOverPLead_; }

bool pat::Tau::electronPreIDDecision (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 194 of file Tau.h.

References pat::tau::TauPFSpecific::electronPreIDDecision_, and pfSpecific().

00194 { return pfSpecific().electronPreIDDecision_; }

float pat::Tau::electronPreIDOutput (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 191 of file Tau.h.

References pat::tau::TauPFSpecific::electronPreIDOutput_, and pfSpecific().

00191 { return pfSpecific().electronPreIDOutput_; }

const reco::TrackRef& pat::Tau::electronPreIDTrack (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 188 of file Tau.h.

References pat::tau::TauPFSpecific::electronPreIDTrack_, and pfSpecific().

00188 { return pfSpecific().electronPreIDTrack_; }

void Tau::embedIsolationTracks (  ) 

method to store the isolation tracks internally

Definition at line 116 of file Tau.cc.

References edm::RefVector< C, T, F >::at(), embeddedIsolationTracks_, i, reco::BaseTau::isolationTracks(), isolationTracks_, and edm::RefVector< C, T, F >::size().

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

00116                                {
00117   isolationTracks_.clear();
00118   reco::TrackRefVector trackRefVec = TauType::isolationTracks();
00119   for (unsigned int i = 0; i < trackRefVec.size(); i++) {
00120     isolationTracks_.push_back(*trackRefVec.at(i));
00121   }
00122   embeddedIsolationTracks_ = true;
00123 }

void Tau::embedLeadTrack (  ) 

method to store the leading track internally

method to store the isolation tracks internally

Definition at line 127 of file Tau.cc.

References embeddedLeadTrack_, reco::BaseTau::leadTrack(), and leadTrack_.

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

00127                          {
00128   leadTrack_.clear();
00129   if (TauType::leadTrack().isNonnull()) {
00130       leadTrack_.push_back(*TauType::leadTrack());
00131       embeddedLeadTrack_ = true;
00132   }
00133 }

void Tau::embedSignalTracks (  ) 

method to store the signal tracks internally

method to store the isolation tracks internally

Definition at line 137 of file Tau.cc.

References edm::RefVector< C, T, F >::at(), embeddedSignalTracks_, i, reco::BaseTau::signalTracks(), signalTracks_, and edm::RefVector< C, T, F >::size().

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

00137                            {
00138   signalTracks_.clear();
00139   reco::TrackRefVector trackRefVec = TauType::signalTracks();
00140   for (unsigned int i = 0; i < trackRefVec.size(); i++) {
00141     signalTracks_.push_back(*trackRefVec.at(i));
00142   }
00143   embeddedSignalTracks_ = true;
00144 }

float pat::Tau::emFraction (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 170 of file Tau.h.

References pat::tau::TauPFSpecific::emFraction_, and pfSpecific().

00170 { return pfSpecific().emFraction_; }

const reco::GenJet * Tau::genJet (  )  const

return matched GenJet, built from the visible particles of a generated tau

return the matched generated jet

Definition at line 154 of file Tau.cc.

References genJet_.

00154                                      {
00155   return (genJet_.size() > 0 ? &genJet_.front() : 0);
00156 }

float pat::Tau::hcal3x3OverPLead (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 179 of file Tau.h.

References pat::tau::TauPFSpecific::hcal3x3OverPLead_, and pfSpecific().

00179 { return pfSpecific().hcal3x3OverPLead_; }

float pat::Tau::hcalMaxOverPLead (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 176 of file Tau.h.

References pat::tau::TauPFSpecific::hcalMaxOverPLead_, and pfSpecific().

00176 { return pfSpecific().hcalMaxOverPLead_; }

float pat::Tau::hcalTotOverPLead (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 173 of file Tau.h.

References pat::tau::TauPFSpecific::hcalTotOverPLead_, and pfSpecific().

00173 { return pfSpecific().hcalTotOverPLead_; }

bool pat::Tau::isCaloTau (  )  const [inline]

Returns true if this pat::Tau was made from a reco::CaloTau.

Definition at line 90 of file Tau.h.

References caloSpecific_.

Referenced by caloSpecific().

00090 { return !caloSpecific_.empty(); }

float pat::Tau::isolationECALhitsEtSum (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 116 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::isolationECALhitsEtSum_.

const reco::PFCandidateRefVector& pat::Tau::isolationPFCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 149 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedIsolationPFCands_.

const reco::PFCandidateRefVector& pat::Tau::isolationPFChargedHadrCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 152 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedIsolationPFChargedHadrCands_.

float pat::Tau::isolationPFChargedHadrCandsPtSum (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 161 of file Tau.h.

References pat::tau::TauPFSpecific::isolationPFChargedHadrCandsPtSum_, and pfSpecific().

const reco::PFCandidateRefVector& pat::Tau::isolationPFGammaCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 158 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedIsolationPFGammaCands_.

float pat::Tau::isolationPFGammaCandsEtSum (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 164 of file Tau.h.

References pat::tau::TauPFSpecific::isolationPFGammaCandsEtSum_, and pfSpecific().

const reco::PFCandidateRefVector& pat::Tau::isolationPFNeutrHadrCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 155 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedIsolationPFNeutrHadrCands_.

const reco::TrackRefVector & Tau::isolationTracks (  )  const

override the TauType::isolationTracks method, to access the internal storage of the track

Definition at line 70 of file Tau.cc.

References embeddedIsolationTracks_, i, reco::BaseTau::isolationTracks(), isolationTracks_, isolationTracksTransientRefVector_, isolationTracksTransientRefVectorFixed_, edm::RefVector< C, T, F >::push_back(), and edm::RefVector< C, T, F >::swap().

00070                                                       {
00071   if (embeddedIsolationTracks_) {
00072     if (!isolationTracksTransientRefVectorFixed_) {
00073         reco::TrackRefVector trackRefVec;
00074         for (unsigned int i = 0; i < isolationTracks_.size(); i++) {
00075           trackRefVec.push_back(reco::TrackRef(&isolationTracks_, i));
00076         }
00077         isolationTracksTransientRefVector_.swap(trackRefVec);
00078         isolationTracksTransientRefVectorFixed_ = true;
00079     }
00080     return isolationTracksTransientRefVector_;
00081   } else {
00082     return TauType::isolationTracks();
00083   }
00084 }

float pat::Tau::isolationTracksPtSum (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 113 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::isolationTracksPtSum_.

00113 { return caloSpecific().isolationTracksPtSum_; }

bool pat::Tau::isPFTau (  )  const [inline]

Returns true if this pat::Tau was made from a reco::PFTau.

Definition at line 123 of file Tau.h.

References pfSpecific_.

Referenced by pfSpecific(), and setDecayMode().

00123 { return !pfSpecific_.empty(); }

bool Tau::isTauIDAvailable ( const std::string &  name  )  const

Returns true if a specific ID is available in this pat::Tau.

Definition at line 174 of file Tau.cc.

References it, and tauIDs_.

00174                                                        {
00175   for (std::vector<IdPair>::const_iterator it = tauIDs_.begin(), ed = tauIDs_.end(); it != ed; ++it) {
00176     if (it->first == name) return true;
00177   }
00178   return false;
00179 }

const reco::PFCandidateRef& pat::Tau::leadPFChargedHadrCand (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 131 of file Tau.h.

References pat::tau::TauPFSpecific::leadPFChargedHadrCand_, and pfSpecific().

00131 { return pfSpecific().leadPFChargedHadrCand_; }

float pat::Tau::leadPFChargedHadrCandsignedSipt (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 134 of file Tau.h.

References pat::tau::TauPFSpecific::leadPFChargedHadrCandsignedSipt_, and pfSpecific().

reco::TrackRef Tau::leadTrack (  )  const

override the TauType::track method, to access the internal storage of the track

Definition at line 88 of file Tau.cc.

References embeddedLeadTrack_, reco::BaseTau::leadTrack(), and leadTrack_.

Referenced by pat::HistoTau::fill().

00088                                   {
00089   if (embeddedLeadTrack_) {
00090     return reco::TrackRef(&leadTrack_, 0);
00091   } else {
00092     return TauType::leadTrack();
00093   }
00094 }

float pat::Tau::leadTrackHCAL3x3hitsEtSum (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 101 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::leadTrackHCAL3x3hitsEtSum_.

float pat::Tau::leadTrackHCAL3x3hottesthitDEta (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 104 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::leadTrackHCAL3x3hottesthitDEta_.

float pat::Tau::leadTracksignedSipt (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 98 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::leadTracksignedSipt_.

00098 { return caloSpecific().leadTracksignedSipt_; }

float pat::Tau::maximumHCALhitEt (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 119 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::maximumHCALhitEt_.

00119 { return caloSpecific().maximumHCALhitEt_; }

float pat::Tau::maximumHCALPFClusterEt (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 167 of file Tau.h.

References pat::tau::TauPFSpecific::maximumHCALPFClusterEt_, and pfSpecific().

00167 { return pfSpecific().maximumHCALPFClusterEt_; }

bool pat::Tau::muonDecision (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 203 of file Tau.h.

References pat::tau::TauPFSpecific::muonDecision_, and pfSpecific().

00203 { return pfSpecific().muonDecision_; }

const pat::tau::TauPFSpecific & Tau::pfSpecific (  )  const

return PFTau info or throw exception 'not PFTau'

Definition at line 182 of file Tau.cc.

References Exception, isPFTau(), and pfSpecific_.

Referenced by bremsRecoveryEOverPLead(), caloComp(), decayMode(), ecalStripSumEOverPLead(), electronPreIDDecision(), electronPreIDOutput(), electronPreIDTrack(), emFraction(), hcal3x3OverPLead(), hcalMaxOverPLead(), hcalTotOverPLead(), isolationPFCands(), isolationPFChargedHadrCands(), isolationPFChargedHadrCandsPtSum(), isolationPFGammaCands(), isolationPFGammaCandsEtSum(), isolationPFNeutrHadrCands(), leadPFChargedHadrCand(), leadPFChargedHadrCandsignedSipt(), maximumHCALPFClusterEt(), muonDecision(), pfTauTagInfoRef(), segComp(), signalPFCands(), signalPFChargedHadrCands(), signalPFGammaCands(), and signalPFNeutrHadrCands().

00182                                                   {
00183   if (!isPFTau()) throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.\n";
00184   return pfSpecific_[0]; 
00185 }

const reco::PFTauTagInfoRef& pat::Tau::pfTauTagInfoRef (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 128 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::PFTauTagInfoRef_.

00128 { return pfSpecific().PFTauTagInfoRef_; }

float pat::Tau::segComp (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 200 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::segComp_.

00200 { return pfSpecific().segComp_; }

void Tau::setDecayMode ( int  decayMode  ) 

set decay mode

Definition at line 193 of file Tau.cc.

References Exception, isPFTau(), and pfSpecific_.

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

00194 {
00195   if (!isPFTau()) throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.\n";
00196   pfSpecific_[0].decayMode_ = decayMode;
00197 }

void Tau::setGenJet ( const reco::GenJetRef ref  ) 

set the matched GenJet

method to set the matched generated jet

Definition at line 148 of file Tau.cc.

References genJet_.

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

00148                                            {
00149   genJet_.clear();
00150   genJet_.push_back(*gj);
00151 }

void pat::Tau::setTauIDs ( const std::vector< IdPair > &  ids  )  [inline]

Store multiple tau ID values, discarding existing ones The first one in the list becomes the 'default' tau id.

Definition at line 222 of file Tau.h.

References tauIDs_.

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

00222 { tauIDs_ = ids; }

const reco::PFCandidateRefVector& pat::Tau::signalPFCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 137 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedSignalPFCands_.

00137 { return pfSpecific().selectedSignalPFCands_; } 

const reco::PFCandidateRefVector& pat::Tau::signalPFChargedHadrCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 140 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedSignalPFChargedHadrCands_.

const reco::PFCandidateRefVector& pat::Tau::signalPFGammaCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 146 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedSignalPFGammaCands_.

const reco::PFCandidateRefVector& pat::Tau::signalPFNeutrHadrCands (  )  const [inline]

Method copied from reco::PFTau.

Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 143 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::selectedSignalPFNeutrHadrCands_.

const reco::TrackRefVector & Tau::signalTracks (  )  const

override the TauType::track method, to access the internal storage of the track

Definition at line 98 of file Tau.cc.

References embeddedSignalTracks_, i, edm::RefVector< C, T, F >::push_back(), reco::BaseTau::signalTracks(), signalTracks_, signalTracksTransientRefVector_, signalTracksTransientRefVectorFixed_, and edm::RefVector< C, T, F >::swap().

00098                                                    {
00099   if (embeddedSignalTracks_) {
00100     reco::TrackRefVector trackRefVec;
00101     if (!signalTracksTransientRefVectorFixed_) {
00102         for (unsigned int i = 0; i < signalTracks_.size(); i++) {
00103           trackRefVec.push_back(reco::TrackRef(&signalTracks_, i));
00104         }
00105         signalTracksTransientRefVector_.swap(trackRefVec);
00106         signalTracksTransientRefVectorFixed_ = true;
00107     }
00108     return signalTracksTransientRefVector_;
00109   } else {
00110     return TauType::signalTracks();
00111   }
00112 }

float pat::Tau::signalTracksInvariantMass (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 107 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::signalTracksInvariantMass_.

float Tau::tauID ( const std::string &  name  )  const

Returns a specific tau ID associated to the pat::Tau given its name For cut-based IDs, the value is 1.0 for good, 0.0 for bad.

Note: an exception is thrown if the specified ID is not available

Definition at line 160 of file Tau.cc.

References it, and tauIDs_.

00160                                              {
00161   for (std::vector<IdPair>::const_iterator it = tauIDs_.begin(), ed = tauIDs_.end(); it != ed; ++it) {
00162     if (it->first == name) return it->second;
00163   }
00164   cms::Exception ex("Key not found");
00165   ex << "pat::Tau: the ID " << name << " can't be found in this pat::Tau.\n";
00166   ex << "The available IDs are: ";
00167   for (std::vector<IdPair>::const_iterator it = tauIDs_.begin(), ed = tauIDs_.end(); it != ed; ++it) {
00168     ex << "'" << it->first << "' ";
00169   }
00170   ex << ".\n";
00171   throw ex;
00172 }

const std::vector<IdPair>& pat::Tau::tauIDs (  )  const [inline]

Returns all the tau IDs in the form of <name,value> pairs The 'default' ID is the first in the list.

Definition at line 219 of file Tau.h.

References tauIDs_.

00219 { return tauIDs_; }

float pat::Tau::TracksInvariantMass (  )  const [inline]

Method copied from reco::CaloTau.

Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 110 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::TracksInvariantMass_.

00110 { return caloSpecific().TracksInvariantMass_; } 


Member Data Documentation

std::vector<pat::tau::TauCaloSpecific> pat::Tau::caloSpecific_ [protected]

holder for CaloTau info, or empty vector if PFTau

Definition at line 243 of file Tau.h.

Referenced by caloSpecific(), isCaloTau(), and Tau().

bool pat::Tau::embeddedIsolationTracks_ [protected]

Definition at line 227 of file Tau.h.

Referenced by embedIsolationTracks(), and isolationTracks().

bool pat::Tau::embeddedLeadTrack_ [protected]

Definition at line 231 of file Tau.h.

Referenced by embedLeadTrack(), and leadTrack().

bool pat::Tau::embeddedSignalTracks_ [protected]

Definition at line 233 of file Tau.h.

Referenced by embedSignalTracks(), and signalTracks().

std::vector<reco::GenJet> pat::Tau::genJet_ [protected]

Definition at line 238 of file Tau.h.

Referenced by genJet(), and setGenJet().

std::vector<reco::Track> pat::Tau::isolationTracks_ [protected]

Definition at line 228 of file Tau.h.

Referenced by embedIsolationTracks(), and isolationTracks().

reco::TrackRefVector pat::Tau::isolationTracksTransientRefVector_ [mutable, protected]

Definition at line 229 of file Tau.h.

Referenced by isolationTracks().

edm::BoolCache pat::Tau::isolationTracksTransientRefVectorFixed_ [mutable, protected]

Definition at line 230 of file Tau.h.

Referenced by isolationTracks().

std::vector<reco::Track> pat::Tau::leadTrack_ [protected]

Definition at line 232 of file Tau.h.

Referenced by embedLeadTrack(), and leadTrack().

std::vector<pat::tau::TauPFSpecific> pat::Tau::pfSpecific_ [protected]

holder for PFTau info, or empty vector if CaloTau

Definition at line 246 of file Tau.h.

Referenced by isPFTau(), pfSpecific(), setDecayMode(), and Tau().

std::vector<reco::Track> pat::Tau::signalTracks_ [protected]

Definition at line 234 of file Tau.h.

Referenced by embedSignalTracks(), and signalTracks().

reco::TrackRefVector pat::Tau::signalTracksTransientRefVector_ [mutable, protected]

Definition at line 235 of file Tau.h.

Referenced by signalTracks().

edm::BoolCache pat::Tau::signalTracksTransientRefVectorFixed_ [mutable, protected]

Definition at line 236 of file Tau.h.

Referenced by signalTracks().

std::vector<IdPair> pat::Tau::tauIDs_ [protected]

Definition at line 240 of file Tau.h.

Referenced by isTauIDAvailable(), setTauIDs(), tauID(), and tauIDs().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:49:45 2009 for CMSSW by  doxygen 1.5.4