48 unsigned short out = 0;
56 return out & (nBinRank - 1);
76 s <<
"L1CaloEcalScaleRcd" << endl;
77 s <<
"Energy for ECAL inputs into the RCT" << endl;
78 s <<
"Each new row is for a given value of 8 bit output of ECAL. Each column is for the respective eta value "
82 s <<
"rank = " <<
rank <<
" ";
L1CaloEcalScale(double lsb=1.0)
constructor (creates a linear scale with an LSB - no LSB gives identity)
void print(std::ostream &s) const
void setBin(unsigned short rank, unsigned short eta, short etaSign, double et)
set scale element; use this to create non-linear scales
double m_scale[nBinRank][2 *nBinEta]
thresholds associated with rank scale in GeV
double et(unsigned short rank, unsigned short eta, short etaSign) const
convert from rank to physically meaningful quantity
uint16_t rank(double et, unsigned short eta, short etaSign) const
convert from physical Et in GeV to rank scale
static const unsigned short nBinRank
static const unsigned short nBinEta
~L1CaloEcalScale()
destructor