CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Static Private Member Functions | Static Private Attributes
L1MuGMTPhiLUT Class Reference

#include <L1MuGMTPhiLUT.h>

Public Member Functions

 L1MuGMTPhiLUT ()
 constructor More...
 
virtual ~L1MuGMTPhiLUT ()
 destructor More...
 

Static Public Member Functions

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

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 46 of file L1MuGMTPhiLUT.h.

Constructor & Destructor Documentation

L1MuGMTPhiLUT::L1MuGMTPhiLUT ( )

constructor

Definition at line 44 of file L1MuGMTPhiLUT.cc.

44  {
45 }
L1MuGMTPhiLUT::~L1MuGMTPhiLUT ( )
virtual

destructor

Definition at line 50 of file L1MuGMTPhiLUT.cc.

50  {
51 
52 }

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 70 of file L1MuGMTPhiLUT.cc.

References a, b, bRPC, EnergyCorrector::c, CSC, DT, etabins, fitparams_phi, fRPC, M_PI, NETA, NRP, NSYS, and EnergyCorrector::pt.

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

70  {
71 
72  if ( (isys==DT || isys==bRPC) && pt < 4.) pt = 4.; // cut off
73  if ( (isys==CSC || isys==fRPC) && pt < 3.) pt = 3.;
74 
75  float a=fitparams_phi[isISO][isys][ieta][icharge][0];
76  float b=fitparams_phi[isISO][isys][ieta][icharge][1];
77  float c=fitparams_phi[isISO][isys][ieta][icharge][2];
78 
79  float dphi = a + b / pt + c / (pt*pt);
80 
81  // dphi is difference between low edge of muon phi bin and real phi in calo/vtx
82 
83  // correct for RPC LUTs which were calculated with center of bin phi
84  if (isys==bRPC || isys==fRPC) dphi -= 1.25 / 180. * M_PI;
85 
86  return dphi;
87 }
static const int bRPC
Definition: L1MuGMTPhiLUT.h:73
static const int CSC
Definition: L1MuGMTPhiLUT.h:72
static const int fRPC
Definition: L1MuGMTPhiLUT.h:74
static const int DT
Definition: L1MuGMTPhiLUT.h:71
#define M_PI
double b
Definition: hdecay.h:120
static float dphi(int isys, int isISO, int icharge, int ieta, float pt)
look up delta-phi with integer eta
double a
Definition: hdecay.h:121
static float fitparams_phi[NRP][NSYS][NETA][2][3]
Definition: L1MuGMTPhiLUT.h:84
static float L1MuGMTPhiLUT::dphi ( int  isys,
int  isISO,
int  icharge,
float  eta,
float  pt 
)
inlinestatic

look up delta-phi

Definition at line 62 of file L1MuGMTPhiLUT.h.

References dphi(), stringResolutionProvider_cfi::eta, and etabin().

62  {
63  return dphi(isys, isISO, icharge, etabin( (float)fabs(eta), isys), pt);
64  };
static int etabin(float eta, int isys)
static float dphi(int isys, int isISO, int icharge, int ieta, float pt)
look up delta-phi with integer eta
int L1MuGMTPhiLUT::etabin ( float  eta,
int  isys 
)
staticprivate

Definition at line 58 of file L1MuGMTPhiLUT.cc.

References etabins, mps_fire::i, createfilelist::int, and NETA.

Referenced by dphi().

58  {
59  int i;
60  for (i=0; i<(int)NETA;i++)
61  if (eta >= etabins[isys][i] && eta < etabins[isys][i+1]) break;
62  if (i>=(int)NETA) edm::LogWarning("LUTProblem") << "L1MuGMTPhiLUT::etabin(): could not assign eta bin ";
63  return i;
64 }
static const unsigned int NETA
Definition: L1MuGMTPhiLUT.h:78
static float etabins[NSYS][NETA+1]
Definition: L1MuGMTPhiLUT.h:83

Member Data Documentation

const int L1MuGMTPhiLUT::bRPC =2
staticprivate

Definition at line 73 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::CSC =1
staticprivate

Definition at line 72 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::DT =0
staticprivate

Definition at line 71 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

float L1MuGMTPhiLUT::etabins
staticprivate
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 83 of file L1MuGMTPhiLUT.h.

Referenced by dphi(), and etabin().

float L1MuGMTPhiLUT::fitparams_phi
staticprivate

Definition at line 84 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::fRPC =3
staticprivate

Definition at line 74 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const unsigned int L1MuGMTPhiLUT::NETA =8
staticprivate

Definition at line 78 of file L1MuGMTPhiLUT.h.

Referenced by dphi(), and etabin().

const unsigned int L1MuGMTPhiLUT::NRP =2
staticprivate

Definition at line 81 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::NSYS =4
staticprivate

Definition at line 70 of file L1MuGMTPhiLUT.h.

Referenced by dphi().