CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Types | Protected Attributes | Friends
pat::Photon Class Reference

Analysis-level Photon class. More...

#include "DataFormats/PatCandidates/interface/Photon.h"

Inheritance diagram for pat::Photon:
pat::PATObject< reco::Photon > reco::Photon reco::RecoCandidate reco::LeafCandidate reco::Candidate

Public Types

typedef std::pair< std::string,
Bool_t > 
IdPair
 
- Public Types inherited from pat::PATObject< reco::Photon >
typedef reco::Photon base_type
 
- Public Types inherited from reco::Photon
enum  ConversionProvenance { egamma =0, pflow =1, both =2 }
 
enum  P4type {
  undefined =-1, ecal_standard =0, ecal_photons =1, regression1 =2,
  regression2 = 3
}
 
- Public Types inherited from reco::RecoCandidate
enum  TrackType { noTrackType, recoTrackType, gsfTrackType }
 track type More...
 
- Public Types inherited from reco::LeafCandidate
typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 

Public Member Functions

float caloIso () const
 
virtual Photonclone () const
 required reimplementation of the Candidate's clone method More...
 
float ecalIso () const
 
const IsoDepositecalIsoDeposit () const
 Return the ecal IsoDeposit. More...
 
void ecalIsoDeposit (const IsoDeposit &dep)
 Sets ecal IsoDeposit. More...
 
void embedSuperCluster ()
 method to store the photon's supercluster internally More...
 
const reco::CandidategenPhoton () const
 return the match to the generated photon More...
 
float hcalIso () const
 
const IsoDeposithcalIsoDeposit () const
 Return the hcal IsoDeposit. More...
 
void hcalIsoDeposit (const IsoDeposit &dep)
 Sets hcal IsoDeposit. More...
 
const IsoDepositisoDeposit (IsolationKeys key) const
 Returns the IsoDeposit associated with some key, or a null pointer if it is not available. More...
 
bool isPhotonIDAvailable (const std::string &name) const
 Returns true if a specific ID is available in this pat::Photon. More...
 
 Photon ()
 default constructor More...
 
 Photon (const reco::Photon &aPhoton)
 constructor from a reco photon More...
 
 Photon (const edm::RefToBase< reco::Photon > &aPhotonRef)
 constructor from a RefToBase to a reco photon (to be superseded by Ptr counterpart) More...
 
 Photon (const edm::Ptr< reco::Photon > &aPhotonRef)
 constructor from a Ptr to a reco photon More...
 
Bool_t photonID (const std::string &name) const
 
const std::vector< IdPair > & photonIDs () const
 
void setEcalIso (float caloIso)
 Sets ecal isolation variable. More...
 
void setGenPhoton (const reco::GenParticleRef &gp, bool embed=false)
 method to set the generated photon More...
 
void setHcalIso (float caloIso)
 Sets hcal isolation variable. More...
 
void setIsoDeposit (IsolationKeys key, const IsoDeposit &dep)
 Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten. More...
 
void setIsolation (IsolationKeys key, float value)
 
void setPhotonIDs (const std::vector< IdPair > &ids)
 
void setTrackIso (float trackIso)
 Sets tracker isolation variable. More...
 
void setUserIso (float value, uint8_t index=0)
 Sets user isolation variable index. More...
 
reco::SuperClusterRef superCluster () const
 override the superCluster method from CaloJet, to access the internal storage of the supercluster More...
 
float trackIso () const
 
const IsoDeposittrackIsoDeposit () const
 Return the tracker IsoDeposit. More...
 
void trackIsoDeposit (const IsoDeposit &dep)
 Sets tracker IsoDeposit. More...
 
float userIso (uint8_t index=0) const
 Returns a user defined isolation value. More...
 
const IsoDeposituserIsoDeposit (uint8_t index=0) const
 Return a specified user-level IsoDeposit. More...
 
void userIsoDeposit (const IsoDeposit &dep, uint8_t index=0)
 Sets user-level IsoDeposit. More...
 
float userIsolation (IsolationKeys key) const
 
virtual ~Photon ()
 destructor More...
 
- Public Member Functions inherited from pat::PATObject< reco::Photon >
void addGenParticleRef (const reco::GenParticleRef &ref)
 
void addTriggerObjectMatch (const TriggerObjectStandAlone &trigObj)
 add a trigger match More...
 
void addUserCand (const std::string &label, const reco::CandidatePtr &data)
 Set user-defined int. More...
 
void addUserData (const std::string &label, const T &data, bool transientOnly=false)
 
void addUserDataFromPtr (const std::string &label, const edm::Ptr< pat::UserData > &data)
 
void addUserFloat (const std::string &label, float data)
 Set user-defined float. More...
 
void addUserInt (const std::string &label, int32_t data)
 Set user-defined int. More...
 
std::vector< std::pair
< std::string,
pat::LookupTableRecord > > 
efficiencies () const
 Returns the efficiencies as <name,value> pairs (by value) More...
 
const pat::LookupTableRecordefficiency (const std::string &name) const
 Returns an efficiency given its name. More...
 
const std::vector< std::string > & efficiencyNames () const
 Returns the list of the names of the stored efficiencies. More...
 
