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

TMBMetEx.hpp

Go to the documentation of this file.
00001 #ifndef TMBMETEX_HPP__
00002 #define TMBMETEX_HPP__
00003 
00005 //                                                                      //
00006 // Extented TMBTree Met class  
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   // with ET and Eta limits
00027   metid::BMetStruct _metweta; 
00028 
00030   // Ring variables: 74 ieta rings {-34:34}
00031   Float_t _RingEMx[metid::NRING]; //[NRING]
00032   Float_t _RingEMy[metid::NRING]; //[NRING]
00033   Float_t _RingHDx[metid::NRING]; //[NRING]
00034   Float_t _RingHDy[metid::NRING]; //[NRING]
00035 
00036 
00037     // MET for CAL + ICD Towers
00038   metid::BMetStruct _metT;    
00039 
00040 // MET for CAL + ICD Towers + Muon correction
00041   metid::BMetStruct _metTM;   
00042 
00043        // Vis. Et for CAL + ICD Towers above eta limit, above tower threshold
00044   metid::BMetStruct _metTAS;  
00045 
00046    // Vis. Et for CAL + ICD Towers below eta limit, above tower threshold
00047   metid::BMetStruct _metTBS;  
00048 
00049    // Vis. Et for CAL + ICD Towers above eta limit, below tower threshold
00050   metid::BMetStruct _metTAN;  
00051 
00052    // Vis. Et for CAL + ICD Towers below eta limit, below tower threshold
00053   metid::BMetStruct _metTBN;  
00054 
00055   // MET for CAL + ICD Cells + Muon correction
00056   metid::BMetStruct _metCM;   
00057 
00058   // Vis. Et for CAL + ICD Cells above eta limit, above cell threshold
00059   metid::BMetStruct _metCAS;  
00060 
00061   // Vis. Et for CAL + ICD Cells below eta limit, above cell threshold
00062   metid::BMetStruct _metCBS;  
00063 
00064   // Vis. Et for CAL + ICD Cells above eta limit, below cell threshold
00065   metid::BMetStruct _metCAN;  
00066 
00067   // Vis. Et for CAL + ICD Cells below eta limit, below cell threshold
00068   metid::BMetStruct _metCBN;  
00069 
00070   // Vis. Et for ICD Cells
00071   metid::BMetStruct _metICD;  
00072 
00073   // Vis. Et for NADA Cells
00074   metid::BMetStruct _metNADA;  
00075 
00076   // Tight Muons
00077   metid::BMetStruct _metMUON; 
00078 
00082   Float_t _VETCx; // _METCx and _METCy already declared
00083   Float_t _VETCy;
00084 
00086   Float_t _VETCMx; // _METCMx and METCMy already declared
00087   Float_t _VETCMy;
00088 
00089   // MET for CAL + ICD Cells layers 1-14 (no CH) + Muon correction
00090   metid::BMetStruct _metDM;   
00091 
00092   // MET for EM layers (1-7)
00093   metid::BMetStruct _metEM;   
00094 
00095   // MET for Massless Gap layers (8&10)
00096   metid::BMetStruct _metMG;   
00097 
00098   // MET for FH layers (11-14)
00099   metid::BMetStruct _metFH;   
00100 
00101   // MET for CH layers (15-17)
00102   metid::BMetStruct _metCH;   
00103 
00104   // MET for CAL + ICD Cells below eta limit.(no threshold)
00105   metid::BMetStruct _metED;   
00106 
00107   // MET for negative cells
00108   metid::BMetStruct _metNG;   
00109 
00110   // MET for noise cells, based onthe CalT42 algorithm.
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     // extractor for MissingET
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);   //TMBTree MetEx class
00250 };
00251 
00252 #endif  // TMBMETEX_HPP__

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