CMS 3D CMS Logo

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

#include <L1MuGMTEtaLUT.h>

Public Member Functions

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

Static Public Member Functions

static float eta (int isys, int isISO, int icharge, float eta, float pt)
 look up delta-eta 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_eta [NRP][NSYS][NETA][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 Eta projection unit

         Caluclates float delta-eta from charge, eta and pT 

         Simple static implementation with parametrization for
         CMS121 geometry

Definition at line 42 of file L1MuGMTEtaLUT.h.

Constructor & Destructor Documentation

◆ L1MuGMTEtaLUT()

L1MuGMTEtaLUT::L1MuGMTEtaLUT ( )

constructor

Definition at line 44 of file L1MuGMTEtaLUT.cc.

44 {}

◆ ~L1MuGMTEtaLUT()

L1MuGMTEtaLUT::~L1MuGMTEtaLUT ( )
virtual

destructor

Definition at line 49 of file L1MuGMTEtaLUT.cc.

49 {}

Member Function Documentation

◆ eta()

float L1MuGMTEtaLUT::eta ( int  isys,
int  isISO,
int  icharge,
float  eta,
float  pt 
)
static

look up delta-eta

Definition at line 68 of file L1MuGMTEtaLUT.cc.

References a, b, bRPC, c, CSC, DT, etabin(), fitparams_eta, fRPC, LEDCalibrationChannels::ieta, and DiDispStaMuonMonitor_cfi::pt.

Referenced by Particle.Particle::__str__(), etabin(), Jet.Jet::jetID(), Jet.Jet::puJetId(), and L1MuGMTMIAUEtaProLUT::TheLookupFunction().

68  {
69  int ieta = etabin((float)fabs(eta), isys);
70 
71  if ((isys == DT || isys == bRPC) && pt < 4.)
72  pt = 4.; // cut off
73  if ((isys == CSC || isys == fRPC) && pt < 3.)
74  pt = 3.;
75 
76  float a = fitparams_eta[isISO][isys][ieta][0];
77  float b = fitparams_eta[isISO][isys][ieta][1];
78  float c = fitparams_eta[isISO][isys][ieta][2];
79 
80  float deta = a + b / pt + c / (pt * pt);
81 
82  float neweta;
83  if (eta > 0)
84  neweta = eta - deta;
85  else
86  neweta = eta + deta;
87 
88  return neweta;
89 }
static const int CSC
Definition: L1MuGMTEtaLUT.h:59
static const int bRPC
Definition: L1MuGMTEtaLUT.h:60
static const int DT
Definition: L1MuGMTEtaLUT.h:58
static const int fRPC
Definition: L1MuGMTEtaLUT.h:61
static float fitparams_eta[NRP][NSYS][NETA][3]
Definition: L1MuGMTEtaLUT.h:71
static int etabin(float eta, int isys)
double b
Definition: hdecay.h:118
static float eta(int isys, int isISO, int icharge, float eta, float pt)
look up delta-eta
double a
Definition: hdecay.h:119

◆ etabin()

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

Definition at line 55 of file L1MuGMTEtaLUT.cc.

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

Referenced by eta().

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") << "L1MuGMTEtaLUT::etabin(): could not assign eta bin ";
62  return i;
63 }
static const unsigned int NETA
Definition: L1MuGMTEtaLUT.h:65
static float etabins[NSYS][NETA+1]
Definition: L1MuGMTEtaLUT.h:70
static float eta(int isys, int isISO, int icharge, float eta, float pt)
look up delta-eta

Member Data Documentation

◆ bRPC

const int L1MuGMTEtaLUT::bRPC = 2
staticprivate

Definition at line 60 of file L1MuGMTEtaLUT.h.

Referenced by eta().

◆ CSC

const int L1MuGMTEtaLUT::CSC = 1
staticprivate

Definition at line 59 of file L1MuGMTEtaLUT.h.

Referenced by eta().

◆ DT

const int L1MuGMTEtaLUT::DT = 0
staticprivate

Definition at line 58 of file L1MuGMTEtaLUT.h.

Referenced by eta().

◆ etabins

float L1MuGMTEtaLUT::etabins
staticprivate
Initial value:
= {
{0.00, 0.22, 0.27, 0.58, 0.77, 0.87, 0.92, 1.24, 1.35 },
{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, 2.10 },
{0.00 , 1.24, 1.36, 1.48, 1.61, 1.73, 1.85, 1.97, 2.10}
}

Definition at line 70 of file L1MuGMTEtaLUT.h.

Referenced by etabin().

◆ fitparams_eta

float L1MuGMTEtaLUT::fitparams_eta
staticprivate

Definition at line 71 of file L1MuGMTEtaLUT.h.

Referenced by eta().

◆ fRPC

const int L1MuGMTEtaLUT::fRPC = 3
staticprivate

Definition at line 61 of file L1MuGMTEtaLUT.h.

Referenced by eta().

◆ NETA

const unsigned int L1MuGMTEtaLUT::NETA = 8
staticprivate

Definition at line 65 of file L1MuGMTEtaLUT.h.

Referenced by etabin().

◆ NRP

const unsigned int L1MuGMTEtaLUT::NRP = 2
staticprivate

Definition at line 68 of file L1MuGMTEtaLUT.h.

◆ NSYS

const int L1MuGMTEtaLUT::NSYS = 4
staticprivate

Definition at line 57 of file L1MuGMTEtaLUT.h.