const std::vector
< pat::LookupTableRecord > & 
efficiencyValues () const
 Returns the list of the values of the stored efficiencies (the ordering is the same as in efficiencyNames()) More...
 
void embedGenParticle ()
 
const reco::GenParticlegenParticle (size_t idx=0) const
 
reco::GenParticleRef genParticleById (int pdgId, int status, uint8_t autoCharge=0) const
 
reco::GenParticleRef genParticleRef (size_t idx=0) const
 
std::vector< reco::GenParticleRefgenParticleRefs () const
 
size_t genParticlesSize () const
 Number of generator level particles stored as ref or embedded. More...
 
const pat::CandKinResolutiongetKinResolution (const std::string &label="") const
 
bool hasKinResolution (const std::string &label="") const
 Check if the kinematic resolutions are stored into this object (possibly specifying a label for them) More...
 
bool hasOverlaps (const std::string &label) const
 Returns true if there was at least one overlap for this test label. More...
 
bool hasUserCand (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
bool hasUserData (const std::string &key) const
 Check if user data with a specific type is present. More...
 
bool hasUserFloat (const std::string &key) const
 Return true if there is a user-defined float with a given name. More...
 
bool hasUserFloat (const char *key) const
 a CINT-friendly interface More...
 
bool hasUserInt (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
const reco::CandidateoriginalObject () const
 access to the original object; returns zero for null Ref and throws for unavailable collection More...
 
const edm::Ptr< reco::Candidate > & originalObjectRef () const
 reference to original object. Returns a null reference if not available More...
 
const std::vector< std::string > & overlapLabels () const
 Returns the labels of the overlap tests that found at least one overlap. More...
 
const reco::CandidatePtrVectoroverlaps (const std::string &label) const
 
 PATObject ()
 default constructor More...
 
 PATObject (const reco::Photon &obj)
 constructor from a base object (leaves invalid reference to original object!) More...
 
 PATObject (const edm::RefToBase< reco::Photon > &ref)
 constructor from reference More...
 
 PATObject (const edm::Ptr< reco::Photon > &ref)
 constructor from reference More...
 
double resolE (const std::string &label="") const
 Resolution on energy, possibly with a label to specify which resolution to use. More...
 
double resolEt (const std::string &label="") const
 Resolution on et, possibly with a label to specify which resolution to use. More...
 
double resolEta (const std::string &label="") const
 Resolution on eta, possibly with a label to specify which resolution to use. More...
 
double resolM (const std::string &label="") const
 
double resolP (const std::string &label="") const
 Resolution on p, possibly with a label to specify which resolution to use. More...
 
double resolPhi (const std::string &label="") const
 Resolution on phi, possibly with a label to specify which resolution to use. More...
 
double resolPInv (const std::string &label="") const
 Resolution on 1/p, possibly with a label to specify which resolution to use. More...
 
double resolPt (const std::string &label="") const
 Resolution on pt, possibly with a label to specify which resolution to use. More...
 
double resolPx (const std::string &label="") const
 Resolution on px, possibly with a label to specify which resolution to use. More...
 
double resolPy (const std::string &label="") const
 Resolution on py, possibly with a label to specify which resolution to use. More...
 
double resolPz (const std::string &label="") const
 Resolution on pz, possibly with a label to specify which resolution to use. More...
 
double resolTheta (const std::string &label="") const
 Resolution on theta, possibly with a label to specify which resolution to use. More...
 
void setEfficiency (const std::string &name, const pat::LookupTableRecord &value)
 
void setGenParticle (const reco::GenParticle &particle)
 Set the generator level particle from a particle not in the Event (embedding it, of course) More...
 
void setGenParticleRef (const reco::GenParticleRef &ref, bool embed=false)
 Set the generator level particle reference. More...
 
void setKinResolution (const pat::CandKinResolution &resol, const std::string &label="")
 Add a kinematic resolution to this object (possibly with a label) More...
 
void setOverlaps (const std::string &label, const reco::CandidatePtrVector &overlaps)
 
const TriggerObjectStandAlonetriggerObjectMatch (const size_t idx=0) const
 get one matched trigger object by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const std::string &coll, const size_t idx=0) const
 get one matched trigger object from a certain collection by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const char *coll, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const std::string &nameCondition, const size_t idx=0) const
 get one matched L1 object used in a succeeding object combination of a certain L1 condition by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const char *nameCondition, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const std::string &labelFilter, const size_t idx=0) const
 get one matched HLT object used in a certain HLT filter by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const char *labelFilter, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilterID (const unsigned triggerObjectType, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const trigger::TriggerObjectType triggerObjectType, const size_t idx=0) const
 get one matched trigger object of a certain type by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const unsigned triggerObjectType, const size_t idx=0) const
 
const
TriggerObjectStandAloneCollection
triggerObjectMatches () const
 get all matched trigger objects More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const std::string &coll) const
 get all matched trigger objects from a certain collection More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const char *coll) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const std::string &nameCondition) const
 get all matched L1 objects used in a succeeding object combination of a certain L1 condition More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const char *nameCondition) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const std::string &labelFilter) const
 get all matched HLT objects used in a certain HLT filter More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const char *labelFilter) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilterID (const unsigned triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const trigger::TriggerObjectType triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const unsigned triggerObjectType) const
 
reco::CandidatePtr userCand (const std::string &key) const
 
