4 #ifndef DataFormats_PatCandidates_Lepton_h 5 #define DataFormats_PatCandidates_Lepton_h 28 template <
class LeptonType>
77 if (prunedKey ==
"TrackIso")
79 if (prunedKey ==
"EcalIso")
81 if (prunedKey ==
"HcalIso")
83 if (prunedKey ==
"PfAllParticleIso")
85 if (prunedKey ==
"PfChargedHadronIso")
87 if (prunedKey ==
"PfNeutralHadronIso")
89 if (prunedKey ==
"PfGammaIso")
91 if (prunedKey ==
"User1Iso")
93 if (prunedKey ==
"User2Iso")
95 if (prunedKey ==
"User3Iso")
97 if (prunedKey ==
"User4Iso")
99 if (prunedKey ==
"User5Iso")
101 if (prunedKey ==
"UserBaseIso")
103 if (prunedKey ==
"CaloIso")
105 if (prunedKey ==
"PfPUChargedHadronIso")
122 <<
"The key for which you're setting isolation does not correspond " 123 <<
"to an individual isolation but to the sum of more independent isolations " 124 <<
"(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n" 125 <<
"Please set up each component independly.\n";
184 if (it->first ==
key)
193 for (; it != ed; ++it) {
194 if (it->first ==
key) {
229 template <
class LeptonType>
239 template <
class LeptonType>
245 template <
class LeptonType>
251 template <
class LeptonType>
257 template <
class LeptonType>
void ecalIsoDeposit(const IsoDeposit &dep)
void setIsolation(IsolationKeys key, float value)
void trackIsoDeposit(const IsoDeposit &dep)
float userIsolation(IsolationKeys key) const
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
Lepton()
default constructor
const reco::GenParticle * genParticle(size_t idx=0) const
void hcalIsoDeposit(const IsoDeposit &dep)
IsolationKeys
Enum defining isolation keys.
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
void setGenLepton(const reco::GenParticleRef &gl, bool embed=false)
~Lepton() override
destructor
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable #index.
const IsoDeposit * trackIsoDeposit() const
float chargedHadronIso() const
float neutralHadronIso() const
Analysis-level lepton class.
math::XYZPoint Point
point in the space
const PFIsolation & miniPFIsolation() const
float puChargedHadronIso() const
IsoDepositPairs isoDeposits_
float particleIso() const
unsigned int index
index type
const IsoDeposit * hcalIsoDeposit() const
std::vector< float > isolations_
void setMiniPFIsolation(PFIsolation const &iso)
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
float userIsolation(const std::string &key) const
PFIsolation miniPFIsolation_
void setTrackIso(float trackIso)
Sets tracker isolation variable.
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Templated PAT object container.
void setEcalIso(float caloIso)
Sets ecal isolation variable.
void setHcalIso(float caloIso)
Sets hcal isolation variable.
const IsoDeposit * ecalIsoDeposit() const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Lepton< LeptonType > * clone() const override
const reco::GenParticle * genLepton() const
float userIso(uint8_t index=0) const