82 int isISO = (idx / 2) % 2;
84 int idx_drcr = isFWD * 2 + isRPC;
88 int ch_idx = (charge == 0) ? 1 : 0;
94 if ( (isRPC && isFWD && fabs(oldeta) < 1.04 ) ||
95 (isRPC && !isFWD && fabs(oldeta) > 1.04 ) ) {
97 <<
"L1MuGMTMIAUEtaProLUT::TheLookupFunction: RPC " << (isFWD?
"fwd":
"brl")
98 <<
" eta value out of range: " << oldeta;
102 int isys = isFWD + 2 * isRPC;
112 unsigned eta_select_word_14 = 1 << icenter;
124 if ( neweta > bincenter ) imax++;
128 if (imax>13) imax=13;
130 for (
int i=imin;
i<=imax;
i++ )
131 eta_select_word_14 |= 1 <<
i ;
136 unsigned eta_select_word;
138 unsigned mask5 = (1<<5)-1;
139 eta_select_word = eta_select_word_14 & mask5;
140 eta_select_word |= ( eta_select_word_14 & (mask5 << 9) ) >> 4;
143 unsigned mask10 = (1<<10)-1;
144 eta_select_word = ( eta_select_word_14 & (mask10 << 2) ) >> 2;
147 return eta_select_word;
unsigned int numberGctForwardEtaBinsPerHalf() const
const L1MuScale * getPtScale() const
get the Pt scale
static const L1CaloGeometry * getCaloGeom()
int m_IsolationCellSizeEta
Private data members (LUT parameters);.
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
virtual float getCenter(unsigned packed) const =0
get the center of bin represented by packed
static int getIsolationCellSizeEta()
unsigned TheLookupFunction(int idx, unsigned eta, unsigned pt, unsigned charge) const
The lookup function - here the functionality of the LUT is implemented.
static const L1MuTriggerPtScale * getTriggerPtScale()
double globalEtaBinCenter(unsigned int globalEtaIndex) const
static const L1MuTriggerScales * getTriggerScales()
void InitParameters()
Initialize scales, configuration parameters, alignment constants, ...
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
static float eta(int isys, int isISO, int icharge, float eta, float pt)
look up delta-eta
unsigned int globalEtaIndex(const double &etaValue) const