const std::vector< std::string > & userCandNames () const
 Get list of user-defined cand names. More...
 
const TuserData (const std::string &key) const
 Returns user-defined data. Returns NULL if the data is not present, or not of type T. More...
 
const void * userDataBare (const std::string &key) const
 
const std::vector< std::string > & userDataNames () const
 Get list of user data object names. More...
 
const std::string & userDataObjectType (const std::string &key) const
 Get human-readable type of user data object, for debugging. More...
 
float userFloat (const std::string &key) const
 
float userFloat (const char *key) const
 a CINT-friendly interface More...
 
const std::vector< std::string > & userFloatNames () const
 Get list of user-defined float names. More...
 
int32_t userInt (const std::string &key) const
 
const std::vector< std::string > & userIntNames () const
 Get list of user-defined int names. More...
 
virtual ~PATObject ()
 destructor More...
 
- Public Member Functions inherited from reco::Photon
math::XYZPointF caloPosition () const
 position in ECAL: this is th SC position if r9<0.93. If r8>0.93 is position of seed BasicCluster taking shower depth for unconverted photon More...
 
float chargedHadronIso () const
 Accessors for Particle Flow Isolation variables. More...
 
reco::ConversionRefVector conversions () const
 vector of references to Conversion's More...
 
reco::ConversionRefVector conversionsOneLeg () const
 vector of references to one leg Conversion's More...
 
int conversionTrackProvenance (const edm::RefToBase< reco::Track > &convTrack) const
 
float e1x5 () const
 Shower shape variables. More...
 
float e2x5 () const
 
float e3x3 () const
 
float e5x5 () const
 
float ecalRecHitSumEtConeDR03 () const
 Isolation variables in cone dR=0.3. More...
 
float ecalRecHitSumEtConeDR04 () const
 
reco::ElectronSeedRefVector electronPixelSeeds () const
 reference to electron Pixel seed More...
 
const EnergyCorrectionsenergyCorrections () const
 
float etOutsideMustache () const
 
P4type getCandidateP4type () const
 
float getCorrectedEnergy (P4type type) const
 
float getCorrectedEnergyError (P4type type) const
 
float hadronicDepth1OverEm () const
 the hadronic release in depth1 over electromagnetic fraction More...
 
float hadronicDepth2OverEm () const
 the hadronic release in depth2 over electromagnetic fraction More...
 
float hadronicOverEm () const
 the total hadronic over electromagnetic fraction More...
 
float hadTowDepth1OverEm () const
 the ration of hadronic energy in towers depth1 behind the BCs in the SC and the SC energy More...
 
float hadTowDepth2OverEm () const
 the ration of hadronic energy in towers depth2 behind the BCs in the SC and the SC energy More...
 
float hadTowOverEm () const
 the ration of hadronic energy in towers behind the BCs in the SC and the SC energy More...
 
bool hasConversionTracks () const
 Bool flagging photons with a vector of refereces to conversions with size >0. More...
 
bool hasPixelSeed () const
 Bool flagging photons having a non-zero size vector of Ref to electornPixel seeds. More...
 
float hcalDepth1TowerSumEtBcConeDR03 () const
 Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC. More...
 
float hcalDepth1TowerSumEtBcConeDR04 () const
 Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC. More...
 
float hcalDepth1TowerSumEtConeDR03 () const
 Hcal-Depth1 isolation sum. More...
 
float hcalDepth1TowerSumEtConeDR04 () const
 Hcal-Depth1 isolation sum. More...
 
float hcalDepth2TowerSumEtBcConeDR03 () const
 Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC. More...
 
float hcalDepth2TowerSumEtBcConeDR04 () const
 Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC. More...
 
float hcalDepth2TowerSumEtConeDR03 () const
 Hcal-Depth2 isolation sum. More...
 
float hcalDepth2TowerSumEtConeDR04 () const
 Hcal-Depth2 isolation sum. More...
 
const std::vector
< CaloTowerDetId > & 
hcalTowersBehindClusters () const
 
float hcalTowerSumEtBcConeDR03 () const
 Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC. More...
 
float hcalTowerSumEtBcConeDR04 () const
 Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC. More...
 
float hcalTowerSumEtConeDR03 () const
 Hcal isolation sum. More...
 
float hcalTowerSumEtConeDR04 () const
 Hcal isolation sum. More...
 
bool isEB () const
 
bool isEBEEGap () const
 true if photon is in boundary between EB and EE More...
 
bool isEBEtaGap () const
 
bool isEBGap () const
 true if photon is in EB, and inside the boundaries in super crystals/modules More...
 
bool isEBPhiGap () const
 
bool isEE () const
 
bool isEEDeeGap () const
 
bool isEEGap () const
 true if photon is in EE, and inside the boundaries in supercrystal/D More...
 
bool isEERingGap () const
 
bool isPFlowPhoton () const
 Retrieve photonCore attributes. More...
 
bool isPhoton () const
 Implement Candidate method for particle species. More...
 
bool isStandardPhoton () const
 
float maxEnergyXtal () const
 
float mipChi2 () const
 MIP variables. More...
 
float mipIntercept () const
 
bool mipIsHalo () const
 
int mipNhitCone () const
 
float mipSlope () const
 
float mipTotEnergy () const
 
