Jets made from PFObjects. More...
#include <PFJet.h>
Classes | |
struct | Specific |
Public Member Functions | |
float | chargedEmEnergy () const |
chargedEmEnergy | |
float | chargedEmEnergyFraction () const |
chargedEmEnergyFraction | |
float | chargedHadronEnergy () const |
chargedHadronEnergy | |
float | chargedHadronEnergyFraction () const |
chargedHadronEnergyFraction | |
int | chargedHadronMultiplicity () const |
chargedHadronMultiplicity | |
float | chargedMuEnergy () const |
chargedMuEnergy | |
float | chargedMuEnergyFraction () const |
chargedMuEnergyFraction | |
int | chargedMultiplicity () const |
chargedMultiplicity | |
virtual PFJet * | clone () const |
Polymorphic clone. | |
float | electronEnergy () const |
electronEnergy | |
float | electronEnergyFraction () const |
electronEnergyFraction | |
int | electronMultiplicity () const |
electronMultiplicity | |
virtual reco::PFCandidatePtr | getPFConstituent (unsigned fIndex) const |
get specific constituent | |
virtual std::vector < reco::PFCandidatePtr > | getPFConstituents () const |
get all constituents | |
const Specific & | getSpecific () const |
reco::TrackRefVector | getTrackRefs () const |
float | HFEMEnergy () const |
HFEMEnergy. | |
float | HFEMEnergyFraction () const |
HFEMEnergyFraction. | |
int | HFEMMultiplicity () const |
HFEMMultiplicity. | |
float | HFHadronEnergy () const |
HFHadronEnergy. | |
float | HFHadronEnergyFraction () const |
HFHadronEnergyFraction. | |
int | HFHadronMultiplicity () const |
HFHadronMultiplicity. | |
float | muonEnergy () const |
muonEnergy | |
float | muonEnergyFraction () const |
muonEnergyFraction | |
int | muonMultiplicity () const |
muonMultiplicity | |
float | neutralEmEnergy () const |
neutralEmEnergy | |
float | neutralEmEnergyFraction () const |
neutralEmEnergyFraction | |
float | neutralHadronEnergy () const |
neutralHadronEnergy | |
float | neutralHadronEnergyFraction () const |
neutralHadronEnergyFraction | |
int | neutralHadronMultiplicity () const |
neutralHadronMultiplicity | |
int | neutralMultiplicity () const |
neutralMultiplicity | |
PFJet (const LorentzVector &fP4, const Point &fVertex, const Specific &fSpecific, const Jet::Constituents &fConstituents) | |
PFJet (const LorentzVector &fP4, const Specific &fSpecific, const Jet::Constituents &fConstituents) | |
PFJet () | |
PFJet (const LorentzVector &fP4, const Point &fVertex, const Specific &fSpecific) | |
float | photonEnergy () const |
photonEnergy | |
float | photonEnergyFraction () const |
photonEnergyFraction | |
int | photonMultiplicity () const |
photonMultiplicity | |
virtual std::string | print () const |
Print object in details. | |
virtual | ~PFJet () |
Private Member Functions | |
virtual bool | overlap (const Candidate &) const |
Polymorphic overlap. | |
Private Attributes | |
Specific | m_specific |
Jets made from PFObjects.
PFJet represents Jets made from Particle Flow objects Provide energy contributions from different PF types in addition to generic Jet parameters
reco::PFJet::PFJet | ( | ) | [inline] |
PFJet::PFJet | ( | const LorentzVector & | fP4, |
const Point & | fVertex, | ||
const Specific & | fSpecific, | ||
const Jet::Constituents & | fConstituents | ||
) |
Constructor from values
Definition at line 16 of file PFJet.cc.
: Jet (fP4, fVertex, fConstituents), m_specific (fSpecific) {}
PFJet::PFJet | ( | const LorentzVector & | fP4, |
const Point & | fVertex, | ||
const Specific & | fSpecific | ||
) |
Definition at line 23 of file PFJet.cc.
: Jet (fP4, fVertex), m_specific (fSpecific) {}
PFJet::PFJet | ( | const LorentzVector & | fP4, |
const Specific & | fSpecific, | ||
const Jet::Constituents & | fConstituents | ||
) |
backward compatible, vertex=(0,0,0)
Definition at line 29 of file PFJet.cc.
: Jet (fP4, Point(0,0,0), fConstituents), m_specific (fSpecific) {}
float reco::PFJet::chargedEmEnergy | ( | ) | const [inline] |
chargedEmEnergy
Definition at line 135 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mChargedEmEnergy.
Referenced by chargedEmEnergyFraction(), PFJetIDSelectionFunctor::firstDataCuts(), print(), PFJetBenchmark::printPFJet(), and JetIdSelector< T >::produce().
{return m_specific.mChargedEmEnergy;}
float reco::PFJet::chargedEmEnergyFraction | ( | ) | const [inline] |
chargedEmEnergyFraction
Definition at line 137 of file PFJet.h.
References chargedEmEnergy(), and reco::LeafCandidate::energy().
Referenced by PFJetIDSelectionFunctor::firstDataCuts().
{return chargedEmEnergy () / energy ();}
float reco::PFJet::chargedHadronEnergy | ( | ) | const [inline] |
chargedHadronEnergy
Definition at line 91 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mChargedHadronEnergy.
Referenced by chargedHadronEnergyFraction(), PFJetIDSelectionFunctor::firstDataCuts(), print(), PFJetBenchmark::printPFJet(), PFJetBenchmark::process(), and JetIdSelector< T >::produce().
{return m_specific.mChargedHadronEnergy;}
float reco::PFJet::chargedHadronEnergyFraction | ( | ) | const [inline] |
chargedHadronEnergyFraction
Definition at line 93 of file PFJet.h.
References chargedHadronEnergy(), and reco::LeafCandidate::energy().
Referenced by PFJetIDSelectionFunctor::firstDataCuts(), and reco::operator<<().
{return chargedHadronEnergy () / energy ();}
int reco::PFJet::chargedHadronMultiplicity | ( | ) | const [inline] |
chargedHadronMultiplicity
Definition at line 120 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mChargedHadronMultiplicity.
Referenced by PFJetMonitor::fillOne(), and print().
{return m_specific.mChargedHadronMultiplicity;}
float reco::PFJet::chargedMuEnergy | ( | ) | const [inline] |
chargedMuEnergy
Definition at line 139 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mChargedMuEnergy.
Referenced by chargedMuEnergyFraction(), print(), and PFJetBenchmark::printPFJet().
{return m_specific.mChargedMuEnergy;}
float reco::PFJet::chargedMuEnergyFraction | ( | ) | const [inline] |
chargedMuEnergyFraction
Definition at line 141 of file PFJet.h.
References chargedMuEnergy(), and reco::LeafCandidate::energy().
{return chargedMuEnergy () / energy ();}
int reco::PFJet::chargedMultiplicity | ( | ) | const [inline] |
chargedMultiplicity
Definition at line 148 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mChargedMultiplicity.
Referenced by PFJetIDSelectionFunctor::firstDataCuts(), getTrackRefs(), print(), PFJetBenchmark::printPFJet(), PFJetBenchmark::process(), and JetIdSelector< T >::produce().
{return m_specific.mChargedMultiplicity;}
PFJet * PFJet::clone | ( | void | ) | const [virtual] |
Polymorphic clone.
Reimplemented from reco::CompositePtrCandidate.
Definition at line 76 of file PFJet.cc.
References PFJet().
{ return new PFJet (*this); }
float reco::PFJet::electronEnergy | ( | ) | const [inline] |
electronEnergy
Definition at line 103 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mElectronEnergy.
Referenced by electronEnergyFraction(), and print().
{return m_specific.mElectronEnergy;}
float reco::PFJet::electronEnergyFraction | ( | ) | const [inline] |
electronEnergyFraction
Definition at line 105 of file PFJet.h.
References electronEnergy(), and reco::LeafCandidate::energy().
Referenced by reco::operator<<().
{return electronEnergy () / energy ();}
int reco::PFJet::electronMultiplicity | ( | ) | const [inline] |
electronMultiplicity
Definition at line 126 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mElectronMultiplicity.
Referenced by PFJetMonitor::fillOne(), and print().
{return m_specific.mElectronMultiplicity;}
reco::PFCandidatePtr PFJet::getPFConstituent | ( | unsigned | fIndex | ) | const [virtual] |
get specific constituent
Definition at line 36 of file PFJet.cc.
References reco::CompositePtrCandidate::dau, reco::CompositePtrCandidate::daughterPtr(), Exception, edm::Ptr< T >::get(), edm::Ptr< T >::id(), edm::Ptr< T >::isAvailable(), edm::Ptr< T >::isNonnull(), and edm::Ptr< T >::key().
Referenced by getPFConstituents(), and getTrackRefs().
{ Constituent dau = daughterPtr (fIndex); if ( dau.isNonnull() && dau.isAvailable() ) { const PFCandidate* pfCandidate = dynamic_cast <const PFCandidate*> (dau.get()); if (pfCandidate) { return edm::Ptr<PFCandidate> (dau.id(), pfCandidate, dau.key() ); } else { throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type"; } } else { return PFCandidatePtr(); } }
std::vector< reco::PFCandidatePtr > PFJet::getPFConstituents | ( | ) | const [virtual] |
get all constituents
Definition at line 53 of file PFJet.cc.
References getPFConstituent(), i, reco::CompositePtrCandidate::numberOfDaughters(), and query::result.
Referenced by reco::tau::pfCandidates(), print(), PFJetBenchmark::process(), and pat::PATJetProducer::produce().
{ std::vector <PFCandidatePtr> result; for (unsigned i = 0; i < numberOfDaughters (); i++) result.push_back (getPFConstituent(i)); return result; }
const Specific& reco::PFJet::getSpecific | ( | ) | const [inline] |
reco::TrackRefVector PFJet::getTrackRefs | ( | ) | const |
\ brief get all tracks in the jets All PFCandidates hold a reference to a track. All the non-null references are added to the returned TrackRefVector
Definition at line 60 of file PFJet.cc.
References chargedMultiplicity(), getPFConstituent(), i, edm::Ref< C, T, F >::isNonnull(), reco::CompositePtrCandidate::numberOfDaughters(), edm::RefVector< C, T, F >::push_back(), edm::RefVector< C, T, F >::reserve(), and query::result.
{ // result will contain chargedMultiplicity() elements reco::TrackRefVector result; result.reserve( chargedMultiplicity() ); for (unsigned i = 0; i < numberOfDaughters (); i++) { const reco::PFCandidatePtr pfcand = getPFConstituent (i); reco::TrackRef trackref = pfcand->trackRef(); if( trackref.isNonnull() ) { result.push_back( trackref ); } } return result; }
float reco::PFJet::HFEMEnergy | ( | ) | const [inline] |
HFEMEnergy.
Definition at line 115 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mHFEMEnergy.
Referenced by HFEMEnergyFraction(), and print().
{return m_specific.mHFEMEnergy;}
float reco::PFJet::HFEMEnergyFraction | ( | ) | const [inline] |
HFEMEnergyFraction.
Definition at line 117 of file PFJet.h.
References reco::LeafCandidate::energy(), and HFEMEnergy().
Referenced by reco::operator<<().
{return HFEMEnergy () / energy ();}
int reco::PFJet::HFEMMultiplicity | ( | ) | const [inline] |
HFEMMultiplicity.
Definition at line 132 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mHFEMMultiplicity.
Referenced by print().
{return m_specific.mHFEMMultiplicity;}
float reco::PFJet::HFHadronEnergy | ( | ) | const [inline] |
HFHadronEnergy.
Definition at line 111 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mHFHadronEnergy.
Referenced by PFJetIDSelectionFunctor::firstDataCuts(), HFHadronEnergyFraction(), and print().
{return m_specific.mHFHadronEnergy;}
float reco::PFJet::HFHadronEnergyFraction | ( | ) | const [inline] |
HFHadronEnergyFraction.
Definition at line 113 of file PFJet.h.
References reco::LeafCandidate::energy(), and HFHadronEnergy().
Referenced by reco::operator<<().
{return HFHadronEnergy () / energy ();}
int reco::PFJet::HFHadronMultiplicity | ( | ) | const [inline] |
HFHadronMultiplicity.
Definition at line 130 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mHFHadronMultiplicity.
Referenced by print().
{return m_specific.mHFHadronMultiplicity;}
float reco::PFJet::muonEnergy | ( | ) | const [inline] |
muonEnergy
Definition at line 107 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mMuonEnergy.
Referenced by muonEnergyFraction(), and print().
{return m_specific.mMuonEnergy;}
float reco::PFJet::muonEnergyFraction | ( | ) | const [inline] |
muonEnergyFraction
Definition at line 109 of file PFJet.h.
References reco::LeafCandidate::energy(), and muonEnergy().
Referenced by reco::operator<<().
{return muonEnergy () / energy ();}
int reco::PFJet::muonMultiplicity | ( | ) | const [inline] |
muonMultiplicity
Definition at line 128 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mMuonMultiplicity.
Referenced by PFJetMonitor::fillOne(), and print().
{return m_specific.mMuonMultiplicity;}
float reco::PFJet::neutralEmEnergy | ( | ) | const [inline] |
neutralEmEnergy
Definition at line 143 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mNeutralEmEnergy.
Referenced by PFJetIDSelectionFunctor::firstDataCuts(), neutralEmEnergyFraction(), print(), PFJetBenchmark::printPFJet(), PFJetBenchmark::process(), and JetIdSelector< T >::produce().
{return m_specific.mNeutralEmEnergy;}
float reco::PFJet::neutralEmEnergyFraction | ( | ) | const [inline] |
neutralEmEnergyFraction
Definition at line 145 of file PFJet.h.
References reco::LeafCandidate::energy(), and neutralEmEnergy().
Referenced by PFJetIDSelectionFunctor::firstDataCuts().
{return neutralEmEnergy () / energy ();}
float reco::PFJet::neutralHadronEnergy | ( | ) | const [inline] |
neutralHadronEnergy
Definition at line 95 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mNeutralHadronEnergy.
Referenced by PFJetIDSelectionFunctor::firstDataCuts(), neutralHadronEnergyFraction(), print(), PFJetBenchmark::printPFJet(), PFJetBenchmark::process(), and JetIdSelector< T >::produce().
{return m_specific.mNeutralHadronEnergy;}
float reco::PFJet::neutralHadronEnergyFraction | ( | ) | const [inline] |
neutralHadronEnergyFraction
Definition at line 97 of file PFJet.h.
References reco::LeafCandidate::energy(), and neutralHadronEnergy().
Referenced by reco::operator<<().
{return neutralHadronEnergy () / energy ();}
int reco::PFJet::neutralHadronMultiplicity | ( | ) | const [inline] |
neutralHadronMultiplicity
Definition at line 122 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mNeutralHadronMultiplicity.
Referenced by PFJetMonitor::fillOne(), and print().
{return m_specific.mNeutralHadronMultiplicity;}
int reco::PFJet::neutralMultiplicity | ( | ) | const [inline] |
neutralMultiplicity
Definition at line 150 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mNeutralMultiplicity.
Referenced by print(), and PFJetBenchmark::printPFJet().
{return m_specific.mNeutralMultiplicity;}
bool PFJet::overlap | ( | const Candidate & | ) | const [private, virtual] |
Polymorphic overlap.
Reimplemented from reco::CompositePtrCandidate.
Definition at line 80 of file PFJet.cc.
{ return false; }
float reco::PFJet::photonEnergy | ( | ) | const [inline] |
photonEnergy
Definition at line 99 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mPhotonEnergy.
Referenced by photonEnergyFraction(), and print().
{return m_specific.mPhotonEnergy;}
float reco::PFJet::photonEnergyFraction | ( | ) | const [inline] |
photonEnergyFraction
Definition at line 101 of file PFJet.h.
References reco::LeafCandidate::energy(), and photonEnergy().
Referenced by reco::operator<<().
{return photonEnergy () / energy ();}
int reco::PFJet::photonMultiplicity | ( | ) | const [inline] |
photonMultiplicity
Definition at line 124 of file PFJet.h.
References m_specific, and reco::PFJet::Specific::mPhotonMultiplicity.
Referenced by PFJetMonitor::fillOne(), and print().
{return m_specific.mPhotonMultiplicity;}
std::string PFJet::print | ( | void | ) | const [virtual] |
Print object in details.
Reimplemented from reco::Jet.
Definition at line 84 of file PFJet.cc.
References chargedEmEnergy(), chargedHadronEnergy(), chargedHadronMultiplicity(), chargedMuEnergy(), chargedMultiplicity(), electronEnergy(), electronMultiplicity(), getPFConstituents(), HFEMEnergy(), HFEMMultiplicity(), HFHadronEnergy(), HFHadronMultiplicity(), i, muonEnergy(), muonMultiplicity(), neutralEmEnergy(), neutralHadronEnergy(), neutralHadronMultiplicity(), neutralMultiplicity(), dbtoconf::out, photonEnergy(), and photonMultiplicity().
Referenced by PFJetBenchmark::printPFJet().
{ std::ostringstream out; out << Jet::print () // generic jet info << " PFJet specific:" << std::endl << " charged hadron energy/multiplicity: " << chargedHadronEnergy () << '/' << chargedHadronMultiplicity () << std::endl << " neutral hadron energy/multiplicity: " << neutralHadronEnergy () << '/' << neutralHadronMultiplicity () << std::endl << " photon energy/multiplicity: " << photonEnergy () << '/' << photonMultiplicity () << std::endl << " electron energy/multiplicity: " << electronEnergy () << '/' << electronMultiplicity () << std::endl << " muon energy/multiplicity: " << muonEnergy () << '/' << muonMultiplicity () << std::endl << " HF Hadron energy/multiplicity: " << HFHadronEnergy () << '/' << HFHadronMultiplicity () << std::endl << " HF EM particle energy/multiplicity: " << HFEMEnergy () << '/' << HFEMMultiplicity () << std::endl << " charged/neutral hadrons energy: " << chargedHadronEnergy () << '/' << neutralHadronEnergy () << std::endl << " charged/neutral em energy: " << chargedEmEnergy () << '/' << neutralEmEnergy () << std::endl << " charged muon energy: " << chargedMuEnergy () << '/' << std::endl << " charged/neutral multiplicity: " << chargedMultiplicity () << '/' << neutralMultiplicity () << std::endl; out << " PFCandidate constituents:" << std::endl; std::vector <PFCandidatePtr> constituents = getPFConstituents (); for (unsigned i = 0; i < constituents.size (); ++i) { if (constituents[i].get()) { out << " #" << i << " " << *(constituents[i]) << std::endl; } else { out << " #" << i << " PFCandidate is not available in the event" << std::endl; } } return out.str (); }
Specific reco::PFJet::m_specific [private] |
Definition at line 180 of file PFJet.h.
Referenced by chargedEmEnergy(), chargedHadronEnergy(), chargedHadronMultiplicity(), chargedMuEnergy(), chargedMultiplicity(), electronEnergy(), electronMultiplicity(), getSpecific(), HFEMEnergy(), HFEMMultiplicity(), HFHadronEnergy(), HFHadronMultiplicity(), muonEnergy(), muonMultiplicity(), neutralEmEnergy(), neutralHadronEnergy(), neutralHadronMultiplicity(), neutralMultiplicity(), photonEnergy(), and photonMultiplicity().