CMS 3D CMS Logo

L1MuGMTPhiLUT Class Reference

Description: Look-up table for GMT Phi projection unit. More...

#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTPhiLUT.h>

List of all members.

Public Member Functions

 L1MuGMTPhiLUT ()
 constructor
virtual ~L1MuGMTPhiLUT ()
 destructor

Static Public Member Functions

static float dphi (int isys, int isISO, int icharge, float eta, float pt)
 look up delta-phi
static float dphi (int isys, int isISO, int icharge, int ieta, float pt)
 look up delta-phi with integer eta

Static Private Member Functions

static int etabin (float eta, int isys)

Static Private Attributes

static const int bRPC = 2
static const int CSC = 1
static const int DT = 0
static float etabins [NSYS][NETA+1]
static float fitparams_phi [NRP][NSYS][NETA][2][3]
static const int fRPC = 3
static const unsigned int NETA = 8
static const unsigned int NRP = 2
static const int NSYS = 4


Detailed Description

Description: Look-up table for GMT Phi projection unit.

Caluclates float delta-phi from charge, eta and pT

Simple static implementation with parametrization for CMS121 geometry

Definition at line 48 of file L1MuGMTPhiLUT.h.


Constructor & Destructor Documentation

L1MuGMTPhiLUT::L1MuGMTPhiLUT (  ) 

constructor

Definition at line 46 of file L1MuGMTPhiLUT.cc.

00046                              {
00047 }

L1MuGMTPhiLUT::~L1MuGMTPhiLUT (  )  [virtual]

destructor

Definition at line 52 of file L1MuGMTPhiLUT.cc.

00052                               { 
00053   
00054 }


Member Function Documentation

static float L1MuGMTPhiLUT::dphi ( int  isys,
int  isISO,
int  icharge,
float  eta,
float  pt 
) [inline, static]

look up delta-phi

Definition at line 64 of file L1MuGMTPhiLUT.h.

References dphi(), and etabin().

00064                                                                             {
00065       return dphi(isys, isISO, icharge, etabin( (float)fabs(eta), isys), pt); 
00066     };

float L1MuGMTPhiLUT::dphi ( int  isys,
int  isISO,
int  icharge,
int  ieta,
float  pt 
) [static]

look up delta-phi with integer eta

Definition at line 72 of file L1MuGMTPhiLUT.cc.

References a, b, bRPC, c, CSC, DT, fitparams_phi, and fRPC.

Referenced by dphi(), L1MuGMTLFPhiProLUT::TheLookupFunction(), and L1MuGMTMIAUPhiPro1LUT::TheLookupFunction().

00072                                                                               {
00073 
00074   if ( (isys==DT || isys==bRPC) && pt < 4.) pt = 4.; // cut off
00075   if ( (isys==CSC || isys==fRPC) && pt < 3.) pt = 3.;
00076 
00077   float a=fitparams_phi[isISO][isys][ieta][icharge][0];
00078   float b=fitparams_phi[isISO][isys][ieta][icharge][1];
00079   float c=fitparams_phi[isISO][isys][ieta][icharge][2];
00080 
00081   float dphi = a + b / pt + c / (pt*pt);
00082 
00083   // dphi is difference between low edge of muon phi bin and real phi in calo/vtx
00084 
00085   // correct for RPC LUTs which were calculated with center of bin phi
00086   if (isys==bRPC || isys==fRPC) dphi -= 1.25 / 180. * M_PI;
00087   
00088   return dphi;
00089 }

int L1MuGMTPhiLUT::etabin ( float  eta,
int  isys 
) [static, private]

Definition at line 60 of file L1MuGMTPhiLUT.cc.

References etabins, i, int, and NETA.

Referenced by dphi().

00060                                              {
00061   int i;
00062   for (i=0; i<(int)NETA;i++)
00063     if (eta >= etabins[isys][i] && eta < etabins[isys][i+1]) break;
00064   if (i>=(int)NETA) edm::LogWarning("LUTProblem") << "L1MuGMTPhiLUT::etabin(): could not assign eta bin ";
00065   return i;
00066 }


Member Data Documentation

const int L1MuGMTPhiLUT::bRPC = 2 [static, private]

Definition at line 75 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::CSC = 1 [static, private]

Definition at line 74 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::DT = 0 [static, private]

Definition at line 73 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

float L1MuGMTPhiLUT::etabins [static, private]

Initial value:

 {
  { 0.00, 0.22, 0.27, 0.58, 0.77, 0.87, 0.92, 1.24, 1.24 }, 
  { 0.00, 1.06, 1.26, 1.46, 1.66, 1.86, 2.06, 2.26, 2.46 }, 
  { 0.00, 0.06, 0.25, 0.41, 0.54, 0.70, 0.83, 0.93, 1.04 }, 
  { 1.04, 1.24, 1.36, 1.48, 1.61, 1.73, 1.85, 1.97, 2.10}   
}

Definition at line 85 of file L1MuGMTPhiLUT.h.

Referenced by etabin().

float L1MuGMTPhiLUT::fitparams_phi [static, private]

Definition at line 86 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::fRPC = 3 [static, private]

Definition at line 76 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const unsigned int L1MuGMTPhiLUT::NETA = 8 [static, private]

Definition at line 80 of file L1MuGMTPhiLUT.h.

Referenced by etabin().

const unsigned int L1MuGMTPhiLUT::NRP = 2 [static, private]

Definition at line 83 of file L1MuGMTPhiLUT.h.

const int L1MuGMTPhiLUT::NSYS = 4 [static, private]

Definition at line 72 of file L1MuGMTPhiLUT.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:55 2009 for CMSSW by  doxygen 1.5.4