00001 #ifndef _MANTREE_MMISSINGET_H__
00002 #define _MANTREE_MMISSINGET_H__
00003
00004 #ifdef _ATHENA_CLASSES__
00005 #include "MissingETEvent/MissingET.h"
00006 #endif
00007
00008 #include <iosfwd>
00009 #include <string>
00010
00011 #include "TObject.h"
00012
00013 namespace manchester {
00014
00016 class MMissingEt : public TObject {
00017 public:
00019 MMissingEt();
00020
00022 MMissingEt(Double_t ex, Double_t ey);
00023
00025 MMissingEt(const MMissingEt& part);
00026
00027 #ifdef _ATHENA_CLASSES__
00029 MMissingEt(const MissingET& amet);
00030 #endif
00031
00032 virtual ~MMissingEt();
00033
00035 void Set(Double_t ex, Double_t ey);
00036
00038 Double_t Ex() const;
00039
00041 Double_t Ey() const;
00042
00044 Float_t ExCentral() const;
00045
00047 Float_t EyCentral() const;
00048
00050 Float_t ExEndCap() const;
00051
00053 Float_t EyEndCap() const;
00054
00056 Float_t ExForward() const;
00057
00059 Float_t EyForward() const;
00060
00062 Double_t Et() const;
00063
00065 Double_t Et2() const;
00066
00068 Double_t Phi() const;
00069
00071 Float_t SumEt() const;
00072 Float_t SumEtCentral() const;
00073 Float_t SumEtEndCap() const;
00074 Float_t SumEtForward() const;
00075
00076 virtual std::string Type() const;
00077
00079 std::ostream& PrintContent(std::ostream& os) const;
00080
00082 bool operator< (const MMissingEt& p) const;
00083
00085 MMissingEt& operator= (const MMissingEt& obj);
00086
00087 protected:
00089 void Reset();
00090
00091 private:
00093 Double_t mex;
00094 Float_t mexCentral;
00095 Float_t mexEndCap;
00096 Float_t mexForward;
00098 Double_t mey;
00099 Float_t meyCentral;
00100 Float_t meyEndCap;
00101 Float_t meyForward;
00103 Float_t m_sumet;
00104 Float_t m_sumetCentral;
00105 Float_t m_sumetEndCap;
00106 Float_t m_sumetForward;
00107
00108
00109
00110 ClassDef(MMissingEt, 6);
00111
00112 };
00113
00114 }
00115
00116 std::ostream& operator<< (std::ostream& os, const manchester::MMissingEt& o);
00117
00118 #endif