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 45 of file L1MuGMTEtaLUT.h.

Constructor & Destructor Documentation

L1MuGMTEtaLUT::L1MuGMTEtaLUT ( )

constructor

Definition at line 44 of file L1MuGMTEtaLUT.cc.

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

destructor

Definition at line 50 of file L1MuGMTEtaLUT.cc.

50  {
51 
52 }

Member Function Documentation

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

look up delta-eta

Definition at line 70 of file L1MuGMTEtaLUT.cc.

References a, b, bRPC, EnergyCorrector::c, CSC, DT, etabin(), etabins, fitparams_eta, fRPC, NETA, NRP, NSYS, and EnergyCorrector::pt.

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

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

Definition at line 58 of file L1MuGMTEtaLUT.cc.

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

Referenced by eta().

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

Member Data Documentation

const int L1MuGMTEtaLUT::bRPC =2
staticprivate

Definition at line 65 of file L1MuGMTEtaLUT.h.

Referenced by eta().

const int L1MuGMTEtaLUT::CSC =1
staticprivate

Definition at line 64 of file L1MuGMTEtaLUT.h.

Referenced by eta().

const int L1MuGMTEtaLUT::DT =0
staticprivate

Definition at line 63 of file L1MuGMTEtaLUT.h.

Referenced by eta().

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 75 of file L1MuGMTEtaLUT.h.

Referenced by eta(), and etabin().

float L1MuGMTEtaLUT::fitparams_eta
staticprivate

Definition at line 76 of file L1MuGMTEtaLUT.h.

Referenced by eta().

const int L1MuGMTEtaLUT::fRPC =3
staticprivate

Definition at line 66 of file L1MuGMTEtaLUT.h.

Referenced by eta().

const unsigned int L1MuGMTEtaLUT::NETA =8
staticprivate

Definition at line 70 of file L1MuGMTEtaLUT.h.

Referenced by eta(), and etabin().

const unsigned int L1MuGMTEtaLUT::NRP =2
staticprivate

Definition at line 73 of file L1MuGMTEtaLUT.h.

Referenced by eta().

const int L1MuGMTEtaLUT::NSYS =4
staticprivate

Definition at line 62 of file L1MuGMTEtaLUT.h.

Referenced by eta().