int nClusterOutsideMustache () const
 
float neutralHadronIso () const
 
int nTrkHollowConeDR03 () const
 
int nTrkHollowConeDR04 () const
 
int nTrkSolidConeDR03 () const
 
int nTrkSolidConeDR04 () const
 
const LorentzVectorp4 (P4type type) const
 
float pfMVA () const
 
reco::SuperClusterRef pfSuperCluster () const
 Ref to PFlow SuperCluster. More...
 
 Photon ()
 default constructor More...
 
 Photon (const Photon &)
 copy constructor More...
 
 Photon (const LorentzVector &p4, Point caloPos, const PhotonCoreRef &core, const Point &vtx=Point(0, 0, 0))
 constructor from values More...
 
reco::PhotonCoreRef photonCore () const
 returns a reference to the core photon object More...
 
float photonIso () const
 
float r1x5 () const
 
float r2x5 () const
 
float r9 () const
 
void setCandidateP4type (const P4type type)
 
void setCorrectedEnergy (P4type type, float E, float dE, bool toCand=true)
 
void setEnergyCorrections (const EnergyCorrections &e)
 
void setFiducialVolumeFlags (const FiducialFlags &a)
 set flags for photons in the ECAL fiducial volume More...
 
void setIsolationVariables (const IsolationVariables &isolInDr04, const IsolationVariables &isolInDr03)
 set relevant isolation variables More...
 
void setMIPVariables (const MIPVariables &mipVar)
 set mip Variables More...
 
void setP4 (P4type type, const LorentzVector &p4, float p4Error, bool setToRecoCandidate)
 
void setPflowIDVariables (const PflowIDVariables &pfid)
 
void setPflowIsolationVariables (const PflowIsolationVariables &pfisol)
 Set Particle Flow Isolation variables. More...
 
void setShowerShapeVariables (const ShowerShape &a)
 
void setVertex (const Point &vertex)
 set primary event vertex used to define photon direction More...
 
float sigmaEtaEta () const
 
float sigmaIetaIeta () const
 
float trkSumPtHollowConeDR03 () const
 
float trkSumPtHollowConeDR04 () const
 
float trkSumPtSolidConeDR03 () const
 
float trkSumPtSolidConeDR04 () const
 
- Public Member Functions inherited from reco::RecoCandidate
virtual const TrackbestTrack () const
 best track pointer More...
 
virtual TrackBaseRef bestTrackRef () const
 best track RefToBase More...
 
virtual TrackType bestTrackType () const
 track type More...
 
virtual CaloTowerRef caloTower () const
 reference to a CaloTower More...
 
virtual reco::TrackRef combinedMuon () const
 reference to a stand-alone muon Track More...
 
virtual reco::GsfTrackRef gsfTrack () const
 reference to a GsfTrack More...
 
virtual size_t numberOfTracks () const
 number of multiple Tracks More...
 
 RecoCandidate ()
 default constructor More...
 
 RecoCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0)
 constructor from values More...
 
 RecoCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0)
 constructor from values More...
 
virtual reco::TrackRef standAloneMuon () const
 reference to a stand-alone muon Track More...
 
virtual reco::TrackRef track () const
 reference to a Track More...
 
virtual reco::TrackRef track (size_t) const
 reference to one of multiple Tracks More...
 
virtual ~RecoCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
virtual const_iterator begin () const
 first daughter const_iterator More...
 
virtual iterator begin ()
 first daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
virtual Vector boostToCM () const
 
virtual int charge () const
 electric charge More...
 
virtual const Candidatedaughter (size_type) const
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (size_type)
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
virtual const_iterator end () const
 last daughter const_iterator More...
 
virtual iterator end ()
 last daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
virtual double energy () const
 energy More...
 
virtual double et () const
 transverse energy More...
 
virtual double eta () const
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isCaloMuon () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isElectron () const
 
virtual bool isGlobalMuon () const
 
virtual bool isJet () const
 
virtual bool isMuon () const
 
virtual bool isStandAloneMuon () const
 
virtual bool isTrackerMuon () const
 
 LeafCandidate ()
 default constructor More...
 
 LeafCandidate (const Candidate &c)
 
 LeafCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
virtual bool longLived () const
 is long lived? More...
 
virtual double mass () const
 mass More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual double massSqr () const
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const
 spatial momentum vector More...
 
virtual const Candidatemother (size_type) const
 return mother at a given position (throws an exception) More...
 
virtual double mt () const
 transverse mass More...
 
virtual double mtSqr () const
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual size_t numberOfDaughters () const
 number of daughters More...
 
virtual size_t numberOfMothers () const
 number of mothers More...
 
virtual size_t numberOfSourceCandidatePtrs () const
 
virtual double p () const
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector More...
 
virtual int pdgId () const
 PDG identifier. More...
 
virtual double phi () const
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double px () const
 x coordinate of momentum vector More...
 
virtual double py () const
 y coordinate of momentum vector More...
 
virtual double pz () const
 z coordinate of momentum vector More...
 
virtual double rapidity () const
 rapidity More...
 
virtual void setCharge (Charge q)
 set electric charge More...
 
virtual void setLongLived ()
 set long lived flag More...
 
virtual void setMass (double m)
 set particle mass More...
 
