00001 00002 // 00003 // Purpose: This is the header file that defines a base class to help 00004 // fill the tuple correctly with L2 objects. 00005 // 00006 // Author: Yann Coadou 00007 // Date: 19 April 2004 00008 // 00010 00011 #ifndef TMBL1TOL2CTT_H_ 00012 #define TMBL1TOL2CTT_H_ 00013 00014 #include "TObject.h" 00015 00020 class TMBL1toL2CTT : public TObject 00021 { 00022 public: 00023 TMBL1toL2CTT(); //constructor 00024 TMBL1toL2CTT(const TMBL1toL2CTT&); //copy constructor 00025 00026 ~TMBL1toL2CTT() {;} //destructor 00027 00028 // setters 00029 void PreshowerAddress (int x) {preshoweraddress = x;} 00030 void HasAdjPSCluster (bool x) {hasadjpscluster = x;} 00031 void ErrorCode (int x) {errorcode = x;} 00032 void HasLoosePSMatch (bool x) {hasloosepsmatch = x;} 00033 void HasTightPSMatch (bool x) {hastightpsmatch = x;} 00034 void FinePtBin (int x) {fineptbin = x;} 00035 void PtBin (int x) {ptbin = x;} 00036 void Sign (int x) {sign = x;} 00037 void Sector (int x) {sector = x;} 00038 void Duplicate (bool x) {duplicate = x;} 00039 void Isolated (bool x) {isolated = x;} 00040 void FibreNumber (int x) {fibrenumber = x;} 00041 00042 // accessors 00043 int PreshowerAddress() const {return preshoweraddress;} 00044 bool HasAdjPSCluster() const {return hasadjpscluster;} 00045 int ErrorCode() const {return errorcode;} 00046 bool HasLoosePSMatch() const {return hasloosepsmatch;} 00047 bool HasTightPSMatch() const {return hastightpsmatch;} 00048 int FinePtBin() const {return fineptbin;} 00049 int PtBin() const {return ptbin;} 00050 int Sign() const {return sign;} 00051 int Sector() const {return sector;} 00052 int Quadrant() const {return sector/20;} 00053 bool Duplicate() const {return duplicate;} 00054 bool Isolated() const {return isolated;} 00055 int FibreNumber() const {return fibrenumber;} 00056 float LowerPt() const { 00057 if (ptbin == 3) return 1.5; 00058 if (ptbin == 2) return 3.0; 00059 if (ptbin == 1) return 5.0; 00060 if (ptbin == 0) return 10.0; 00061 return -10.; 00062 } 00063 float UpperPt() const { 00064 if (ptbin == 3) return 3.0; 00065 if (ptbin == 2) return 5.0; 00066 if (ptbin == 1) return 10.0; 00067 if (ptbin == 0) return 999.0; 00068 return -10.; 00069 } 00070 float CenterPt() const { 00071 if (ptbin == 3) return 2.25; 00072 if (ptbin == 2) return 4.0; 00073 if (ptbin == 1) return 7.5; 00074 if (ptbin == 0) return 50.0; 00075 return -10.; 00076 } 00077 float CenterFinePt() const { 00078 if (ptbin >= 0 && ptbin < 4 && fineptbin >= 0 && fineptbin < 8) 00079 return center_fineptbin[ptbin][fineptbin]; 00080 return -10.; 00081 } 00082 00083 private: 00084 int preshoweraddress; 00085 bool hasadjpscluster; 00086 int errorcode; 00087 bool hasloosepsmatch; 00088 bool hastightpsmatch; 00089 int fineptbin; 00090 int ptbin; 00091 int sign; 00092 int sector; 00093 bool duplicate; 00094 bool isolated; 00095 int fibrenumber; 00096 00097 static const float center_fineptbin[4][8]; 00098 00099 ClassDef(TMBL1toL2CTT,1) 00100 00101 }; //end of class TMBL1toL2CTT 00102 #endif // TMBL1TOL2CTT_H_
1.3.4