4 #ifndef DataFormats_PatCandidates_Photon_h
5 #define DataFormats_PatCandidates_Photon_h
45 class PATPhotonSlimmer;
51 typedef std::pair<std::string,Bool_t>
IdPair;
158 if (
size_t(key) >=
isolations_.size())
return -1.0;
160 }
else switch (key) {
180 "The key for which you're setting isolation does not correspond " <<
181 "to an individual isolation but to the sum of more independent isolations " <<
182 "(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n" <<
183 "Please set up each component independly.\n";
201 if (it->first == key)
return & it->second;
216 for (; it != ed; ++it) {
217 if (it->first == key) { it->second = dep;
return; }
float subClusDPhi2() const
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Analysis-level Photon class.
edm::RefVector< PhotonCollection > PhotonRefVector
reco::SuperClusterRef superCluster() const
override the superCluster method from CaloJet, to access the internal storage of the supercluster ...
void setEcalIso(float caloIso)
Sets ecal isolation variable.
float ecalPFClusterIso() const
get and set PFCluster isolation
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
const reco::GenParticle * genParticle(size_t idx=0) const
bool passElectronVeto_
-— conversion veto -—
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
virtual Photon * clone() const
required reimplementation of the Candidate's clone method
edm::Ref< PhotonCollection > PhotonRef
void setMaxDRRawEnergy(float m)
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 ...
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.
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
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the source candidate pointer with index i
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
void setPhotonIDs(const std::vector< IdPair > &ids)
void embedBasicClusters()
method to store the electron's basic clusters
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)
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
std::vector< IdPair > photonIDs_
void embedPreshowerClusters()
method to store the electron's preshower clusters
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
std::pair< std::string, Bool_t > IdPair
void setHasPixelSeed(bool flag)
const std::vector< IdPair > & photonIDs() const
void setSubClusDEta2(float s)
size_t numberOfSourceCandidatePtrs() const
get the number of non-null PFCandidates
virtual ~Photon()
destructor
float hcalPFClusterIso() const
IsoDepositPairs isoDeposits_
void setSubClusRawE2(float s)
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)
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
void setHcalPFClusterIso(float hcalPFClus)
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
void setEcalPFClusterIso(float ecalPFClus)