00001 #ifndef METOBJECTS_BASE_MET_H 00002 #define METOBJECTS_BASE_MET_H 00003 00015 #include "DataFormats/Common/interface/EDProduct.h" 00016 #include "DataFormats/METObjects/interface/CommonMETData.h" 00017 00018 #include <vector> 00019 #include <cstring> 00020 00021 class BaseMETv0 00022 { 00023 public: 00024 BaseMETv0(); 00025 // Setters 00026 //void setLabel(const char *Label) { strcpy( data.label, Label ); } 00027 void setMET(double MET) { data.met = MET; } //derived quantity 00028 void setMEx(double MEx) { data.mex = MEx; } 00029 void setMEy(double MEy) { data.mey = MEy; } 00030 void setMEz(double MEz) { data.mez = MEz; } 00031 void setSumET(double SumET) { data.sumet = SumET; } 00032 void setPhi(double Phi) { data.phi = Phi; } //derived quantity 00033 void pushDelta() { corr.push_back( data ); } 00034 // Getters 00035 //char *getLabel() { return data.label; } 00036 double MET() const { return data.met; } 00037 double MEx() const { return data.mex; } 00038 double MEy() const { return data.mey; } 00039 double MEz() const { return data.mez; } 00040 double SumET() const { return data.sumet; } 00041 double phi() const { return data.phi; } 00042 std::vector<CommonMETv0Data> getAllCorr() const {return corr;} 00043 // Methods 00044 void clearMET(); 00045 private: 00046 CommonMETv0Data data; 00047 std::vector<CommonMETv0Data> corr; 00048 }; 00049 00050 #endif // METOBJECTS_MET_H