CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 48 of file L1MuGMTPhiLUT.h.

Constructor & Destructor Documentation

L1MuGMTPhiLUT::L1MuGMTPhiLUT ( )

constructor

Definition at line 46 of file L1MuGMTPhiLUT.cc.

46  {
47 }
L1MuGMTPhiLUT::~L1MuGMTPhiLUT ( )
virtual

destructor

Definition at line 52 of file L1MuGMTPhiLUT.cc.

52  {
53 
54 }

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().

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

look up delta-phi

Definition at line 64 of file L1MuGMTPhiLUT.h.

References dphi(), and etabin().

64  {
65  return dphi(isys, isISO, icharge, etabin( (float)fabs(eta), isys), pt);
66  };
T eta() const
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 60 of file L1MuGMTPhiLUT.cc.

References etabins, i, and NETA.

Referenced by dphi().

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

Member Data Documentation

const int L1MuGMTPhiLUT::bRPC =2
staticprivate

Definition at line 75 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::CSC =1
staticprivate

Definition at line 74 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::DT =0
staticprivate

Definition at line 73 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 85 of file L1MuGMTPhiLUT.h.

Referenced by etabin().

float L1MuGMTPhiLUT::fitparams_phi
staticprivate

Definition at line 86 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const int L1MuGMTPhiLUT::fRPC =3
staticprivate

Definition at line 76 of file L1MuGMTPhiLUT.h.

Referenced by dphi().

const unsigned int L1MuGMTPhiLUT::NETA =8
staticprivate

Definition at line 80 of file L1MuGMTPhiLUT.h.

Referenced by etabin().

const unsigned int L1MuGMTPhiLUT::NRP =2
staticprivate

Definition at line 83 of file L1MuGMTPhiLUT.h.

const int L1MuGMTPhiLUT::NSYS =4
staticprivate

Definition at line 72 of file L1MuGMTPhiLUT.h.