Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

TMBMet.hpp

Go to the documentation of this file.
00001 #ifndef TMBMet_H
00002 #define TMBMet_H
00003 
00005 //                                                                      //
00006 // TMBTree Met class                                                    //
00007 // Basic information only. Expert information is kept in the TMBMetEX   //
00008 // class.
00009 //                                                                      //
00010 //                                                                      //
00012 
00013 #ifndef ROOT_TObject
00014 #include "TObject.h"
00015 #endif
00016 #include "met_util/BMetQualInfo.hpp"
00017 #include <vector>
00018 
00023 class TMBMet : public TObject {
00024 
00025 private:
00026 
00027     // no ET or Eta Limits 
00028     metid::BMetStruct _met; 
00029 
00030     // with ET limit only
00031     metid::BMetStruct _metnoeta; 
00032 
00033     Float_t _visMuX, _visMuY, _visMuPt;
00034 
00035     // Z of the vertex used to calculate mET
00036     Float_t _Zvertex;
00037 
00038     // MET for CAL + ICD Cells
00039     metid::BMetStruct _metC;    
00040 
00041     // MET for CAL + ICD Cells layers 1-14 (no CH)
00042     metid::BMetStruct _metD;    
00043 
00044     metid::BMetStruct _metA;    
00045     metid::BMetStruct _metB;    
00046 
00048     std::vector<metid::BMetQualInfo> _metqualinfos;
00049 
00050 public:
00051     TMBMet();
00052 
00053     ~TMBMet();
00054 
00056 
00057     const metid::BMetStruct& getMET()     const {return _met;}
00058     const metid::BMetStruct& getMETnoeta()const {return _metnoeta;}
00059     const metid::BMetStruct& getMETC()    const {return _metC;}
00060     const metid::BMetStruct& getMETD()    const {return _metD;}
00061     const metid::BMetStruct& getMETA()   const {return _metA;}
00062     const metid::BMetStruct& getMETB()   const {return _metB;}
00063 
00064     float getZvertex()     const {return _Zvertex;}
00066 
00068 
00069 
00070     const metid::BMetQualInfo*              getMetQualInfo(const std::string& algotype) const;
00071     const std::vector<metid::BMetQualInfo>* getMetQualInfo() const;
00073 
00075 
00076     void setMET     (const metid::BMetStruct& aMetStruct) {_met      = aMetStruct;}
00077     void setMETnoeta(const metid::BMetStruct& aMetStruct) {_metnoeta = aMetStruct;}
00078     void setMETC   (const metid::BMetStruct& aMetStruct) {_metC    = aMetStruct;}
00079     void setMETD   (const metid::BMetStruct& aMetStruct) {_metD    = aMetStruct;}
00080     void setMETA   (const metid::BMetStruct& aMetStruct) {_metA    = aMetStruct;}
00081     void setMETB   (const metid::BMetStruct& aMetStruct) {_metB    = aMetStruct;}
00082 
00083     void setVertex(const float &aZvertex) {_Zvertex = aZvertex;}
00085 
00087 
00088     void print(std::ostream &os) const;
00089 
00090     void print_vertex  (std::ostream& os) const {os << "Z vertex : " << _Zvertex << std::endl;}
00091 
00092     void print_MET     (std::ostream& os) const {_met.Print     (os,"MET     : ");}
00093     void print_METnoeta(std::ostream& os) const {_metnoeta.Print(os,"METnoeta: ");}
00094     void print_METC   (std::ostream& os) const {_metC.Print   (os,"METC    : ");}
00095     void print_METD   (std::ostream& os) const {_metD.Print   (os,"METD    : ");}
00096     void print_META   (std::ostream& os) const {_metA.Print   (os,"META    : ");}
00097     void print_METB   (std::ostream& os) const {_metB.Print   (os,"METB    : ");}
00099 
00100     void setMetQualInfo(const std::vector<metid::BMetQualInfo>& aVecMetQualInfo) {_metqualinfos = aVecMetQualInfo;}
00101 
00102 
00103     void print_MetQualInfo(std::ostream& os) const;
00104     void print_MetQualInfo(std::ostream& os, const std::string& algotype) const;
00105 
00106     // extractor for MissingET
00107     friend std::ostream & operator<< (std::ostream &os, const TMBMet &obj);
00108 
00109     // return missing ET
00110     Float_t get_MET() const;
00111     Float_t getMET_noeta() const;
00112 
00114 
00115     Float_t getScalarET() const;
00116     Float_t getScalarET_noeta() const;
00118 
00120 
00121     void getMExy(Float_t &ETx, Float_t &ETy) const;
00122     void getMExy_noeta(Float_t &ETx_noeta, Float_t &ETy_noeta) const;
00124 
00126 
00127     void getMETC   (float &SETC,     float &METCx,    float &METCy,    float &METC)    const;
00128     void getMETD   (float &SETD,     float &METDx,    float &METDy,    float &METD)    const;
00129     void getVETC   (float &SETC,     float &VETCx,    float &VETCy,    float &METC)    const;
00130     void getVETD   (float &SETD,     float &VETDx,    float &VETDy,    float &METD)    const;
00132 
00133     ClassDef(TMBMet, 4)   //TMBTree Met class
00134         };
00135 
00136 #endif // TMBMet_H

Generated on Tue Mar 28 10:13:05 2006 for CAF by doxygen 1.3.4