38 m_linearLsb(linearLsbInGeV),
39 m_thresholds(thresholdsInGeV) {
50 L1CaloEtScale::L1CaloEtScale(
const unsigned linScaleMax,
const unsigned rankScaleMax,
const double linearLsbInGeV,
const vector<double>& thresholdsInGeV) :
51 m_linScaleMax(linScaleMax),
52 m_rankScaleMax(rankScaleMax),
53 m_linearLsb(linearLsbInGeV),
54 m_thresholds(thresholdsInGeV) {
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
double m_linearLsb
LSB of linear scale in GeV.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
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