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 subClusDPhi2() const
Analysis-level Photon class.
edm::RefVector< PhotonCollection > PhotonRefVector
const edm::EventSetup & c
void setEcalIso(float caloIso)
Sets ecal isolation variable.
float neutralHadronIso() const
void setSubClusDPhi3(float s)
void setTrackIso(float trackIso)
Sets tracker isolation variable.
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
float neutralHadronIso() const
float puppiNeutralHadronIso() const
const reco::GenParticle * genParticle(size_t idx=0) const
bool passElectronVeto_
-— conversion veto -—
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
edm::Ref< PhotonCollection > PhotonRef
void setMaxDRRawEnergy(float m)
float hcalTowerSumEtConeDR04(int depth=0) const
float subClusDEta3() const
float subClusDEta2() const
float trkSumPtSolidConeDR04() const
float puChargedHadronIso() const
void embedSeedCluster()
method to store the electron's seedcluster internally
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...
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
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)
float ecalRecHitSumEtConeDR04() const
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.
float subClusDPhi1() const
const std::vector< reco::CaloCluster > & basicClusters() const
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.
reco::CandidatePtr sourceCandidatePtr(size_type i) const override
get the source candidate pointer with index i
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.
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 EcalRecHitCollection * recHits() const
float puppiChargedHadronIso_
float puppiChargedHadronIso() const
float seedEnergy() const
input variables for regression energy corrections
const reco::Candidate * genPhoton() const
return the match to the generated photon
reco::CaloClusterPtr seed() const
direct access to the seed cluster
void setMaxDRDEta(float m)
float subClusRawE1() const
float puppiNeutralHadronIso_
void setPhotonIDs(const std::vector< IdPair > &ids)
void embedBasicClusters()
method to store the electron's basic clusters
tuple key
prepare the HTCondor submission files and eventually submit them
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
const IsoDeposit * hcalIsoDeposit() const
Return the hcal IsoDeposit.
float subClusRawE3() const
void setPassElectronVeto(bool flag)
float patParticleIso() const
float subClusDPhi3() const
float userIso(uint8_t index=0) const
Returns a user defined isolation value.
void setSeedEnergy(float e)
void setSubClusDPhi1(float s)
void hcalIsoDeposit(const IsoDeposit &dep)
Sets hcal IsoDeposit.
void setSubClusDEta1(float s)
std::vector< IdPair > photonIDs_
~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_
const IsoDeposit * ecalIsoDeposit() const
Return the ecal IsoDeposit.
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
bool hasPixelSeed() const
Bool_t photonID(const std::string &name) const
void setHasPixelSeed(bool flag)
const std::vector< IdPair > & photonIDs() const
float puppiPhotonIso() const
void setSubClusDEta2(float s)
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 ...
bool passElectronVeto() const
vertex fit method
float maxDRRawEnergy() const
const IsoDeposit * trackIsoDeposit() const
Return the tracker IsoDeposit.
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)
bool embeddedSeedCluster_
True if seed cluster is stored internally.
void setSubClusRawE1(float s)
Templated PAT object container.
float userIsolation(IsolationKeys key) const
bool isPhotonIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Photon.
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Return a specified user-level IsoDeposit.
void setSubClusRawE3(float s)
std::vector< uint16_t > associatedPackedFCandidateIndices_
float subClusDEta1() const
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
float subClusRawE2() const
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::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_
const std::vector< reco::CaloCluster > & preshowerClusters() const