4 #ifndef DataFormats_PatCandidates_Photon_h
5 #define DataFormats_PatCandidates_Photon_h
48 typedef std::pair<std::string,Bool_t>
IdPair;
129 if (
size_t(key) >=
isolations_.size())
return -1.0;
131 }
else switch (key) {
151 "The key for which you're setting isolation does not correspond " <<
152 "to an individual isolation but to the sum of more independent isolations " <<
153 "(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n" <<
154 "Please set up each component independly.\n";
172 if (it->first == key)
return & it->second;
187 for (; it != ed; ++it) {
188 if (it->first == key) { it->second = dep;
return; }
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Analysis-level Photon class.
edm::RefVector< PhotonCollection > PhotonRefVector
void setEcalIso(float caloIso)
Sets ecal isolation variable.
float neutralHadronIso() const
void setTrackIso(float trackIso)
Sets tracker isolation variable.
const reco::GenParticle * genParticle(size_t idx=0) const
Photon()
default constructor
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
virtual Photon * clone() const
required reimplementation of the Candidate's clone method
edm::Ref< PhotonCollection > PhotonRef
float trkSumPtSolidConeDR04() const
float puChargedHadronIso() const
void ecalIsoDeposit(const IsoDeposit &dep)
Sets ecal IsoDeposit.
float ecalRecHitSumEtConeDR04() const
void embedSuperCluster()
method to store the photon's supercluster internally
std::vector< reco::SuperCluster > superCluster_
IsolationKeys
Enum defining isolation keys.
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
void setHcalIso(float caloIso)
Sets hcal isolation variable.
void setIsolation(IsolationKeys key, float value)
float chargedHadronIso() const
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
Sets user-level IsoDeposit.
std::ostream & operator<<(std::ostream &, BeamSpot beam)
const reco::Candidate * genPhoton() const
return the match to the generated photon
void setPhotonIDs(const std::vector< IdPair > &ids)
const IsoDeposit * hcalIsoDeposit() const
Return the hcal IsoDeposit.
bool isPhotonIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Photon.
float userIso(uint8_t index=0) const
Returns a user defined isolation value.
Bool_t photonID(const std::string &name) const
void hcalIsoDeposit(const IsoDeposit &dep)
Sets hcal IsoDeposit.
std::vector< IdPair > photonIDs_
bool embeddedSuperCluster_
const IsoDeposit * ecalIsoDeposit() const
Return the ecal IsoDeposit.
unsigned int index
index type
std::pair< std::string, Bool_t > IdPair
const std::vector< IdPair > & photonIDs() const
float particleIso() const
IsoDepositPairs isoDeposits_
reco::SuperClusterRef superCluster() const
override the superCluster method from CaloJet, to access the internal storage of the supercluster ...
const IsoDeposit * trackIsoDeposit() const
Return the tracker IsoDeposit.
virtual ~Photon()
destructor
Templated PAT object container.
float userIsolation(IsolationKeys key) const
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Return a specified user-level IsoDeposit.
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
void setGenPhoton(const reco::GenParticleRef &gp, bool embed=false)
method to set the generated photon
std::vector< Photon > PhotonCollection
std::vector< float > isolations_