83 int idx,
unsigned phi_fine,
unsigned eta,
unsigned pt,
unsigned charge)
const {
94 int isys = isFWD + 2 *
isRPC;
95 int isISO = (idx / 2) % 2;
97 int ch_idx = (charge == 0) ? 1 : 0;
113 float calophi = phi_fine * 2.5 / 180. *
M_PI - dphi - m_calo_align;
115 if (charge == 0 && calophi < 0.) {
117 <<
"warning: calo offset goes into wrong direction. charge is plus and calophi < 0deg" << endl
118 <<
"SYS=" << (isys == 0 ?
"DT" : isys == 1 ?
"CSC" : isys == 2 ?
"BRPC" :
"FRPC") <<
" ISO = " << isISO
119 <<
" etabin = " << eta <<
" pval = " 122 <<
" charge = " << (charge == 0 ?
"pos" :
"neg") <<
" phi_fine = " << phi_fine
123 <<
" calophi(deg) = " << calophi * 180. /
M_PI << endl;
124 }
else if (charge == 1 && calophi > 20. / 180. *
M_PI) {
126 <<
"warning: calo offset goes into wrong direction. charge is minus and calophi > 20deg" << endl
127 <<
"SYS=" << (isys == 0 ?
"DT" : isys == 1 ?
"CSC" : isys == 2 ?
"BRPC" :
"FRPC") <<
" ISO = " << isISO
128 <<
" etabin = " << eta <<
" pval = " 131 <<
" charge = " << (charge == 0 ?
"pos" :
"neg") <<
" phi_fine = " << phi_fine
132 <<
" calophi(deg) = " << calophi * 180. /
M_PI << endl;
136 int cphi_fine = (
int)((calophi + 2. *
M_PI) / (10. / 180. *
M_PI));
142 calophi = 20. / 180 *
M_PI - calophi;
143 calophi += 20. / 180 *
M_PI;
147 <<
"warning: calo offset goes into wrong direction by more than 20deg !!!! please correct!" << endl;
150 int cphi_ofs = (
int)(calophi / (20. / 180. *
M_PI));
154 edm::LogWarning(
"LUTMismatch") <<
"warning: calo offset is larger than 6 regions !!!! please correct!" << endl;
158 return ((cphi_fine << 3) + cphi_ofs);
const L1MuScale * getPtScale() const
get the Pt scale
void InitParameters()
Initialize scales, configuration parameters, alignment constants, ...
static const L1MuTriggerPtScale * getTriggerPtScale()
bool isRPC(GeomDetEnumerators::SubDetector m)
unsigned TheLookupFunction(int idx, unsigned phi_fine, unsigned eta, unsigned pt, unsigned charge) const
The lookup function - here the functionality of the LUT is implemented.
static float dphi(int isys, int isISO, int icharge, int ieta, float pt)
look up delta-phi with integer eta
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed