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>
float subClusRawE1() const
float neutralHadronIso() const
Analysis-level Photon class.
edm::RefVector< PhotonCollection > PhotonRefVector
float patParticleIso() const
float userIso(uint8_t index=0) const
Returns a user defined isolation value.
const IsoDeposit * hcalIsoDeposit() const
Return the hcal IsoDeposit.
float seedEnergy() const
input variables for regression energy corrections
void setEcalIso(float caloIso)
Sets ecal isolation variable.
const IsoDeposit * trackIsoDeposit() const
Return the tracker IsoDeposit.
void setSubClusDPhi3(float s)
void setTrackIso(float trackIso)
Sets tracker isolation variable.
const reco::GenParticle * genParticle(size_t idx=0) const
bool passElectronVeto_
-— conversion veto -—
const reco::Candidate * genPhoton() const
return the match to the generated photon
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
edm::Ref< PhotonCollection > PhotonRef
float ecalRecHitSumEtConeDR04() const
void setMaxDRRawEnergy(float m)
void embedSeedCluster()
method to store the electron's seedcluster internally
float subClusRawE2() const
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 ecalIsoDeposit(const IsoDeposit &dep)
Sets ecal IsoDeposit.
void setSubClusDPhi2(float s)
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer ...
void setIsolationPUPPI(float chargedhadrons_, float neutralhadrons_, float photons_)
Sets PUPPI isolation.
std::vector< reco::SuperCluster > superCluster_
IsolationKeys
Enum defining isolation keys.
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron's preshower clusters internally.
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
float subClusDEta3() const
float subClusDEta1() const
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Return a specified user-level IsoDeposit.
reco::CandidatePtr sourceCandidatePtr(size_type i) const override
get the source candidate pointer with index i
float puppiChargedHadronIso() const
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
float chargedHadronIso() const
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.
void setHcalIso(float caloIso)
Sets hcal isolation variable.
float trkSumPtSolidConeDR04() const
void setIsolation(IsolationKeys key, float value)
bool passElectronVeto() const
vertex fit method
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)
float puppiChargedHadronIso_
float hcalTowerSumEtConeDR04(int depth=0) const
float subClusDEta2() const
void setMaxDRDEta(float m)
bool isPhotonIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Photon.
const std::vector< reco::CaloCluster > & basicClusters() const
float puppiNeutralHadronIso_
void setPhotonIDs(const std::vector< IdPair > &ids)
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
float puppiNeutralHadronIso() const
float userIsolation(IsolationKeys key) const
void embedBasicClusters()
method to store the electron's basic clusters
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
void setPassElectronVeto(bool flag)
Bool_t photonID(const std::string &name) const
const std::vector< reco::CaloCluster > & preshowerClusters() const
void setSeedEnergy(float e)
float subClusRawE3() const
void setSubClusDPhi1(float s)
void hcalIsoDeposit(const IsoDeposit &dep)
Sets hcal IsoDeposit.
void setSubClusDEta1(float s)
float subClusDPhi2() const
float subClusDPhi3() const
std::vector< IdPair > photonIDs_
float subClusDPhi1() const
~Photon() override
destructor
void embedPreshowerClusters()
method to store the electron's preshower clusters
size_t numberOfSourceCandidatePtrs() const override
get the number of non-null PFCandidates
bool embeddedSuperCluster_
edm::AtomicPtrCache< std::vector< reco::SuperCluster > > superClusterRelinked_
Place to temporarily store the electron's supercluster after relinking the seed to it...
void embedSuperCluster()
method to store the photon's supercluster internally
EcalRecHitCollection recHits_
Place to store electron's RecHits internally (5x5 around seed+ all RecHits)
bool embeddedRecHits_
True if RecHits stored internally.
unsigned int index
index type
void setHasPixelSeed(bool flag)
const EcalRecHitCollection * recHits() const
void setSubClusDEta2(float s)
float puChargedHadronIso() const
IsoDepositPairs isoDeposits_
void setSubClusRawE2(float s)
reco::SuperClusterRef superCluster() const override
override the superCluster method from CaloJet, to access the internal storage of the supercluster ...
float seedEnergy_
-— input variables for regression energy corrections -—
void setMaxDRDPhi(float m)
Photon * clone() const override
required reimplementation of the Candidate's clone method
void setSubClusDEta3(float s)
const IsoDeposit * ecalIsoDeposit() const
Return the ecal IsoDeposit.
bool embeddedSeedCluster_
True if seed cluster is stored internally.
void setSubClusRawE1(float s)
bool hasPixelSeed() const
Templated PAT object container.
float puppiPhotonIso() const
void setSubClusRawE3(float s)
std::vector< uint16_t > associatedPackedFCandidateIndices_
float maxDRRawEnergy() const
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
float neutralHadronIso() const
const std::vector< IdPair > & photonIDs() const
void setGenPhoton(const reco::GenParticleRef &gp, bool embed=false)
method to set the generated photon
reco::CaloClusterPtr seed() const
direct access to the seed cluster
std::vector< Photon > PhotonCollection
std::pair< std::string, Bool_t > IdPair
Photon()
default constructor
std::vector< reco::CaloCluster > basicClusters_
Place to store electron's basic clusters internally.
std::vector< float > isolations_
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...