97 catch(std::out_of_range) {
98 throw cms::Exception(
"OutOfRange") <<
"Index out of range in L1CaloEtScale::et(rank)" << std::endl;
104 s <<
"L1CaloEtScale :" << endl;
106 s <<
" Input LSB = " <<
m_linearLsb <<
" GeV" << endl;
109 s <<
" Threshold " <<
i <<
" = " <<
m_thresholds[
i] <<
" GeV" << endl;
114 os <<
"L1CaloEtScale :" << endl;
115 os <<
" Input scale max = " << obj.
linScaleMax() << endl;
116 os <<
" Input LSB = " << obj.
linearLsb() <<
" GeV" << endl;
117 os <<
" Rank scale max = " << obj.
rankScaleMax() << endl;
119 os <<
" Threshold " <<
i <<
" = " << obj.
getThresholds().at(
i) <<
" GeV" << endl;
uint16_t m_linScaleMax
linear scale maximum
uint16_t m_rankScaleMax
rank scale maximum
std::ostream & operator<<(std::ostream &os, const L1CaloEtScale obj)
double m_linearLsb
LSB of linear scale in GeV.
double et(const uint16_t rank) const
convert from rank to physically meaningful quantity
double linearLsb() const
get LSB of linear input scale
uint16_t rank(const uint16_t linear) const
convert from linear Et scale to rank scale
void print(std::ostream &s) const
const std::vector< double > & getThresholds() const
get thresholds
L1CaloEtScale()
default constructor, for testing (out = in)
std::vector< double > m_thresholds
thresholds associated with rank scale in GeV
unsigned linScaleMax() const
unsigned rankScaleMax() const