CMS 3D CMS Logo

Photon.h

Go to the documentation of this file.
00001 #ifndef EgammaCandidates_Photon_h
00002 #define EgammaCandidates_Photon_h
00003 
00012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00013 #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h"
00014 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00015 
00016 namespace reco {
00017 
00018   class Photon : public RecoCandidate {
00019   public:
00021     Photon() : RecoCandidate() { }
00023     Photon( const LorentzVector & p4, Point caloPos, 
00024             const SuperClusterRef scl, 
00025             float HoE,
00026             bool hasPixelSeed=false, const Point & vtx = Point( 0, 0, 0 ) );
00028     virtual ~Photon();
00030     virtual Photon * clone() const;
00032     virtual reco::SuperClusterRef superCluster() const;
00034     std::vector<reco::ConversionRef> conversions() const ; 
00036     void setSuperCluster( const reco::SuperClusterRef & r ) { superCluster_ = r; }
00038     void addConversion( const reco::ConversionRef & r ) { conversions_.push_back(r); }
00040     void setVertex(const Point & vertex);
00042     math::XYZPoint caloPosition() const {return caloPosition_;}
00044     float hadronicOverEm() const {return hadOverEm_;}
00046     bool hasPixelSeed() const { return pixelSeed_; }
00048     bool isConverted() const;
00049 
00050   private:
00052     virtual bool overlap( const Candidate & ) const;
00054     math::XYZPoint caloPosition_;
00056     reco::SuperClusterRef superCluster_;
00057     // vector of references to Conversions
00058     std::vector<reco::ConversionRef>  conversions_;
00059 
00060     float hadOverEm_;
00061     bool pixelSeed_;
00062 
00063   };
00064   
00065 }
00066 
00067 #endif

Generated on Tue Jun 9 17:30:43 2009 for CMSSW by  doxygen 1.5.4