00001 #ifndef METReco_GenMET_h 00002 #define METReco_GenMET_h 00003 00016 #include "DataFormats/METReco/interface/SpecificGenMETData.h" 00017 #include "DataFormats/METReco/interface/MET.h" 00018 00019 namespace reco 00020 { 00021 class GenMET : public MET 00022 { 00023 public: 00024 /* Constructors*/ 00025 GenMET() {} 00026 GenMET( SpecificGenMETData gen_data_, double sumet_, 00027 const LorentzVector& fP4, const Point& fVertex ) 00028 : MET( sumet_, fP4, fVertex ), gen_data( gen_data_ ) {} 00029 /* Default destructor*/ 00030 virtual ~GenMET() {} 00032 double emEnergy() const {return gen_data.m_EmEnergy;}; 00034 double hadEnergy() const {return gen_data.m_HadEnergy;}; 00036 double invisibleEnergy() const {return gen_data.m_InvisibleEnergy;}; 00038 double auxiliaryEnergy() const {return gen_data.m_AuxiliaryEnergy;}; 00039 // block accessors 00040 //const Specific& getSpecific () const {return gen_data;} 00041 private: 00042 virtual bool overlap( const Candidate & ) const; 00043 // Data members 00044 //Variables specific to to the GenMET class 00045 SpecificGenMETData gen_data; 00046 }; 00047 } 00048 #endif