65 if (quantity ==
"NrObjects") {
86 if (quantity ==
"PT") {
104 float maxLaxtBinsize = 200;
105 if (lastBinSize >= maxLaxtBinsize) {
109 LogDebug(
"L1GetHistLimits") <<
"\n L1ExtraMuon: PT histogram"
110 <<
"\nm_l1HistLimits.upperBinValue truncated to = "
117 }
else if (quantity ==
"eta" || quantity ==
"phi") {
120 if (quantity ==
"eta") {
132 for (
int j = histNrBinsHalf;
j > 0;
j--, iBin++) {
135 for (
int j = 0;
j <= histNrBinsHalf;
j++, iBin++) {
162 if (quantity ==
"ET") {
184 }
else if (quantity ==
"eta" || quantity ==
"phi") {
187 if (quantity ==
"eta") {
229 if (quantity ==
"ET") {
232 std::vector<double> jetThresholds = jetScale.
getThresholds();
251 }
else if (quantity ==
"eta" || quantity ==
"phi") {
254 if (quantity ==
"eta") {
292 if (quantity ==
"ET") {
295 const double etSumLSB = etMissScale.
linearLsb();
311 }
else if (quantity ==
"eta" || quantity ==
"phi") {
314 if (quantity ==
"eta") {
335 if (quantity ==
"ET") {
338 const double etSumLSB = etMissScale.
linearLsb();
354 }
else if (quantity ==
"eta" || quantity ==
"phi") {
360 if (quantity ==
"ET") {
378 }
else if (quantity ==
"eta" || quantity ==
"phi") {
383 if (quantity ==
"ET") {
386 const std::vector<double>& htThresholds = htMissScale.
getThresholds();
405 }
else if (quantity ==
"eta" || quantity ==
"phi") {
408 if (quantity ==
"eta") {
432 const unsigned int R3BINS = 8;
433 const float R3MIN = -0.5;
434 const float R3MAX = 7.5;
451 if (quantity ==
"ET") {
454 const std::vector<double>& hfRingEtThresholds = hfRingEtScale.
getThresholds();
473 }
else if (quantity ==
"eta" || quantity ==
"phi") {
492 LogDebug(
"L1GetHistLimits") <<
"\n Histogram limits for L1GtObject " << l1GtObject <<
" and quantity " << quantity
500 LogTrace(
"L1GetHistLimits") <<
"\n Warning: inconsistent nrBins and binThresholds size"
502 <<
"\n binThresholds size = " << binThreshSize
503 <<
"\n Please fix the L1GetLimits class.\n\n"
507 for (
int iBin = 0; iBin < binThreshSize; ++iBin) {
508 LogTrace(
"L1GetHistLimits") <<
" Bin " << std::right << std::setw(5) << iBin <<
": "
518 const double histMinValue,
519 const double histMaxValue) {
522 bool foundLowerBinValue =
false;
523 bool foundUpperBinValue =
false;
528 foundLowerBinValue =
true;
536 foundUpperBinValue =
true;
541 if (foundLowerBinValue && foundUpperBinValue) {
543 std::vector<float> binThresh;
567 LogDebug(
"L1GetHistLimits") <<
"\n Histogram limits for L1GtObject" << l1GtObject <<
" and quantity " << quantity
568 <<
" within the required range [" << histMinValue <<
", " << histMaxValue
570 <<
"\n The range is not included in the original histogram range." << std::endl;
576 LogDebug(
"L1GetHistLimits") <<
"\n Histogram limits for L1GtObject" << l1GtObject <<
" and quantity " << quantity
584 LogTrace(
"L1GetHistLimits") <<
"\n Warning: inconsistent nrBins and binThresholds size"
586 <<
"\n binThresholds size = " << binThreshSize
587 <<
"\n Please fix the L1GetLimits class.\n\n"
591 for (
int iBin = 0; iBin < binThreshSize; ++iBin) {
592 LogTrace(
"L1GetHistLimits") <<
" Bin " << std::right << std::setw(5) << iBin <<
": "
double globalEtaBinLowEdge(unsigned int globalEtaIndex) const
const edm::ESGetToken< L1MuTriggerPtScale, L1MuTriggerPtScaleRcd > m_muPTScaleToken
unsigned int numberGctForwardEtaBinsPerHalf() const
virtual float getScaleMax() const =0
get the upper edge of the last bin
const edm::ESGetToken< L1GctJetFinderParams, L1GctJetFinderParamsRcd > m_jetFinderParamsToken
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
const edm::ESGetToken< L1CaloEtScale, L1HfRingEtScaleRcd > m_hfRingEtScaleToken
double htSumPhiBinLowEdge(unsigned int phiIndex) const
const double l1HistUpperBinValue(const L1GtObject &l1GtObject, const std::string &quantity)
Tokens(edm::ConsumesCollector, bool doEtaOrPhi)
edm::ESGetToken< L1CaloGeometry, L1CaloGeometryRecord > m_caloGeomESHToken
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()
bool getData(T &iHolder) const
L1GetHistLimits(const Tokens &, const edm::EventSetup &evSetup)
edm::ESGetToken< L1MuTriggerScales, L1MuTriggerScalesRcd > m_muScalesToken
const std::vector< double > & getThresholds() const
get thresholds
const unsigned int R3BINS
const L1MuScale * getPhiScale() const
get the phi scale
virtual float getValue(unsigned i) const =0
get value of the underlying vector for bin i
virtual float getScaleMin() const =0
get the lower edge of the first bin
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
virtual unsigned getNBins() const =0
get number of bins
const edm::ESGetToken< L1CaloEtScale, L1HtMissScaleRcd > m_htMissScaleToken
const L1MuScale * getGMTEtaScale() const
get the GMT eta scale
double emJetPhiBinLowEdge(unsigned int phiIndex) const
double htSumPhiBinHighEdge(unsigned int phiIndex) const
const double l1HistLowerBinValue(const L1GtObject &l1GtObject, const std::string &quantity)
const edm::ESGetToken< L1CaloEtScale, L1EmEtScaleRcd > m_etScaleToken
double emJetPhiBinHighEdge(unsigned int phiIndex) const
double etSumPhiBinHighEdge(unsigned int phiIndex) const
const L1HistLimits & l1HistLimits(const L1GtObject &l1GtObject, const std::string &quantity)
const edm::ESGetToken< L1CaloEtScale, L1JetEtScaleRcd > m_jetScaleToken