52 if (quantity ==
"NrObjects") {
73 if (quantity ==
"PT") {
92 float maxLaxtBinsize = 200;
93 if (lastBinSize >= maxLaxtBinsize) {
97 LogDebug(
"L1GetHistLimits") <<
"\n L1ExtraMuon: PT histogram" 98 <<
"\nm_l1HistLimits.upperBinValue truncated to = " 105 }
else if (quantity ==
"eta" || quantity ==
"phi") {
109 if (quantity ==
"eta") {
121 for (
int j = histNrBinsHalf;
j > 0;
j--, iBin++) {
124 for (
int j = 0;
j <= histNrBinsHalf;
j++, iBin++) {
151 if (quantity ==
"ET") {
174 }
else if (quantity ==
"eta" || quantity ==
"phi") {
179 if (quantity ==
"eta") {
221 if (quantity ==
"ET") {
225 std::vector<double> jetThresholds = jetScale->
getThresholds();
244 }
else if (quantity ==
"eta" || quantity ==
"phi") {
249 if (quantity ==
"eta") {
287 if (quantity ==
"ET") {
291 const double etSumLSB = etMissScale->
linearLsb();
307 }
else if (quantity ==
"eta" || quantity ==
"phi") {
312 if (quantity ==
"eta") {
333 if (quantity ==
"ET") {
337 const double etSumLSB = etMissScale->
linearLsb();
353 }
else if (quantity ==
"eta" || quantity ==
"phi") {
359 if (quantity ==
"ET") {
378 }
else if (quantity ==
"eta" || quantity ==
"phi") {
383 if (quantity ==
"ET") {
387 const std::vector<double>& htThresholds = htMissScale->
getThresholds();
406 }
else if (quantity ==
"eta" || quantity ==
"phi") {
411 if (quantity ==
"eta") {
435 const unsigned int R3BINS = 8;
436 const float R3MIN = -0.5;
437 const float R3MAX = 7.5;
454 if (quantity ==
"ET") {
458 const std::vector<double>& hfRingEtThresholds = hfRingEtScale->
getThresholds();
477 }
else if (quantity ==
"eta" || quantity ==
"phi") {
496 LogDebug(
"L1GetHistLimits") <<
"\n Histogram limits for L1GtObject " << l1GtObject <<
" and quantity " << quantity
504 LogTrace(
"L1GetHistLimits") <<
"\n Warning: inconsistent nrBins and binThresholds size" 506 <<
"\n binThresholds size = " << binThreshSize
507 <<
"\n Please fix the L1GetLimits class.\n\n" 511 for (
int iBin = 0; iBin < binThreshSize; ++iBin) {
512 LogTrace(
"L1GetHistLimits") <<
" Bin " << std::right << std::setw(5) << iBin <<
": " 522 const double histMinValue,
523 const double histMaxValue) {
526 bool foundLowerBinValue =
false;
527 bool foundUpperBinValue =
false;
532 foundLowerBinValue =
true;
540 foundUpperBinValue =
true;
545 if (foundLowerBinValue && foundUpperBinValue) {
547 std::vector<float> binThresh;
571 LogDebug(
"L1GetHistLimits") <<
"\n Histogram limits for L1GtObject" << l1GtObject <<
" and quantity " << quantity
572 <<
" within the required range [" << histMinValue <<
", " << histMaxValue
574 <<
"\n The range is not included in the original histogram range." << std::endl;
580 LogDebug(
"L1GetHistLimits") <<
"\n Histogram limits for L1GtObject" << l1GtObject <<
" and quantity " << quantity
588 LogTrace(
"L1GetHistLimits") <<
"\n Warning: inconsistent nrBins and binThresholds size" 590 <<
"\n binThresholds size = " << binThreshSize
591 <<
"\n Please fix the L1GetLimits class.\n\n" 595 for (
int iBin = 0; iBin < binThreshSize; ++iBin) {
596 LogTrace(
"L1GetHistLimits") <<
" Bin " << std::right << std::setw(5) << iBin <<
": "
double globalEtaBinLowEdge(unsigned int globalEtaIndex) const
unsigned int numberGctForwardEtaBinsPerHalf() const
void getHistLimits(const L1GtObject &l1GtObject, const std::string &quantity)
const edm::EventSetup & m_evSetup
L1HistLimits m_l1HistLimits
all limits for a histogram
unsigned int numberGctHtSumPhiBins() const
const L1MuScale * getPtScale() const
get the Pt scale
double htSumPhiBinLowEdge(unsigned int phiIndex) const
const double l1HistUpperBinValue(const L1GtObject &l1GtObject, const std::string &quantity)
unsigned int numberGctEtSumPhiBins() const
const std::vector< float > & l1HistBinThresholds(const L1GtObject &l1GtObject, const std::string &quantity)
unsigned int numberGctEmJetPhiBins() const
const int l1HistNrBins(const L1GtObject &l1GtObject, const std::string &quantity)
unsigned int numberGctCentralEtaBinsPerHalf() const
double getHtLsbGeV() const
double linearLsb() const
get LSB of linear input scale
virtual ~L1GetHistLimits()
const std::vector< double > & getThresholds() const
get thresholds
const unsigned int R3BINS
const L1MuScale * getPhiScale() const
get the phi scale
virtual float getScaleMin() const =0
get the lower edge of the first bin
virtual unsigned getNBins() const =0
get number of bins
std::vector< float > binThresholds
const double rad2deg(const double &)
convert phi from rad (-pi, pi] to deg (0, 360)
double globalEtaBinHighEdge(unsigned int globalEtaIndex) const
double etSumPhiBinLowEdge(unsigned int phiIndex) const
const L1MuScale * getGMTEtaScale() const
get the GMT eta scale
double emJetPhiBinLowEdge(unsigned int phiIndex) const
double htSumPhiBinHighEdge(unsigned int phiIndex) const
L1GetHistLimits(const edm::EventSetup &evSetup)
T const * product() const
virtual float getScaleMax() const =0
get the upper edge of the last bin
const double l1HistLowerBinValue(const L1GtObject &l1GtObject, const std::string &quantity)
virtual float getValue(unsigned i) const =0
get value of the underlying vector for bin i
double emJetPhiBinHighEdge(unsigned int phiIndex) const
double etSumPhiBinHighEdge(unsigned int phiIndex) const
const L1HistLimits & l1HistLimits(const L1GtObject &l1GtObject, const std::string &quantity)