virtual void setMassConstraint ()
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual CandidatePtr sourceCandidatePtr (size_type i) const
 
virtual int status () const
 status word More...
 
virtual double theta () const
 momentum polar angle More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual const Pointvertex () const
 vertex position More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
 Candidate ()
 default constructor More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Protected Types

typedef std::vector< std::pair
< IsolationKeys,
pat::IsoDeposit > > 
IsoDepositPairs
 

Protected Attributes

bool embeddedSuperCluster_
 
IsoDepositPairs isoDeposits_
 
std::vector< float > isolations_
 
std::vector< IdPairphotonIDs_
 
std::vector< reco::SuperClustersuperCluster_
 
- Protected Attributes inherited from pat::PATObject< reco::Photon >
std::vector< std::string > efficiencyNames_
 vector of the efficiencies (names) More...
 
std::vector
< pat::LookupTableRecord
efficiencyValues_
 vector of the efficiencies (values) More...
 
std::vector< reco::GenParticlegenParticleEmbedded_
 vector to hold an embedded generator level particle More...
 
std::vector< reco::GenParticleRefgenParticleRef_
 Reference to a generator level particle. More...
 
std::vector< std::string > kinResolutionLabels_
 
std::vector
< pat::CandKinResolution
kinResolutions_
 Kinematic resolutions. More...
 
std::vector
< reco::CandidatePtrVector
overlapItems_
 Overlapping items (sorted by distance) More...
 
std::vector< std::string > overlapLabels_
 Overlapping test labels (only if there are any overlaps) More...
 
edm::Ptr< reco::CandidaterefToOrig_
 
TriggerObjectStandAloneCollection triggerObjectMatchesEmbedded_
 vector of trigger matches More...
 
std::vector< std::string > userCandLabels_
 
std::vector< reco::CandidatePtruserCands_
 
std::vector< std::string > userDataLabels_
 User data object. More...
 
pat::UserDataCollection userDataObjects_
 
std::vector< std::string > userFloatLabels_
 
std::vector< float > userFloats_
 
std::vector< std::string > userIntLabels_
 
std::vector< int32_t > userInts_
 
- Protected Attributes inherited from reco::LeafCandidate
bool cacheCartesianFixed_
 
bool cachePolarFixed_
 has cache been set? More...
 
float eta_
 
float mass_
 
LorentzVector p4Cartesian_
 internal cache for p4 More...
 
PolarLorentzVector p4Polar_
 internal cache for p4 More...
 
int pdgId_
 PDG identifier. More...
 
float phi_
 
float pt_
 four-momentum Lorentz vector More...
 
Charge qx3_
 electric charge More...
 
int status_
 status word More...
 
Point vertex_
 vertex position More...
 

Friends

std::ostream & reco::operator<< (std::ostream &out, const pat::Photon &obj)
 pipe operator (introduced to use pat::Photon with PFTopProjectors) More...
 

Additional Inherited Members

- Static Public Attributes inherited from reco::LeafCandidate
static const unsigned int longLivedTag = 65536
 long lived flag More...
 
static const unsigned int massConstraintTag = 131072
 do mass constraint flag More...
 
- Protected Member Functions inherited from reco::RecoCandidate
template<typename R >
bool checkOverlap (const R &r1, const R &r2) const
 check if two components overlap More...
 
- Protected Member Functions inherited from reco::LeafCandidate
void cacheCartesian () const
 set internal cache More...
 
void cachePolar () const
 set internal cache More...
 
void clearCache () const
 clear internal cache More...
 

Detailed Description

Analysis-level Photon class.

pat::Photon implements the analysis-level photon class within the 'pat' namespace.

Please post comments and questions to the Physics Tools hypernews: https://hypernews.cern.ch/HyperNews/CMS/get/physTools.html

Author
Steven Lowette, Giovanni Petrucciani, Frederic Ronga
Version
Id:
Photon.h,v 1.24 2011/06/08 20:40:18 rwolf Exp

Definition at line 46 of file Photon.h.

Member Typedef Documentation

typedef std::pair<std::string,Bool_t> pat::Photon::IdPair

Definition at line 50 of file Photon.h.

typedef std::vector<std::pair<IsolationKeys, pat::IsoDeposit> > pat::Photon::IsoDepositPairs
protected

Definition at line 197 of file Photon.h.

Constructor & Destructor Documentation

Photon::Photon ( )

default constructor

Definition at line 12 of file Photon.cc.

Referenced by clone().

12  :
13  PATObject<reco::Photon>(reco::Photon()),
15 {
16 }
bool embeddedSuperCluster_
Definition: Photon.h:192
Photon::Photon ( const reco::Photon aPhoton)

constructor from a reco photon

constructor from reco::Photon

Definition at line 19 of file Photon.cc.

19  :
20  PATObject<reco::Photon>(aPhoton),
22 {
23 }
bool embeddedSuperCluster_
Definition: Photon.h:192
Photon::Photon ( const edm::RefToBase< reco::Photon > &  aPhotonRef)

constructor from a RefToBase to a reco photon (to be superseded by Ptr counterpart)

constructor from ref to reco::Photon

Definition at line 26 of file Photon.cc.

26  :
27  PATObject<reco::Photon>(aPhotonRef),
29 {
30 }
bool embeddedSuperCluster_
Definition: Photon.h:192
Photon::Photon ( const edm::Ptr< reco::Photon > &  aPhotonRef)

