CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Static Private Member Functions | Static Private Attributes

L1MuGMTPhiLUT Class Reference

#include <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, int ieta, float pt)
 look up delta-phi with integer eta
static float dphi (int isys, int isISO, int icharge, float eta, float pt)
 look up delta-phi

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.

                             {
}
L1MuGMTPhiLUT::~L1MuGMTPhiLUT ( ) [virtual]

destructor

Definition at line 52 of file L1MuGMTPhiLUT.cc.

                              { 
  
}

Member Function Documentation

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, trackerHits::c, CSC, DT, fitparams_phi, fRPC, and M_PI.

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

                                                                              {

  if ( (isys==DT || isys==bRPC) && pt < 4.) pt = 4.; // cut off
  if ( (isys==CSC || isys==fRPC) && pt < 3.) pt = 3.;

  float a=fitparams_phi[isISO][isys][ieta][icharge][0];
  float b=fitparams_phi[isISO][isys][ieta][icharge][1];
  float c=fitparams_phi[isISO][isys][ieta][icharge][2];

  float dphi = a + b / pt + c / (pt*pt);

  // dphi is difference between low edge of muon phi bin and real phi in calo/vtx

  // correct for RPC LUTs which were calculated with center of bin phi
  if (isys==bRPC || isys==fRPC) dphi -= 1.25 / 180. * M_PI;
  
  return dphi;
}
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().

                                                                            {
      return dphi(isys, isISO, icharge, etabin( (float)fabs(eta), isys), pt); 
    };
int L1MuGMTPhiLUT::etabin ( float  eta,
int  isys 
) [static, private]

Definition at line 60 of file L1MuGMTPhiLUT.cc.

References etabins, i, and NETA.

Referenced by dphi().

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

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.