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