constructor from a Ptr to a reco photon

constructor from ref to reco::Photon

Definition at line 33 of file Photon.cc.

33  :
34  PATObject<reco::Photon>(aPhotonRef),
36 {
37 }
bool embeddedSuperCluster_
Definition: Photon.h:192
Photon::~Photon ( )
virtual

destructor

Reimplemented from reco::Photon.

Definition at line 40 of file Photon.cc.

40  {
41 }

Member Function Documentation

float pat::Photon::caloIso ( ) const
inline

Returns the calorimeter isolation combined from ecal and hcal

Definition at line 104 of file Photon.h.

References ecalIso(), and hcalIso().

104 { return ecalIso()+hcalIso(); }
float hcalIso() const
Definition: Photon.h:101
float ecalIso() const
Definition: Photon.h:98
virtual Photon* pat::Photon::clone ( void  ) const
inlinevirtual

required reimplementation of the Candidate's clone method

Reimplemented from reco::Photon.

Definition at line 64 of file Photon.h.

References Photon().

64 { return new Photon(*this); }
Photon()
default constructor
Definition: Photon.cc:12
float pat::Photon::ecalIso ( ) const
inline

Returns the summed Et in a cone of deltaR<0.4 calculated from recHits

Definition at line 98 of file Photon.h.

References reco::Photon::ecalRecHitSumEtConeDR04().

Referenced by PatPhotonSimpleAnalyzer::analyze(), and caloIso().

98 { return ecalRecHitSumEtConeDR04(); }
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:338
const IsoDeposit* pat::Photon::ecalIsoDeposit ( ) const
inline

Return the ecal IsoDeposit.

Definition at line 164 of file Photon.h.

References pat::EcalIso, and isoDeposit().

164 { return isoDeposit(pat::EcalIso ); }
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
Definition: Photon.h:153
void pat::Photon::ecalIsoDeposit ( const IsoDeposit dep)
inline

Sets ecal IsoDeposit.

Definition at line 180 of file Photon.h.

References pat::EcalIso, and setIsoDeposit().

180 { setIsoDeposit(pat::EcalIso, dep); }
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
Definition: Photon.h:170
void Photon::embedSuperCluster ( )

method to store the photon's supercluster internally

Definition at line 71 of file Photon.cc.

References embeddedSuperCluster_, reco::Photon::superCluster(), and superCluster_.

Referenced by pat::PATPhotonProducer::produce().

71  {
72  superCluster_.clear();
73  if (reco::Photon::superCluster().isNonnull()) {
75  embeddedSuperCluster_ = true;
76  }
77 }
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
Definition: Photon.cc:59
std::vector< reco::SuperCluster > superCluster_
Definition: Photon.h:193
bool embeddedSuperCluster_
Definition: Photon.h:192
const reco::Candidate* pat::Photon::genPhoton ( ) const
inline

return the match to the generated photon

Definition at line 74 of file Photon.h.

References pat::PATObject< reco::Photon >::genParticle().

74 { return genParticle(); }
const reco::GenParticle * genParticle(size_t idx=0) const
Definition: PATObject.h:234
float pat::Photon::hcalIso ( ) const
inline

Returns summed Et in a cone of deltaR<0.4 calculated from caloTowers

Definition at line 101 of file Photon.h.

References reco::Photon::hcalTowerSumEtConeDR04().

Referenced by PatPhotonSimpleAnalyzer::analyze(), and caloIso().

101 { return hcalTowerSumEtConeDR04(); }
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:340
const IsoDeposit* pat::Photon::hcalIsoDeposit ( ) const
inline

Return the hcal IsoDeposit.

Definition at line 166 of file Photon.h.

References pat::HcalIso, and isoDeposit().

166 { return isoDeposit(pat::HcalIso ); }
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
Definition: Photon.h:153
void pat::Photon::hcalIsoDeposit ( const IsoDeposit dep)
inline

Sets hcal IsoDeposit.

Definition at line 182 of file Photon.h.

References pat::HcalIso, and setIsoDeposit().

182 { setIsoDeposit(pat::HcalIso, dep); }
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
Definition: Photon.h:170
const IsoDeposit* pat::Photon::isoDeposit ( IsolationKeys  key) const
inline

Returns the IsoDeposit associated with some key, or a null pointer if it is not available.

Definition at line 153 of file Photon.h.

References isoDeposits_.

Referenced by ecalIsoDeposit(), hcalIsoDeposit(), trackIsoDeposit(), and userIsoDeposit().

153  {
154  for (IsoDepositPairs::const_iterator it = isoDeposits_.begin(), ed = isoDeposits_.end();
155  it != ed; ++it)
156  {
157  if (it->first == key) return & it->second;
158  }
159  return 0;
160  }
IsoDepositPairs isoDeposits_
Definition: Photon.h:198
list key
Definition: combine.py:13
bool Photon::isPhotonIDAvailable ( const std::string &  name) const

Returns true if a specific ID is available in this pat::Photon.

Definition at line 94 of file Photon.cc.

References photonIDs_.

