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)
const IsoDeposit * trackIsoDeposit() const
const reco::GenParticle * genLepton() const
void setIsolation(IsolationKeys key, float value)
void trackIsoDeposit(const IsoDeposit &dep)
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
Lepton()
default constructor
const reco::GenParticle * genParticle(size_t idx=0) const
const IsoDeposit * hcalIsoDeposit() const
float userIso(uint8_t index=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.
const PFIsolation & miniPFIsolation() const
float particleIso() const
float neutralHadronIso() const
float puChargedHadronIso() const
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.
Analysis-level lepton class.
tuple key
prepare the HTCondor submission files and eventually submit them
math::XYZPoint Point
point in the space
const IsoDeposit * ecalIsoDeposit() const
IsoDepositPairs isoDeposits_
float userIsolation(const std::string &key) const
unsigned int index
index type
float userIsolation(IsolationKeys key) const
std::vector< float > isolations_
void setMiniPFIsolation(PFIsolation const &iso)
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
PFIsolation miniPFIsolation_
void setTrackIso(float trackIso)
Sets tracker isolation variable.
Templated PAT object container.
void setEcalIso(float caloIso)
Sets ecal isolation variable.
void setHcalIso(float caloIso)
Sets hcal isolation variable.
float chargedHadronIso() const
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Lepton< LeptonType > * clone() const override