CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
L1ExtraDQM::L1ExtraMonElement< CollectionType > Class Template Reference

#include <L1ExtraDQM.h>

Public Types

typedef
CollectionType::const_iterator 
CIterColl
 

Public Member Functions

void bookHistograms (const edm::EventSetup &evSetup, DQMStore *dbe, const std::string &l1ExtraObject, const std::vector< L1GtObject > &l1GtObj, const bool bookPhi=true, const bool bookEta=true)
 
void fillCharge (const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
 fill charge More...
 
void fillEtPhiEta (const CollectionType *collType, const bool validColl, const bool bookPhi, const bool bookEta, const bool isL1Coll, const int bxInEvent)
 ET, eta, phi. More...
 
void fillEtTotal (const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
 fill ET total in energy sums More...
 
void fillHfBitCounts (const CollectionType *collType, const bool validColl, const int countIndex, const bool isL1Coll, const int bxInEvent)
 fill bit counts in HFRings collections More...
 
void fillHfRingEtSums (const CollectionType *collType, const bool validColl, const int countIndex, const bool isL1Coll, const int bxInEvent)
 fill energy sums in HFRings collections More...
 
void fillNrObjects (const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
 number of objects More...
 
void fillPtPhiEta (const CollectionType *collType, const bool validColl, const bool bookPhi, const bool bookEta, const bool isL1Coll, const int bxInEvent)
 PT, eta, phi. More...
 
 L1ExtraMonElement (const edm::EventSetup &, const int)
 
virtual ~L1ExtraMonElement ()
 

Private Attributes

int m_indexCharge
 
int m_indexEt
 
int m_indexEta
 
int m_indexEtTotal
 
int m_indexHfBitCounts
 
int m_indexHfRingEtSums
 
int m_indexNrObjects
 histogram index for each quantity, set during histogram booking More...
 
int m_indexPhi
 
int m_indexPt
 
std::vector< MonitorElement * > m_monElement
 

Detailed Description

template<class CollectionType>
class L1ExtraDQM::L1ExtraMonElement< CollectionType >

Definition at line 87 of file L1ExtraDQM.h.

Member Typedef Documentation

template<class CollectionType >
typedef CollectionType::const_iterator L1ExtraDQM::L1ExtraMonElement< CollectionType >::CIterColl

Definition at line 97 of file L1ExtraDQM.h.

Constructor & Destructor Documentation

template<class CollectionType >
L1ExtraDQM::L1ExtraMonElement< CollectionType >::L1ExtraMonElement ( const edm::EventSetup evSetup,
const int  nrElements 
)

Definition at line 242 of file L1ExtraDQM.h.

References L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_monElement.

243  :
244  m_indexNrObjects(-1),
245  m_indexPt(-1),
246  m_indexEt(-1),
247  m_indexPhi(-1),
248  m_indexEta(-1),
249  m_indexEtTotal(-1),
250  m_indexCharge(-1),
251  m_indexHfBitCounts(-1),
252  m_indexHfRingEtSums(-1) {
253 
254  m_monElement.reserve(nrElements);
255 
256 }
int m_indexNrObjects
histogram index for each quantity, set during histogram booking
Definition: L1ExtraDQM.h:141
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
L1ExtraDQM::L1ExtraMonElement< CollectionType >::~L1ExtraMonElement ( )
virtual

Definition at line 260 of file L1ExtraDQM.h.

260  {
261 
262  //empty
263 
264 }

Member Function Documentation

template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::bookHistograms ( const edm::EventSetup evSetup,
DQMStore dbe,
const std::string &  l1ExtraObject,
const std::vector< L1GtObject > &  l1GtObj,
const bool  bookPhi = true,
const bool  bookEta = true 
)

Definition at line 268 of file L1ExtraDQM.h.

References L1GetHistLimits::L1HistLimits::binThresholds, DQMStore::book1D(), CenJet, filterCSVwithJSON::copy, ForJet, HfBitCounts, HfRingEtSums, IsoEG, l1extra::L1HFRings::kNumRings, L1GetHistLimits::l1HistLimits(), LogDebug, LogTrace, L1GetHistLimits::L1HistLimits::lowerBinValue, Mu, NoIsoEG, L1GetHistLimits::L1HistLimits::nrBins, TauJet, and L1GetHistLimits::L1HistLimits::upperBinValue.

272  {
273 
274  // FIXME
275  L1GtObject gtObj = l1GtObj.at(0);
276 
277  //
278  std::string histName;
279  std::string histTitle;
280  std::string xAxisTitle;
281  std::string yAxisTitle;
282 
283  std::string quantity = "";
284 
285  int indexHistogram = -1;
286 
287  if (gtObj == HfBitCounts) {
288 
289  L1GetHistLimits l1GetHistLimits(evSetup);
290  const L1GetHistLimits::L1HistLimits& histLimits =
291  l1GetHistLimits.l1HistLimits(gtObj, quantity);
292 
293  const int histNrBins = histLimits.nrBins;
294  const double histMinValue = histLimits.lowerBinValue;
295  const double histMaxValue = histLimits.upperBinValue;
296 
297  indexHistogram++;
298  m_indexHfBitCounts = indexHistogram;
299 
300  for (int iCount = 0; iCount < l1extra::L1HFRings::kNumRings; ++iCount) {
301 
302  histName = l1ExtraObject + "_Count_" + boost::lexical_cast<
303  std::string>(iCount);
304  histTitle = l1ExtraObject + ": count " + boost::lexical_cast<
305  std::string>(iCount);
306  xAxisTitle = l1ExtraObject;
307  yAxisTitle = "Entries";
308 
309  m_monElement.push_back(dbe->book1D(histName, histTitle, histNrBins,
310  histMinValue, histMaxValue));
311  m_monElement[m_indexHfBitCounts + iCount]->setAxisTitle(xAxisTitle,
312  1);
313  m_monElement[m_indexHfBitCounts + iCount]->setAxisTitle(yAxisTitle,
314  2);
315 
316  }
317 
318  return;
319 
320  }
321 
322  // number of objects per event
323  if ((gtObj == Mu) || (gtObj == IsoEG) || (gtObj == NoIsoEG) || (gtObj
324  == CenJet) || (gtObj == ForJet) || (gtObj == TauJet)) {
325 
326  quantity = "NrObjects";
327 
328  L1GetHistLimits l1GetHistLimits(evSetup);
329  const L1GetHistLimits::L1HistLimits& histLimits =
330  l1GetHistLimits.l1HistLimits(gtObj, quantity);
331 
332  const int histNrBins = histLimits.nrBins;
333  const double histMinValue = histLimits.lowerBinValue;
334  const double histMaxValue = histLimits.upperBinValue;
335 
336  histName = l1ExtraObject + "_NrObjectsPerEvent";
337  histTitle = l1ExtraObject + ": number of objects per event";
338  xAxisTitle = "Nr_" + l1ExtraObject;
339  yAxisTitle = "Entries";
340 
341  m_monElement.push_back(dbe->book1D(histName, histTitle, histNrBins,
342  histMinValue, histMaxValue));
343  indexHistogram++;
344 
345  m_monElement[indexHistogram]->setAxisTitle(xAxisTitle, 1);
346  m_monElement[indexHistogram]->setAxisTitle(yAxisTitle, 2);
347  m_indexNrObjects = indexHistogram;
348 
349  }
350 
351  // transverse momentum (energy) PT (ET) [GeV]
352 
353 
354  quantity = "ET";
355  std::string quantityLongName = " transverse energy ";
356 
357  if (gtObj == Mu) {
358  quantity = "PT";
359  quantityLongName = " transverse momentum ";
360  }
361 
362  L1GetHistLimits l1GetHistLimits(evSetup);
363  const L1GetHistLimits::L1HistLimits& histLimits =
364  l1GetHistLimits.l1HistLimits(gtObj, quantity);
365 
366  const int histNrBinsET = histLimits.nrBins;
367  const double histMinValueET = histLimits.lowerBinValue;
368  const double histMaxValueET = histLimits.upperBinValue;
369  const std::vector<float>& binThresholdsET = histLimits.binThresholds;
370 
371  float* binThresholdsETf;
372  size_t sizeBinThresholdsET = binThresholdsET.size();
373  binThresholdsETf = new float[sizeBinThresholdsET];
374  copy(binThresholdsET.begin(), binThresholdsET.end(), binThresholdsETf);
375 
376  LogDebug("L1ExtraDQM") << "\n PT/ET histogram for " << l1ExtraObject
377  << "\n histNrBinsET = " << histNrBinsET << "\n histMinValueET = "
378  << histMinValueET << "\n histMaxValueET = " << histMaxValueET
379  << "\n Last bin value represents the upper limit of the histogram"
380  << std::endl;
381  for (size_t iBin = 0; iBin < sizeBinThresholdsET; ++iBin) {
382  LogTrace("L1ExtraDQM") << "Bin " << iBin << ": " << quantity << " = "
383  << binThresholdsETf[iBin] << " GeV" << std::endl;
384 
385  }
386 
387  histName = l1ExtraObject + "_" + quantity;
388  histTitle = l1ExtraObject + ":" + quantityLongName + quantity + " [GeV]";
389  xAxisTitle = l1ExtraObject + "_" + quantity + " [GeV]";
390  yAxisTitle = "Entries";
391 
392  if (gtObj == HfRingEtSums) {
393 
394  indexHistogram++;
395  m_indexHfRingEtSums = indexHistogram;
396 
397  for (int iCount = 0; iCount < l1extra::L1HFRings::kNumRings; ++iCount) {
398 
399  histName = l1ExtraObject + "_Count_" + boost::lexical_cast<
400  std::string>(iCount);
401  histTitle = l1ExtraObject + ": count " + boost::lexical_cast<
402  std::string>(iCount);
403  xAxisTitle = l1ExtraObject;
404  yAxisTitle = "Entries";
405 
406  m_monElement.push_back(dbe->book1D(histName, histTitle,
407  histNrBinsET, binThresholdsETf));
408 
409  m_monElement[m_indexHfRingEtSums + iCount]->setAxisTitle(xAxisTitle,
410  1);
411  m_monElement[m_indexHfRingEtSums + iCount]->setAxisTitle(yAxisTitle,
412  2);
413 
414  }
415 
416  } else {
417 
418  m_monElement.push_back(dbe->book1D(histName, histTitle, histNrBinsET,
419  binThresholdsETf));
420  indexHistogram++;
421 
422  m_monElement[indexHistogram]->setAxisTitle(xAxisTitle, 1);
423  m_monElement[indexHistogram]->setAxisTitle(yAxisTitle, 2);
424  m_indexPt = indexHistogram;
425  m_indexEt = indexHistogram;
426  m_indexEtTotal = indexHistogram;
427  }
428 
429 
430  delete[] binThresholdsETf;
431 
432  //
433 
434  if (bookPhi) {
435 
436  quantity = "phi";
437 
438  // get limits and binning from L1Extra
439  L1GetHistLimits l1GetHistLimits(evSetup);
440  const L1GetHistLimits::L1HistLimits& histLimits =
441  l1GetHistLimits.l1HistLimits(gtObj, quantity);
442 
443  const int histNrBinsPhi = histLimits.nrBins;
444  const double histMinValuePhi = histLimits.lowerBinValue;
445  const double histMaxValuePhi = histLimits.upperBinValue;
446  const std::vector<float>& binThresholdsPhi = histLimits.binThresholds;
447 
448  float* binThresholdsPhif;
449  size_t sizeBinThresholdsPhi = binThresholdsPhi.size();
450  binThresholdsPhif = new float[sizeBinThresholdsPhi];
451  copy(binThresholdsPhi.begin(), binThresholdsPhi.end(),
452  binThresholdsPhif);
453 
454  LogDebug("L1ExtraDQM") << "\n phi histogram for " << l1ExtraObject
455  << "\n histNrBinsPhi = " << histNrBinsPhi
456  << "\n histMinValuePhi = " << histMinValuePhi
457  << "\n histMaxValuePhi = " << histMaxValuePhi
458  << "\n Last bin value represents the upper limit of the histogram"
459  << std::endl;
460  for (size_t iBin = 0; iBin < sizeBinThresholdsPhi; ++iBin) {
461  LogTrace("L1ExtraDQM") << "Bin " << iBin << ": phi = "
462  << binThresholdsPhif[iBin] << " deg" << std::endl;
463 
464  }
465 
466  histName = l1ExtraObject + "_phi";
467  histTitle = l1ExtraObject + ": phi distribution ";
468  xAxisTitle = l1ExtraObject + "_phi [deg]";
469  yAxisTitle = "Entries";
470 
471  m_monElement.push_back(dbe->book1D(histName, histTitle, histNrBinsPhi,
472  histMinValuePhi, histMaxValuePhi));
473  indexHistogram++;
474 
475  m_monElement[indexHistogram]->setAxisTitle(xAxisTitle, 1);
476  m_monElement[indexHistogram]->setAxisTitle(yAxisTitle, 2);
477  m_indexPhi = indexHistogram;
478 
479  delete[] binThresholdsPhif;
480  }
481 
482  //
483 
484 
485  if (bookEta) {
486 
487  quantity = "eta";
488 
489  // get limits and binning from L1Extra
490  L1GetHistLimits l1GetHistLimits(evSetup);
491  const L1GetHistLimits::L1HistLimits& histLimits =
492  l1GetHistLimits.l1HistLimits(gtObj, quantity);
493 
494  const int histNrBinsEta = histLimits.nrBins;
495  const double histMinValueEta = histLimits.lowerBinValue;
496  const double histMaxValueEta = histLimits.upperBinValue;
497  const std::vector<float>& binThresholdsEta = histLimits.binThresholds;
498 
499  //
500  float* binThresholdsEtaf;
501  size_t sizeBinThresholdsEta = binThresholdsEta.size();
502  binThresholdsEtaf = new float[sizeBinThresholdsEta];
503  copy(binThresholdsEta.begin(), binThresholdsEta.end(),
504  binThresholdsEtaf);
505 
506  LogDebug("L1ExtraDQM") << "\n eta histogram for " << l1ExtraObject
507  << "\n histNrBinsEta = " << histNrBinsEta
508  << "\n histMinValueEta = " << histMinValueEta
509  << "\n histMaxValueEta = " << histMaxValueEta
510  << "\n Last bin value represents the upper limit of the histogram"
511  << std::endl;
512  for (size_t iBin = 0; iBin < sizeBinThresholdsEta; ++iBin) {
513  LogTrace("L1ExtraDQM") << "Bin " << iBin << ": eta = "
514  << binThresholdsEtaf[iBin] << std::endl;
515 
516  }
517 
518  histName = l1ExtraObject + "_eta";
519  histTitle = l1ExtraObject + ": eta distribution ";
520  xAxisTitle = l1ExtraObject + "_eta";
521  yAxisTitle = "Entries";
522 
523  m_monElement.push_back(dbe->book1D(histName, histTitle, histNrBinsEta,
524  binThresholdsEtaf));
525  indexHistogram++;
526 
527  m_monElement[indexHistogram]->setAxisTitle(xAxisTitle, 1);
528  m_monElement[indexHistogram]->setAxisTitle(yAxisTitle, 2);
529  m_indexEta = indexHistogram;
530 
531  delete[] binThresholdsEtaf;
532 
533  }
534 
535 }
#define LogDebug(id)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
#define LogTrace(id)
std::vector< float > binThresholds
Definition: L1GtObject.h:32
int m_indexNrObjects
histogram index for each quantity, set during histogram booking
Definition: L1ExtraDQM.h:141
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillCharge ( const CollectionType *  collType,
const bool  validColl,
const bool  isL1Coll,
const int  bxInEvent 
)

fill charge

Definition at line 633 of file L1ExtraDQM.h.

634  {
635 
636  if (validColl) {
637  for (CIterColl iterColl = collType->begin(); iterColl
638  != collType->end(); ++iterColl) {
639 
640  if (isL1Coll && (iterColl->bx() != bxInEvent)) {
641  continue;
642  }
643 
644  m_monElement[m_indexCharge]->Fill(iterColl->charge());
645  }
646  }
647 
648 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillEtPhiEta ( const CollectionType *  collType,
const bool  validColl,
const bool  bookPhi,
const bool  bookEta,
const bool  isL1Coll,
const int  bxInEvent 
)

ET, eta, phi.

Definition at line 587 of file L1ExtraDQM.h.

References alignCSCRings::e, and rad2deg().

589  {
590 
591  if (validColl) {
592  for (CIterColl iterColl = collType->begin(); iterColl
593  != collType->end(); ++iterColl) {
594 
595  if (isL1Coll && (iterColl->bx() != bxInEvent)) {
596  continue;
597  }
598 
599  m_monElement[m_indexEt]->Fill(iterColl->et());
600 
601  if (bookPhi) {
602  // add a very small quantity to get off the bin edge
603  m_monElement[m_indexPhi]->Fill(rad2deg(iterColl->phi()) + 1.e-6);
604  }
605 
606  if (bookEta) {
607  m_monElement[m_indexEta]->Fill(iterColl->eta());
608  }
609 
610  }
611  }
612 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
const double rad2deg(const double &)
convert phi from rad (-pi, pi] to deg (0, 360)
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillEtTotal ( const CollectionType *  collType,
const bool  validColl,
const bool  isL1Coll,
const int  bxInEvent 
)

fill ET total in energy sums

Definition at line 615 of file L1ExtraDQM.h.

616  {
617 
618  if (validColl) {
619  for (CIterColl iterColl = collType->begin(); iterColl
620  != collType->end(); ++iterColl) {
621 
622  if (isL1Coll && (iterColl->bx() != bxInEvent)) {
623  continue;
624  }
625 
626  m_monElement[m_indexEtTotal]->Fill(iterColl->etTotal());
627  }
628  }
629 
630 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillHfBitCounts ( const CollectionType *  collType,
const bool  validColl,
const int  countIndex,
const bool  isL1Coll,
const int  bxInEvent 
)

fill bit counts in HFRings collections

Definition at line 651 of file L1ExtraDQM.h.

653  {
654 
655  if (validColl) {
656  for (CIterColl iterColl = collType->begin(); iterColl
657  != collType->end(); ++iterColl) {
658 
659  if (isL1Coll && (iterColl->bx() != bxInEvent)) {
660  continue;
661  }
662 
663  m_monElement[m_indexHfBitCounts + countIndex]->Fill(
664  iterColl->hfBitCount(
665  (l1extra::L1HFRings::HFRingLabels) countIndex));
666  }
667  }
668 
669 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillHfRingEtSums ( const CollectionType *  collType,
const bool  validColl,
const int  countIndex,
const bool  isL1Coll,
const int  bxInEvent 
)

fill energy sums in HFRings collections

Definition at line 672 of file L1ExtraDQM.h.

674  {
675 
676  if (validColl) {
677  for (CIterColl iterColl = collType->begin(); iterColl
678  != collType->end(); ++iterColl) {
679 
680  if (isL1Coll && (iterColl->bx() != bxInEvent)) {
681  continue;
682  }
683 
684  m_monElement[m_indexHfRingEtSums + countIndex]->Fill(
685  iterColl->hfEtSum(
686  (l1extra::L1HFRings::HFRingLabels) countIndex));
687  }
688  }
689 
690 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillNrObjects ( const CollectionType *  collType,
const bool  validColl,
const bool  isL1Coll,
const int  bxInEvent 
)

number of objects

Definition at line 538 of file L1ExtraDQM.h.

540  {
541 
542  if (validColl && isL1Coll) {
543  size_t collSize = 0;
544  for (CIterColl iterColl = collType->begin(); iterColl
545  != collType->end(); ++iterColl) {
546 
547  if (iterColl->bx() == bxInEvent) {
548  collSize++;
549  }
550  }
551  m_monElement[m_indexNrObjects]->Fill(collSize);
552  } else {
553  size_t collSize = collType->size();
554  m_monElement[m_indexNrObjects]->Fill(collSize);
555  }
556 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
int m_indexNrObjects
histogram index for each quantity, set during histogram booking
Definition: L1ExtraDQM.h:141
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138
template<class CollectionType >
void L1ExtraDQM::L1ExtraMonElement< CollectionType >::fillPtPhiEta ( const CollectionType *  collType,
const bool  validColl,
const bool  bookPhi,
const bool  bookEta,
const bool  isL1Coll,
const int  bxInEvent 
)

PT, eta, phi.

Definition at line 559 of file L1ExtraDQM.h.

References alignCSCRings::e, and rad2deg().

561  {
562 
563  if (validColl) {
564  for (CIterColl iterColl = collType->begin(); iterColl
565  != collType->end(); ++iterColl) {
566 
567  if (isL1Coll && (iterColl->bx() != bxInEvent)) {
568  continue;
569  }
570 
571  m_monElement[m_indexPt]->Fill(iterColl->pt());
572 
573  if (bookPhi) {
574  // add a very small quantity to get off the bin edge
575  m_monElement[m_indexPhi]->Fill(rad2deg(iterColl->phi()) + 1.e-6);
576  }
577 
578  if (bookEta) {
579  m_monElement[m_indexEta]->Fill(iterColl->eta());
580  }
581 
582  }
583  }
584 }
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:97
const double rad2deg(const double &)
convert phi from rad (-pi, pi] to deg (0, 360)
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:138

Member Data Documentation

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexCharge
private

Definition at line 147 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexEt
private

Definition at line 143 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexEta
private

Definition at line 145 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexEtTotal
private

Definition at line 146 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexHfBitCounts
private

Definition at line 148 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexHfRingEtSums
private

Definition at line 149 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexNrObjects
private

histogram index for each quantity, set during histogram booking

Definition at line 141 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexPhi
private

Definition at line 144 of file L1ExtraDQM.h.

template<class CollectionType >
int L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_indexPt
private

Definition at line 142 of file L1ExtraDQM.h.

template<class CollectionType >
std::vector<MonitorElement*> L1ExtraDQM::L1ExtraMonElement< CollectionType >::m_monElement
private