00001 #ifndef TMBMETEX_HPP__
00002 #define TMBMETEX_HPP__
00003
00005
00006
00007
00009
00010 #ifndef ROOT_TObject
00011 #include "TObject.h"
00012 #endif
00013
00014 #include "met_util/BMetQualInfo.hpp"
00015 #include "met_util/Rings_Defs.hpp"
00016 #include <vector>
00017
00022 class TMBMetEx : public TObject {
00023
00024 private:
00025
00026
00027 metid::BMetStruct _metweta;
00028
00030
00031 Float_t _RingEMx[metid::NRING];
00032 Float_t _RingEMy[metid::NRING];
00033 Float_t _RingHDx[metid::NRING];
00034 Float_t _RingHDy[metid::NRING];
00035
00036
00037
00038 metid::BMetStruct _metT;
00039
00040
00041 metid::BMetStruct _metTM;
00042
00043
00044 metid::BMetStruct _metTAS;
00045
00046
00047 metid::BMetStruct _metTBS;
00048
00049
00050 metid::BMetStruct _metTAN;
00051
00052
00053 metid::BMetStruct _metTBN;
00054
00055
00056 metid::BMetStruct _metCM;
00057
00058
00059 metid::BMetStruct _metCAS;
00060
00061
00062 metid::BMetStruct _metCBS;
00063
00064
00065 metid::BMetStruct _metCAN;
00066
00067
00068 metid::BMetStruct _metCBN;
00069
00070
00071 metid::BMetStruct _metICD;
00072
00073
00074 metid::BMetStruct _metNADA;
00075
00076
00077 metid::BMetStruct _metMUON;
00078
00082 Float_t _VETCx;
00083 Float_t _VETCy;
00084
00086 Float_t _VETCMx;
00087 Float_t _VETCMy;
00088
00089
00090 metid::BMetStruct _metDM;
00091
00092
00093 metid::BMetStruct _metEM;
00094
00095
00096 metid::BMetStruct _metMG;
00097
00098
00099 metid::BMetStruct _metFH;
00100
00101
00102 metid::BMetStruct _metCH;
00103
00104
00105 metid::BMetStruct _metED;
00106
00107
00108 metid::BMetStruct _metNG;
00109
00110
00111 metid::BMetStruct _metT42;
00112
00113 public:
00114 TMBMetEx();
00115
00116 ~TMBMetEx();
00117
00119
00120 const metid::BMetStruct& getMETweta() const {return _metweta;}
00121 const metid::BMetStruct& getMETT() const {return _metT;}
00122 const metid::BMetStruct& getMETTM() const {return _metTM;}
00123 const metid::BMetStruct& getMETTAS() const {return _metTAS;}
00124 const metid::BMetStruct& getMETTBS() const {return _metTBS;}
00125 const metid::BMetStruct& getMETTAN() const {return _metTAN;}
00126 const metid::BMetStruct& getMETTBN() const {return _metTBN;}
00127 const metid::BMetStruct& getMETCM() const {return _metCM;}
00128 const metid::BMetStruct& getMETCAS() const {return _metCAS;}
00129 const metid::BMetStruct& getMETCBS() const {return _metCBS;}
00130 const metid::BMetStruct& getMETCAN() const {return _metCAN;}
00131 const metid::BMetStruct& getMETCBN() const {return _metCBN;}
00132 const metid::BMetStruct& getMETICD() const {return _metICD;}
00133 const metid::BMetStruct& getMETNADA() const {return _metNADA;}
00134 const metid::BMetStruct& getMETMUON() const {return _metMUON;}
00135 const metid::BMetStruct& getMETDM() const {return _metDM;}
00136 const metid::BMetStruct& getMETEM() const {return _metEM;}
00137 const metid::BMetStruct& getMETMG() const {return _metMG;}
00138 const metid::BMetStruct& getMETFH() const {return _metFH;}
00139 const metid::BMetStruct& getMETCH() const {return _metCH;}
00140 const metid::BMetStruct& getMETED() const {return _metED;}
00141 const metid::BMetStruct& getMETNG() const {return _metNG;}
00142 const metid::BMetStruct& getMETT42() const {return _metT42;}
00143
00144 void getRings(const float *&RingEMx,
00145 const float *&RingEMy,
00146 const float *&RingHDx,
00147 const float *&RingHDy) const;
00148
00150
00152
00153 void setMETweta (const metid::BMetStruct& aMetStruct) {_metweta = aMetStruct;}
00154 void setMETT (const metid::BMetStruct& aMetStruct) {_metT = aMetStruct;}
00155 void setMETTM (const metid::BMetStruct& aMetStruct) {_metTM = aMetStruct;}
00156 void setMETTAS (const metid::BMetStruct& aMetStruct) {_metTAS = aMetStruct;}
00157 void setMETTBS (const metid::BMetStruct& aMetStruct) {_metTBS = aMetStruct;}
00158 void setMETTAN (const metid::BMetStruct& aMetStruct) {_metTAN = aMetStruct;}
00159 void setMETTBN (const metid::BMetStruct& aMetStruct) {_metTBN = aMetStruct;}
00160 void setMETCM (const metid::BMetStruct& aMetStruct) {_metCM = aMetStruct;}
00161 void setMETCAS (const metid::BMetStruct& aMetStruct) {_metCAS = aMetStruct;}
00162 void setMETCBS (const metid::BMetStruct& aMetStruct) {_metCBS = aMetStruct;}
00163 void setMETCAN (const metid::BMetStruct& aMetStruct) {_metCAN = aMetStruct;}
00164 void setMETCBN (const metid::BMetStruct& aMetStruct) {_metCBN = aMetStruct;}
00165 void setMETICD (const metid::BMetStruct& aMetStruct) {_metICD = aMetStruct;}
00166 void setMETNADA(const metid::BMetStruct& aMetStruct) {_metNADA = aMetStruct;}
00167 void setMETMUON(const metid::BMetStruct& aMetStruct) {_metMUON = aMetStruct;}
00168 void setMETDM (const metid::BMetStruct& aMetStruct) {_metDM = aMetStruct;}
00169 void setMETEM (const metid::BMetStruct& aMetStruct) {_metEM = aMetStruct;}
00170 void setMETMG (const metid::BMetStruct& aMetStruct) {_metMG = aMetStruct;}
00171 void setMETFH (const metid::BMetStruct& aMetStruct) {_metFH = aMetStruct;}
00172 void setMETCH (const metid::BMetStruct& aMetStruct) {_metCH = aMetStruct;}
00173 void setMETED (const metid::BMetStruct& aMetStruct) {_metED = aMetStruct;}
00174 void setMETNG (const metid::BMetStruct& aMetStruct) {_metNG = aMetStruct;}
00175 void setMETT42 (const metid::BMetStruct& aMetStruct) {_metT42 = aMetStruct;}
00176
00177 void setRings(const float *&RingEMx,
00178 const float *&RingEMy,
00179 const float *&RingHDx,
00180 const float *&RingHDy);
00182
00184
00185 void print(std::ostream &os) const;
00186 void print_rings (std::ostream& os) const;
00187
00188 void print_METweta (std::ostream& os) const {_metweta.Print (os,"METweta : ");}
00189
00190 void print_METT (std::ostream& os) const {_metT.Print (os,"METT : ");}
00191 void print_METTM (std::ostream& os) const {_metTM.Print (os,"METTM : ");}
00192 void print_METTAS (std::ostream& os) const {_metTAS.Print (os,"METTAS : ");}
00193 void print_METTBS (std::ostream& os) const {_metTBS.Print (os,"METTBS : ");}
00194 void print_METTAN (std::ostream& os) const {_metTAN.Print (os,"METTAN : ");}
00195 void print_METTBN (std::ostream& os) const {_metTBN.Print (os,"METTBN : ");}
00196 void print_METCM (std::ostream& os) const {_metCM.Print (os,"METCM : ");}
00197 void print_METCAS (std::ostream& os) const {_metCAS.Print (os,"METCAS : ");}
00198 void print_METCBS (std::ostream& os) const {_metCBS.Print (os,"METCBS : ");}
00199 void print_METCAN (std::ostream& os) const {_metCAN.Print (os,"METCAN : ");}
00200 void print_METCBN (std::ostream& os) const {_metCBN.Print (os,"METCBN : ");}
00201 void print_METICD (std::ostream& os) const {_metICD.Print (os,"METICD : ");}
00202 void print_METNADA(std::ostream& os) const {_metNADA.Print(os,"METNADA : ");}
00203 void print_METMUON(std::ostream& os) const {_metMUON.Print(os,"METMUON : ");}
00204 void print_METDM (std::ostream& os) const {_metDM.Print (os,"METDM : ");}
00205 void print_METEM (std::ostream& os) const {_metEM.Print (os,"METEM : ");}
00206 void print_METMG (std::ostream& os) const {_metMG.Print (os,"METMG : ");}
00207 void print_METFH (std::ostream& os) const {_metFH.Print (os,"METFH : ");}
00208 void print_METCH (std::ostream& os) const {_metCH.Print (os,"METCH : ");}
00209 void print_METED (std::ostream& os) const {_metED.Print (os,"METED : ");}
00210 void print_METNG (std::ostream& os) const {_metNG.Print (os,"METNG : ");}
00211 void print_MET42 (std::ostream& os) const {_metT42.Print (os,"MET42 : ");}
00213
00214
00215 friend std::ostream & operator<< (std::ostream &os, const TMBMetEx &obj);
00216
00218 Int_t numRings() const{return metid::NRING;}
00219
00221
00222 void getVisMu(float &visMuX, float &visMuY, float &visMuPt) const;
00223 void getMETT (float &SETT, float &METTx, float &METTy, float &METT) const;
00224 void getMETTM (float &SETTM, float &METTMx, float &METTMy, float &METTM) const;
00225 void getVETTAS (float &SETTAS, float &VETTASx, float &VETTASy, float &VETTAS) const;
00226 void getVETTBS (float &SETTBS, float &VETTBSx, float &VETTBSy, float &VETTBS) const;
00227 void getVETTAN (float &SETTAN, float &VETTANx, float &VETTANy, float &VETTAN) const;
00228 void getVETTBN (float &SETTBN, float &VETTBNx, float &VETTBNy, float &VETTBN) const;
00229 void getMETCM (float &SETCM, float &METCMx, float &METCMy, float &METCM) const;
00230 void getVETCAS (float &SETCAS, float &VETCASx, float &VETCASy, float &VETCAS) const;
00231 void getVETCBS (float &SETCBS, float &VETCBSx, float &VETCBSy, float &VETCBS) const;
00232 void getVETCAN (float &SETCAN, float &VETCANx, float &VETCANy, float &VETCAN) const;
00233 void getVETCBN (float &SETCBN, float &VETCBNx, float &VETCBNy, float &VETCBN) const;
00234 void getVETICD (float &SETICD, float &VETICDx, float &VETICDy, float &VETICD) const;
00235 void getVETNADA(float &SETNADA, float &VETNADAx, float &VETNADAy, float &VETNADA) const;
00236 void getVETMUON(float &VETMUONx, float &VETMUONy, float &VETMUONz, float &VETMUON) const;
00237 void getVETCM (float &SETCM, float &VETCMx, float &VETCMy, float &METCM) const;
00238 void getVETDM (float &SETDM, float &VETDMx, float &VETDMy, float &METDM) const;
00239 void getMETDM (float &SETDM, float &METDMx, float &METDMy, float &METDM) const;
00240 void getVETEM (float &SETEM, float &VETEMx, float &VETEMy, float &METEM) const;
00241 void getVETMG (float &SETMG, float &VETMGx, float &VETMGy, float &METMG) const;
00242 void getVETFH (float &SETFH, float &VETFHx, float &VETFHy, float &METFH) const;
00243 void getVETCH (float &SETCH, float &VETCHx, float &VETCHy, float &METCH) const;
00244 void getVETED (float &EDGE, float &SETED, float &VETEDx, float &VETEDy, float &METED) const;
00245 void getVETNG (float &SETNG, float &VETNGx, float &VETNGy, float &METNG) const;
00246 void getVET42 (float &SET42, float &VET42x, float &VET42y, float &MET42) const;
00248
00249 ClassDef(TMBMetEx, 1);
00250 };
00251
00252 #endif // TMBMETEX_HPP__