CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/DataFormats/ParticleFlowReco/interface/PFBlockElementSuperCluster.h

Go to the documentation of this file.
00001 #ifndef __PFBlockElementSuperCluster__
00002 #define __PFBlockElementSuperCluster__
00003 
00004 #include <iostream>
00005 
00006 #include "DataFormats/ParticleFlowReco/interface/PFBlockElement.h"
00007 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00008 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
00009 
00010 namespace reco {
00011   
00015   class PFBlockElementSuperCluster : public PFBlockElement {
00016   public:
00017     PFBlockElementSuperCluster() {} 
00018     
00022     PFBlockElementSuperCluster(const SuperClusterRef& ref) 
00023       : 
00024       PFBlockElement(PFBlockElement::SC),
00025       superClusterRef_( ref ),
00026       trackIso_(0.),
00027       ecalIso_(0.),
00028       hcalIso_(0.),
00029       HoE_(0.),
00030       fromGsfElectron_(false),
00031       fromPhoton_(false){}
00032       
00033     PFBlockElement* clone() const { return new PFBlockElementSuperCluster(*this); }
00034     
00036     SuperClusterRef  superClusterRef() const {return superClusterRef_;}
00037 
00039     PhotonRef photonRef() const {return photonRef_;}
00040 
00041     void Dump(std::ostream& out = std::cout, 
00042               const char* tab = " " ) const;
00043 
00045     void setTrackIso(float val) {trackIso_=val;}
00046 
00048     void setEcalIso(float val) {ecalIso_=val;}
00049 
00051     void setHcalIso(float val) {hcalIso_=val;}
00052 
00054     void setHoE(float val) {HoE_=val;}
00055 
00057     void setFromGsfElectron(bool val) {fromGsfElectron_=val;}
00058 
00060     void setFromPhoton(bool val) {fromPhoton_=val;}
00061 
00063     void setPhotonRef(const PhotonRef & ref) {photonRef_ = ref ;}
00064 
00066     float trackIso() const {return trackIso_;}
00067 
00069     float ecalIso() const {return ecalIso_;}
00070     
00072     float hcalIso() const {return hcalIso_;}
00073 
00075     float hoverE() const {return HoE_;}
00076 
00078     bool fromGsfElectron() const {return fromGsfElectron_;}
00079 
00081     bool fromPhoton() const {return fromPhoton_;}
00082 
00083   private:
00085     SuperClusterRef  superClusterRef_;
00086     PhotonRef photonRef_;
00087 
00088     float trackIso_;
00089     float ecalIso_;
00090     float hcalIso_;
00091     float HoE_;
00092 
00093     bool fromGsfElectron_;
00094     bool fromPhoton_;
00095   };
00096 }
00097 
00098 #endif
00099