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

Constructor & Destructor Documentation

◆ L1MuGMTPhiLUT()

L1MuGMTPhiLUT::L1MuGMTPhiLUT ( )

constructor

Definition at line 44 of file L1MuGMTPhiLUT.cc.

44 {}

◆ ~L1MuGMTPhiLUT()

L1MuGMTPhiLUT::~L1MuGMTPhiLUT ( )
virtual

destructor

Definition at line 49 of file L1MuGMTPhiLUT.cc.

49 {}

Member Function Documentation

◆ dphi() [1/2]

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

look up delta-phi with integer eta

Definition at line 68 of file L1MuGMTPhiLUT.cc.

References a, b, bRPC, HltBtagPostValidation_cff::c, CSC, DT, fitparams_phi, fRPC, hcalRecHitTable_cff::ieta, M_PI, and DiDispStaMuonMonitor_cfi::pt.

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

68  {
69  if ((isys == DT || isys == bRPC) && pt < 4.)
70  pt = 4.; // cut off
71  if ((isys == CSC || isys == fRPC) && pt < 3.)
72  pt = 3.;
73 
74  float a = fitparams_phi[isISO][isys][ieta][icharge][0];
75  float b = fitparams_phi[isISO][isys][ieta][icharge][1];
76  float c = fitparams_phi[isISO][isys][ieta][icharge][2];
77 
78  float dphi = a + b / pt + c / (pt * pt);
79 
80  // dphi is difference between low edge of muon phi bin and real phi in calo/vtx
81 
82  // correct for RPC LUTs which were calculated with center of bin phi
83  if (isys == bRPC || isys == fRPC)
84  dphi -= 1.25 / 180. * M_PI;
85 
86  return dphi;
87 }
static const int bRPC
Definition: L1MuGMTPhiLUT.h:68
static const int CSC
Definition: L1MuGMTPhiLUT.h:67
static const int fRPC
Definition: L1MuGMTPhiLUT.h:69
static const int DT
Definition: L1MuGMTPhiLUT.h:66
#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:79

◆ dphi() [2/2]

static float L1MuGMTPhiLUT::dphi ( int  isys,
int  isISO,
int  icharge,
float  eta,
float  pt 
)
inlinestatic

look up delta-phi

Definition at line 57 of file L1MuGMTPhiLUT.h.

References dphi(), PVValHelper::eta, etabin(), and DiDispStaMuonMonitor_cfi::pt.

57  {
58  return dphi(isys, isISO, icharge, etabin((float)fabs(eta), isys), pt);
59  };
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

◆ etabin()

int L1MuGMTPhiLUT::etabin ( float  eta,
int  isys 
)
staticprivate

Definition at line 55 of file L1MuGMTPhiLUT.cc.

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

Referenced by dphi().

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

Member Data Documentation

◆ bRPC

const int L1MuGMTPhiLUT::bRPC = 2
staticprivate

Definition at line 68 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

◆ CSC

const int L1MuGMTPhiLUT::CSC = 1
staticprivate

Definition at line 67 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

◆ DT

const int L1MuGMTPhiLUT::DT = 0
staticprivate

Definition at line 66 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

◆ etabins

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

Referenced by etabin().

◆ fitparams_phi

float L1MuGMTPhiLUT::fitparams_phi
staticprivate

Definition at line 79 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

◆ fRPC

const int L1MuGMTPhiLUT::fRPC = 3
staticprivate

Definition at line 69 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

◆ NETA

const unsigned int L1MuGMTPhiLUT::NETA = 8
staticprivate

Definition at line 73 of file L1MuGMTPhiLUT.h.

Referenced by etabin().

◆ NRP

const unsigned int L1MuGMTPhiLUT::NRP = 2
staticprivate

Definition at line 76 of file L1MuGMTPhiLUT.h.

◆ NSYS

const int L1MuGMTPhiLUT::NSYS = 4
staticprivate

Definition at line 65 of file L1MuGMTPhiLUT.h.