Go to the documentation of this file.
4 #ifndef DataFormats_PatCandidates_Photon_h
5 #define DataFormats_PatCandidates_Photon_h
44 class PATPhotonSlimmer;
48 typedef std::pair<std::string, Bool_t>
IdPair;
178 <<
"The key for which you're setting isolation does not correspond "
179 <<
"to an individual isolation but to the sum of more independent isolations "
180 <<
"(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n"
181 <<
"Please set up each component independly.\n";
203 if (it->first ==
key)
219 for (; it != ed; ++it) {
220 if (it->first ==
key) {
316 template <
typename T>
void setSubClusDPhi3(float s)
IsoDepositPairs isoDeposits_
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.
void setGenPhoton(const reco::GenParticleRef &gp, bool embed=false)
method to set the generated photon
void setMaxDRRawEnergy(float m)
bool embeddedSeedCluster_
True if seed cluster is stored internally.
float subClusDPhi3() const
void setMaxDRDPhi(float m)
bool passElectronVeto() const
vertex fit method
void setAssociatedPackedPFCandidates(const edm::RefProd< pat::PackedCandidateCollection > &refprod, T beginIndexItr, T endIndexItr)
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
void setSubClusDPhi2(float s)
const IsoDeposit * ecalIsoDeposit() const
Return the ecal IsoDeposit.
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
float seedEnergy_
-— input variables for regression energy corrections -—
bool embeddedSuperCluster_
~Photon() override
destructor
EcalRecHitCollection recHits_
Place to store electron's RecHits internally (5x5 around seed+ all RecHits)
Analysis-level Photon class.
void embedSuperCluster()
method to store the photon's supercluster internally
void setSubClusRawE1(float s)
const EcalRecHitCollection * recHits() const
float userIso(uint8_t index=0) const
Returns a user defined isolation value.
void setHasPixelSeed(bool flag)
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron's preshower clusters internally.
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
float userIsolation(IsolationKeys key) const
void setSubClusDEta3(float s)
std::vector< Photon > PhotonCollection
Photon()
default constructor
float subClusDPhi2() const
float neutralHadronIso() const
std::vector< IdPair > photonIDs_
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
Sets user-level IsoDeposit.
float subClusRawE1() const
std::pair< std::string, Bool_t > IdPair
edm::AtomicPtrCache< std::vector< reco::SuperCluster > > superClusterRelinked_
Place to temporarily store the electron's supercluster after relinking the seed to it.
void ecalIsoDeposit(const IsoDeposit &dep)
Sets ecal IsoDeposit.
bool embeddedRecHits_
True if RecHits stored internally.
float neutralHadronIso() const
bool isPhotonIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Photon.
void setEcalIso(float caloIso)
Sets ecal isolation variable.
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
float puppiChargedHadronIso_
const IsoDeposit * hcalIsoDeposit() const
Return the hcal IsoDeposit.
const std::vector< reco::CaloCluster > & basicClusters() const
void setSubClusRawE2(float s)
reco::CandidatePtr sourceCandidatePtr(size_type i) const override
get the source candidate pointer with index i
Templated PAT object container.
float puChargedHadronIso() const
const std::vector< IdPair > & photonIDs() const
void setTrackIso(float trackIso)
Sets tracker isolation variable.
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
void setIsolation(IsolationKeys key, float value)
float subClusRawE3() const
void hcalIsoDeposit(const IsoDeposit &dep)
Sets hcal IsoDeposit.
float subClusRawE2() const
void embedSeedCluster()
method to store the electron's seedcluster internally
float subClusDPhi1() const
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
std::vector< uint16_t > associatedPackedFCandidateIndices_
void setSubClusDEta2(float s)
float puppiChargedHadronIso() const
const std::vector< reco::CaloCluster > & preshowerClusters() const
const IsoDeposit * trackIsoDeposit() const
Return the tracker IsoDeposit.
float puppiNeutralHadronIso_
std::ostream & operator<<(std::ostream &, BeamSpot beam)
void setPassElectronVeto(bool flag)
reco::CaloClusterPtr seed() const
direct access to the seed cluster
const reco::Candidate * genPhoton() const
return the match to the generated photon
bool passElectronVeto_
-— conversion veto -—
edm::Ref< PhotonCollection > PhotonRef
std::vector< float > isolations_
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
void setSubClusDEta1(float s)
void setSeedEnergy(float e)
void embedPreshowerClusters()
method to store the electron's preshower clusters
float seedEnergy() const
input variables for regression energy corrections
float puppiPhotonIso() const
edm::RefVector< PhotonCollection > PhotonRefVector
IsolationKeys
Enum defining isolation keys.
void setMaxDRDEta(float m)
void embedBasicClusters()
method to store the electron's basic clusters
std::vector< reco::SuperCluster > superCluster_
const reco::GenParticle * genParticle(size_t idx=0) const
float trkSumPtSolidConeDR04() const
float subClusDEta2() const
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Return a specified user-level IsoDeposit.
unsigned int index
index type
void setPhotonIDs(const std::vector< IdPair > &ids)
Bool_t photonID(const std::string &name) const
void setHcalIso(float caloIso)
Sets hcal isolation variable.
float ecalRecHitSumEtConeDR04() const
float chargedHadronIso() const
void setSubClusDPhi1(float s)
Photon * clone() const override
required reimplementation of the Candidate's clone method
std::vector< reco::CaloCluster > basicClusters_
Place to store electron's basic clusters internally.
size_t numberOfSourceCandidatePtrs() const override
get the number of non-null PFCandidates
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer
float subClusDEta3() const
float patParticleIso() const
void setSubClusRawE3(float s)
void setIsolationPUPPI(float chargedhadrons_, float neutralhadrons_, float photons_)
Sets PUPPI isolation.
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
float puppiNeutralHadronIso() const
float subClusDEta1() const
bool hasPixelSeed() const
float maxDRRawEnergy() const
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
reco::SuperClusterRef superCluster() const override
override the superCluster method from CaloJet, to access the internal storage of the supercluster