![]() |
![]() |
00001 #ifndef EgammaCandidates_Electron_h 00002 #define EgammaCandidates_Electron_h 00003 00012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h" 00013 00014 namespace reco { 00015 00016 class Electron : public RecoCandidate { 00017 public: 00019 Electron() : RecoCandidate() { } 00021 Electron( Charge q, const LorentzVector & p4, const Point & vtx = Point( 0, 0, 0 ) ) : 00022 RecoCandidate( q, p4, vtx, -11 * q ) { } 00024 virtual ~Electron(); 00026 virtual Electron * clone() const; 00028 using reco::RecoCandidate::track ; // avoid hiding the base 00029 virtual reco::TrackRef track() const; 00031 virtual reco::SuperClusterRef superCluster() const; 00033 void setSuperCluster( const reco::SuperClusterRef & r ) { superCluster_ = r; } 00035 void setTrack( const reco::TrackRef & r ) { track_ = r; } 00036 00037 bool isElectron() const; 00038 private: 00040 virtual bool overlap( const Candidate & ) const; 00042 reco::SuperClusterRef superCluster_; 00044 reco::TrackRef track_; 00045 }; 00046 00047 } 00048 00049 #endif