00001
00002
00003
00004
00005 #ifndef MyMissingEtH
00006 #define MyMissingEtH
00007
00008
00009
00010
00011
00019
00020
00021
00022
00023
00024
00025 #include <iostream>
00026 #include <string>
00027
00028
00029 #include "TLorentzVector.h"
00030 #include "TString.h"
00031
00032
00033 class MyMissingEt {
00034
00035 public:
00036
00037 MyMissingEt(void) {
00038 init("", 0.0, 0.0, 0.0);
00039 }
00041
00042 MyMissingEt( TString name,
00043 const double & met_x,
00044 const double & met_y,
00045 const double & met_sum
00046 ) {
00047
00048 init(name, met_x, met_y, met_sum);
00049 }
00056
00057
00058
00059 inline double met_x(void) const;
00061 inline double met_y(void) const;
00063 inline double met_sum(void) const;
00065 inline double met(void) const;
00067
00068 inline TString name(void) const;
00070 inline TLorentzVector tlv(void) const;
00072
00073 inline MyMissingEt add(TString name, MyMissingEt met1) const;
00075 inline MyMissingEt add(TString name, MyMissingEt met1, MyMissingEt met2) const;
00077
00078 inline void Print(std::string option = "");
00081
00082
00083
00084
00085 inline void set_met_x(const double & in_met_x);
00087 inline void set_met_y(const double & in_met_y);
00089 inline void set_met_sum(const double & in_met_sum);
00091
00092 private:
00093
00094 TString m_name;
00095 double m_met_x;
00096 double m_met_y;
00097 double m_met_sum;
00098 double m_met;
00099
00100 TLorentzVector m_met_tlv;
00101
00102
00103 inline void init( TString name,
00104 const double & met_x,
00105 const double & met_y,
00106 const double & met_sum
00107 );
00109
00110
00111 };
00112
00113
00114
00115
00116
00117 #include "MyMissingEt.ixx"
00118
00119 #endif