94  {
95  for (std::vector<IdPair>::const_iterator it = photonIDs_.begin(), ed = photonIDs_.end(); it != ed; ++it) {
96  if (it->first == name) return true;
97  }
98  return false;
99 }
std::vector< IdPair > photonIDs_
Definition: Photon.h:195
Bool_t Photon::photonID ( const std::string &  name) const

Returns a specific photon ID associated to the pat::Photon given its name. Note: an exception is thrown if the specified ID is not available

Definition at line 80 of file Photon.cc.

References photonIDs_.

80  {
81  for (std::vector<IdPair>::const_iterator it = photonIDs_.begin(), ed = photonIDs_.end(); it != ed; ++it) {
82  if (it->first == name) return it->second;
83  }
84  cms::Exception ex("Key not found");
85  ex << "pat::Photon: the ID " << name << " can't be found in this pat::Photon.\n";
86  ex << "The available IDs are: ";
87  for (std::vector<IdPair>::const_iterator it = photonIDs_.begin(), ed = photonIDs_.end(); it != ed; ++it) {
88  ex << "'" << it->first << "' ";
89  }
90  ex << ".\n";
91  throw ex;
92 }
std::vector< IdPair > photonIDs_
Definition: Photon.h:195
const std::vector<IdPair>& pat::Photon::photonIDs ( ) const
inline

Returns all the Photon IDs in the form of <name,value> pairs The 'default' ID is the first in the list

Definition at line 86 of file Photon.h.

References photonIDs_.

86 { return photonIDs_; }
std::vector< IdPair > photonIDs_
Definition: Photon.h:195
void pat::Photon::setEcalIso ( float  caloIso)
inline

Sets ecal isolation variable.

Definition at line 145 of file Photon.h.

References pat::EcalIso, and setIsolation().

void setIsolation(IsolationKeys key, float value)
Definition: Photon.h:130
float caloIso() const
Definition: Photon.h:104
void pat::Photon::setGenPhoton ( const reco::GenParticleRef gp,
bool  embed = false 
)
inline

method to set the generated photon

Definition at line 76 of file Photon.h.

References embed, and pat::PATObject< reco::Photon >::setGenParticleRef().

76 { setGenParticleRef(gp, embed); }
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
#define embed
Definition: AMPTWrapper.h:178
void pat::Photon::setHcalIso ( float  caloIso)
inline

Sets hcal isolation variable.

Definition at line 147 of file Photon.h.

References pat::HcalIso, and setIsolation().

void setIsolation(IsolationKeys key, float value)
Definition: Photon.h:130
float caloIso() const
Definition: Photon.h:104
void pat::Photon::setIsoDeposit ( IsolationKeys  key,
const IsoDeposit dep 
)
inline

Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.

Definition at line 170 of file Photon.h.

References isoDeposits_.

Referenced by ecalIsoDeposit(), hcalIsoDeposit(), pat::PATPhotonProducer::produce(), trackIsoDeposit(), and userIsoDeposit().

170  {
171  IsoDepositPairs::iterator it = isoDeposits_.begin(), ed = isoDeposits_.end();
172  for (; it != ed; ++it) {
173  if (it->first == key) { it->second = dep; return; }
174  }
175  isoDeposits_.push_back(std::make_pair(key,dep));
176  }
IsoDepositPairs isoDeposits_
Definition: Photon.h:198
list key
Definition: combine.py:13
void pat::Photon::setIsolation ( IsolationKeys  key,
float  value 
)
inline

Sets the isolation variable for a specifc key. Note that you can't set isolation for a pseudo-key like CaloIso

Definition at line 130 of file Photon.h.

References edm::hlt::Exception, isolations_, combine::key, and relativeConstraints::value.

Referenced by pat::PATPhotonProducer::produce(), setEcalIso(), setHcalIso(), setTrackIso(), and setUserIso().

130  {
131  if (key >= 0) {
132  if (size_t(key) >= isolations_.size()) isolations_.resize(key+1, -1.0);
133  isolations_[key] = value;
134  } else {
135  throw cms::Exception("Illegal Argument") <<
136  "The key for which you're setting isolation does not correspond " <<
137  "to an individual isolation but to the sum of more independent isolations " <<
138  "(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n" <<
139  "Please set up each component independly.\n";
140  }
141  }
list key
Definition: combine.py:13
std::vector< float > isolations_
Definition: Photon.h:199
void pat::Photon::setPhotonIDs ( const std::vector< IdPair > &  ids)
inline

Store multiple photon ID values, discarding existing ones The first one in the list becomes the 'default' photon id

Definition at line 89 of file Photon.h.

References photonIDs_.

Referenced by pat::PATPhotonProducer::produce().

89 { photonIDs_ = ids; }
std::vector< IdPair > photonIDs_
Definition: Photon.h:195
void pat::Photon::setTrackIso ( float  trackIso)
inline

Sets tracker isolation variable.

Definition at line 143 of file Photon.h.

References setIsolation(), and pat::TrackIso.

float trackIso() const
Definition: Photon.h:95
void setIsolation(IsolationKeys key, float value)
Definition: Photon.h:130
void pat::Photon::setUserIso ( float  value,
uint8_t  index = 0 
)
inline

Sets user isolation variable index.

Definition at line 149 of file Photon.h.

References setIsolation(), and pat::UserBaseIso.

IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
void setIsolation(IsolationKeys key, float value)
Definition: Photon.h:130
unsigned int index
Definition: LeafCandidate.h:33
reco::SuperClusterRef Photon::superCluster ( ) const
virtual

override the superCluster method from CaloJet, to access the internal storage of the supercluster

override the superCluster method from CaloJet, to access the internal storage of the supercluster this returns a transient Ref which should never be persisted!

Reimplemented from reco::Photon.

Definition at line 62 of file Photon.cc.

References embeddedSuperCluster_, reco::Photon::superCluster(), and superCluster_.

Referenced by PatPhotonSimpleAnalyzer::analyze().

62  {
65  } else {
67  }
68 }
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
Definition: Photon.cc:59
std::vector< reco::SuperCluster > superCluster_
Definition: Photon.h:193
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
bool embeddedSuperCluster_
Definition: Photon.h:192
float pat::Photon::trackIso ( ) const
inline

Returns the summed track pt in a cone of deltaR<0.4 including the region of the reconstructed photon

Definition at line 95 of file Photon.h.

References reco::Photon::trkSumPtSolidConeDR04().

Referenced by PatPhotonSimpleAnalyzer::analyze().

95 { return trkSumPtSolidConeDR04(); }
float trkSumPtSolidConeDR04() const
Definition: Photon.h:352
const IsoDeposit* pat::Photon::trackIsoDeposit ( ) const
inline

Return the tracker IsoDeposit.

Definition at line 162 of file Photon.h.

References isoDeposit(), and pat::TrackIso.

162 { return isoDeposit(pat::TrackIso); }
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
Definition: Photon.h:153
void pat::Photon::trackIsoDeposit ( const IsoDeposit dep)
inline

Sets tracker IsoDeposit.

Definition at line 178 of file Photon.h.

References setIsoDeposit(), and pat::TrackIso.

178 { setIsoDeposit(pat::TrackIso, dep); }
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
Definition: Photon.h:170
float pat::Photon::userIso ( uint8_t  index = 0) const
inline

Returns a user defined isolation value.

Definition at line 106 of file Photon.h.

References pat::UserBaseIso, and userIsolation().

IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
unsigned int index
Definition: LeafCandidate.h:33
float userIsolation(IsolationKeys key) const
Definition: Photon.h:109
const IsoDeposit* pat::Photon::userIsoDeposit ( uint8_t  index = 0) const
inline

Return a specified user-level IsoDeposit.

Definition at line 168 of file Photon.h.

References isoDeposit(), and pat::UserBaseIso.

IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
unsigned int index
Definition: LeafCandidate.h:33
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
Definition: Photon.h:153
void pat::Photon::userIsoDeposit ( const IsoDeposit dep,
uint8_t  index = 0 
)
inline

Sets user-level IsoDeposit.

Definition at line 184 of file Photon.h.

References setIsoDeposit(), and pat::UserBaseIso.

IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
Definition: Photon.h:170
unsigned int index
Definition: LeafCandidate.h:33
float pat::Photon::userIsolation ( IsolationKeys  key) const
inline

Returns the isolation variable for a specifc key (or pseudo-key like CaloIso), or -1.0 if not available

Definition at line 109 of file Photon.h.

References pat::CaloIso, pat::EcalIso, pat::HcalIso, isolations_, and combine::key.

Referenced by userIso().

109  {
110  if (key >= 0) {
111  //if (key >= isolations_.size()) throw cms::Excepton("Missing Data")
112  //<< "Isolation corresponding to key " << key
113  //<< " was not stored for this particle.";
114  if (size_t(key) >= isolations_.size()) return -1.0;
115  return isolations_[key];
116  } else switch (key) {
117  case pat::CaloIso:
118  //if (isolations_.size() <= pat::HcalIso) throw cms::Excepton("Missing Data")
119  //<< "CalIsoo Isolation was not stored for this particle.";
120  if (isolations_.size() <= pat::HcalIso) return -1.0;
122  default:
123  return -1.0;
124  //throw cms::Excepton("Missing Data") << "Isolation corresponding to key "
125  //<< key << " was not stored for this particle.";
126  }
127  }
list key
Definition: combine.py:13
std::vector< float > isolations_
Definition: Photon.h:199

Friends And Related Function Documentation

std::ostream& reco::operator<< ( std::ostream &  out,
const pat::Photon obj 
)
friend

pipe operator (introduced to use pat::Photon with PFTopProjectors)

Member Data Documentation

bool pat::Photon::embeddedSuperCluster_
protected

Definition at line 192 of file Photon.h.

Referenced by embedSuperCluster(), and superCluster().

IsoDepositPairs pat::Photon::isoDeposits_
protected

Definition at line 198 of file Photon.h.

Referenced by isoDeposit(), and setIsoDeposit().

std::vector<float> pat::Photon::isolations_
protected

Definition at line 199 of file Photon.h.

Referenced by setIsolation(), and userIsolation().

std::vector<IdPair> pat::Photon::photonIDs_
protected

Definition at line 195 of file Photon.h.

Referenced by isPhotonIDAvailable(), photonID(), photonIDs(), and setPhotonIDs().

std::vector<reco::SuperCluster> pat::Photon::superCluster_
protected

Definition at line 193 of file Photon.h.

Referenced by embedSuperCluster(), and superCluster().