CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/DataFormats/METObjects/interface/BaseMET.h

Go to the documentation of this file.
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