CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTPhiLUT.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00003 //   Class: L1MuGMTPhiLUT
00012 //
00013 //   $Date: 2007/03/23 18:51:35 $
00014 //   $Revision: 1.2 $
00015 //
00016 //   Author :
00017 //   H. Sakulin            CERN EP 
00018 //
00019 //   Migrated to CMSSW:
00020 //   I. Mikulec
00021 //
00022 //--------------------------------------------------
00023 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTPhiLUT_h
00024 #define L1TriggerGlobalMuonTrigger_L1MuGMTPhiLUT_h
00025 
00026 //---------------
00027 // C++ Headers --
00028 //---------------
00029 
00030 #include <vector>
00031 #include <cmath>
00032 
00033 //----------------------
00034 // Base Class Headers --
00035 //----------------------
00036 
00037 
00038 //------------------------------------
00039 // Collaborating Class Declarations --
00040 //------------------------------------
00041 
00042 
00043 //              ---------------------
00044 //              -- Class Interface --
00045 //              ---------------------
00046 
00047 
00048 class L1MuGMTPhiLUT {
00049 
00050   public:  
00051 
00053     L1MuGMTPhiLUT();
00054 
00056     virtual ~L1MuGMTPhiLUT();
00057         
00058     //FIXME: two versions
00059 
00061     static float dphi(int isys, int isISO, int icharge, int ieta, float pt) ;
00062 
00064     static float dphi(int isys, int isISO, int icharge, float eta, float pt){
00065       return dphi(isys, isISO, icharge, etabin( (float)fabs(eta), isys), pt); 
00066     };
00067 
00068   private:
00069     static int etabin (float eta, int isys);
00070 
00071   private:
00072     static const int NSYS=4;
00073     static const int DT=0;
00074     static const int CSC=1;
00075     static const int bRPC=2;
00076     static const int fRPC=3;
00077 
00078     // 3-bit eta, in hardware 4th bit is reserved for
00079     // positive / negative endcap asymmetries
00080     static const unsigned int NETA=8; 
00081 
00082     // 2 reference planes 0: calo, 1: vertex
00083     static const unsigned int NRP=2;   
00084 
00085     static float etabins[NSYS][NETA+1];
00086     static float fitparams_phi[NRP][NSYS][NETA][2][3];
00087 };
00088 
00089 #endif