CMS 3D CMS Logo

TPTask.cc
Go to the documentation of this file.
2 #include "DQM/L1TMonitor/interface/L1TStage2CaloLayer1.h" // For ComparisonHelper::zip
3 
4 using namespace hcaldqm;
5 using namespace hcaldqm::constants;
7  : DQTask(ps), hcalDbServiceToken_(esConsumes<HcalDbService, HcalDbRecord, edm::Transition::BeginRun>()) {
8  _tagData = ps.getUntrackedParameter<edm::InputTag>("tagData", edm::InputTag("hcalDigis"));
9  _tagDataL1Rec = ps.getUntrackedParameter<edm::InputTag>("tagDataL1Rec", edm::InputTag("caloLayer1Digis"));
10  _tagEmul = ps.getUntrackedParameter<edm::InputTag>("tagEmul", edm::InputTag("emulDigis"));
11  _tagEmulNoTDCCut = ps.getUntrackedParameter<edm::InputTag>("tagEmulNoTDCCut", edm::InputTag("emulTPDigisNoTDCCut"));
12 
13  _tokData = consumes<HcalTrigPrimDigiCollection>(_tagData);
14  _tokDataL1Rec = consumes<HcalTrigPrimDigiCollection>(_tagDataL1Rec);
15  _tokEmul = consumes<HcalTrigPrimDigiCollection>(_tagEmul);
16  _tokEmulNoTDCCut = consumes<HcalTrigPrimDigiCollection>(_tagEmulNoTDCCut);
17 
18  _skip1x1 = ps.getUntrackedParameter<bool>("skip1x1", true);
19  _cutEt = ps.getUntrackedParameter<int>("cutEt", 3);
20  _thresh_EtMsmRate_high = ps.getUntrackedParameter<double>("thresh_EtMsmRate_high", 0.2);
21  _thresh_EtMsmRate_low = ps.getUntrackedParameter<double>("thresh_EtMsmRate_low", 0.05);
22  _thresh_FGMsmRate_high = ps.getUntrackedParameter<double>("thresh_FGMsmRate", 0.2);
23  _thresh_FGMsmRate_low = ps.getUntrackedParameter<double>("thresh_FGMsmRate_low", 0.05);
24  _thresh_DataMsn = ps.getUntrackedParameter<double>("thresh_DataMsn", 0.1);
25  _thresh_EmulMsn = ps.getUntrackedParameter<double>("thresh_EmulMsn");
26  std::vector<int> tmp = ps.getUntrackedParameter<std::vector<int> >("vFGBitsReady");
27  for (uint32_t iii = 0; iii < constants::NUM_FGBITS; iii++)
28  _vFGBitsReady.push_back(tmp[iii]);
29 
30  _vflags.resize(nTPFlag);
31  _vflags[fEtMsm] = flag::Flag("EtMsm");
32  _vflags[fDataMsn] = flag::Flag("DataMsn");
33  _vflags[fEmulMsn] = flag::Flag("EmulMsn");
34  _vflags[fUnknownIds] = flag::Flag("UnknownIds");
35  if (_ptype == fOnline) {
36  _vflags[fSentRecL1Msm] = flag::Flag("uHTR-L1TMsm");
37  }
38 }
39 
40 /* virtual */ void TPTask::bookHistograms(DQMStore::IBooker& ib, edm::Run const& r, edm::EventSetup const& es) {
42 
43  // GET WHAT YOU NEED
45  _emap = dbs->getHcalMapping();
46  std::vector<uint32_t> vVME;
47  std::vector<uint32_t> vuTCA;
48  std::vector<uint32_t> depth0;
50  vuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
53  depth0.push_back(HcalTrigTowerDetId(1, 1, 0).rawId());
55 
56  // INITIALIZE FIRST
57  // Et/FG
59  "EtData",
63  0);
65  "EtEmul",
69  0);
71  "EtCorr_xTS",
76  0);
78  "EtCorr",
83  0);
84  for (uint8_t iii = 0; iii < constants::NUM_FGBITS; iii++) {
86  "FGCorr",
91  0);
92  }
93 
95  "EtData",
99  0);
101  "EtEmul",
105  0);
107  "EtCutData",
111  0);
113  "EtCutEmul",
117  0);
118 
119  // Occupancy
121  "OccupancyData",
125  0);
127  "OccupancyEmul",
131  0);
133  "OccupancyCutData",
137  0);
139  "OccupancyCutEmul",
143  0);
144 
145  // Mismatches
147  "EtMsm",
151  0);
153  "FGMsm",
157  0);
158 
159  if (_ptype == fOnline) {
160  // Mismatches: sent vs received
162  "EtMsm_uHTR_L1T",
166  0);
168  "EtMsm_uHTR_L1T_LS",
171  0);
172  }
173 
174  // Missing Data w.r.t. Emulator
176  "MsnData",
180  0);
182  "MsnEmul",
186  0);
187 
189  "EtCorrRatio",
193  0);
194 
196  "OccupancyDatavsBX",
200  0);
202  "OccupancyEmulvsBX",
206  0);
208  "OccupancyCutDatavsBX",
212  0);
214  "OccupancyCutEmulvsBX",
218  0);
219 
220  // INITIALIZE HISTOGRAMS to be used in Online only!
221  if (_ptype == fOnline) {
223  "EtCorr2x3",
228  0);
230  "OccupancyData2x3",
234  0);
236  "OccupancyEmul2x3",
240  0);
242  "EtCutDatavsLS",
246  0);
248  "EtCutEmulvsLS",
252  0);
254  "EtCutDatavsBX",
258  0);
260  "EtCutEmulvsBX",
264  0);
266  "EtCorrRatiovsLS",
270  0);
272  "EtCorrRatiovsBX",
276  0);
278  "EtMsmRatiovsLS",
282  0);
284  "EtMsmRatiovsBX",
288  0);
290  "EtMsmvsLS",
294  0);
296  "EtMsmvsBX",
300  0);
302  "MsnDatavsLS",
306  0);
308  "MsnCutDatavsLS",
312  0);
314  "MsnDatavsBX",
318  0);
320  "MsnCutDatavsBX",
324  0);
326  "MsnEmulvsLS",
330  0);
332  "MsnCutEmulvsLS",
336  0);
338  "MsnEmulvsBX",
342  0);
344  "MsnCutEmulvsBX",
348  0);
350  "OccupancyDatavsLS",
354  0);
356  "OccupancyCutDatavsLS",
360  0);
362  "OccupancyDatavsBX",
366  0);
368  "OccupancyCutDatavsBX",
372  0);
374  "OccupancyEmulvsLS",
378  0);
380  "OccupancyCutEmulvsLS",
384  0);
386  "OccupancyEmulvsBX",
390  0);
392  "OccupancyCutEmulvsBX",
396  0);
397 
399  "OccupancyDataHF_depth",
403  0);
405  "OccupancyEmulHFNoTDC_depth",
409  0);
411  "OccupancyDataHF_ieta",
414  0),
416  "OccupancyEmulHFNoTDC_ieta",
419  0);
420  }
421 
422  // FED-based containers
423  if (_ptype != fOffline) { // hidefed2crate
424  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
425  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
426  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
427  // push the rawIds of each fed into the vector
428  // this vector is used at endlumi for online state generation
429  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it) {
431  }
432  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
433  std::pair<uint16_t, uint16_t> cspair = hcaldqm::utilities::fed2crate(*it);
434  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
435  }
437  "EtData",
439  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
442  0);
444  "EtEmul",
446  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
449  0);
450  // Occupancies
452  "OccupancyData",
454  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
457  0);
459  "OccupancyEmul",
461  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
464  0);
465 
467  _name,
468  "OccupancyCutData",
470  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
473  0);
475  _name,
476  "OccupancyCutEmul",
478  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
481  0);
482  // Mismatches
484  "EtMsm",
486  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
489  0);
491  "FGMsm",
493  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
496  0);
497 
498  // Missing Data w.r.t. Emulator
500  "MsnData",
502  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
505  0);
507  "MsnEmul",
509  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
512  0);
514  "EtCorrRatio",
516  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
519  0);
520  if (_ptype == fOnline) {
522  "SummaryvsLS",
527  0);
529  "SummaryvsLS",
533  0);
534 
543  }
544  }
545 
546  // BOOK HISTOGRAMS
547  char aux[20];
548  for (unsigned int iii = 0; iii < constants::NUM_FGBITS; iii++) {
549  sprintf(aux, "BIT%d", iii);
551  }
556  if (_ptype != fOffline) { // hidefed2crate
559  }
564  if (_ptype != fOffline) { // hidefed2crate
569  }
574 
580 
581  if (_ptype == fOnline) {
584  }
585 
586  if (_ptype != fOffline) { // hidefed2crate
592  }
593 
594  // whatever has to go online only goes here
595  if (_ptype == fOnline) {
627 
628  _xEtMsm.book(_emap);
629  _xFGMsm.book(_emap);
636 
641  }
642 
643  // initialize the hash map
645 
646  // book the flag for unknown ids and the online guy as well
647  ib.setCurrentFolder(_subsystem + "/" + _name);
648  auto scope = DQMStore::IBooker::UseLumiScope(ib);
649  meUnknownIds1LS = ib.book1DD("UnknownIds", "UnknownIds", 1, 0, 1);
650  _unknownIdsPresent = false;
651 }
652 
654  DQTask::_resetMonitors(uf);
655  switch (uf) {
656  case hcaldqm::f1LS:
657  _unknownIdsPresent = false;
658  break;
659  default:
660  break;
661  }
662 }
663 
664 /* virtual */ void TPTask::_process(edm::Event const& e, edm::EventSetup const&) {
669  if (!e.getByToken(_tokData, cdata))
670  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagData.label() + " " +
671  _tagData.instance());
672  if (_ptype == fOnline) {
673  if (!e.getByToken(_tokDataL1Rec, cdataL1Rec))
674  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagDataL1Rec.label() + " " +
676  }
677  if (!e.getByToken(_tokEmul, cemul))
678  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagEmul.label() + " " +
679  _tagEmul.instance());
680  if (_ptype == fOnline) {
681  if (!e.getByToken(_tokEmulNoTDCCut, cemul_noTDCCut)) {
682  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagEmulNoTDCCut.label() + " " +
684  }
685  }
686 
687  // extract some info per event
688  int bx = e.bunchCrossing();
689 
690  auto lumiCache = luminosityBlockCache(e.getLuminosityBlock().index());
691  _currentLS = lumiCache->currentLS;
692 
693  // some summaries... per event
694  int numHBHE(0), numHF(0), numCutHBHE(0), numCutHF(0);
695  int numCorrHBHE(0), numCorrHF(0);
696  int numMsmHBHE(0), numMsmHF(0);
697  int numMsnHBHE(0), numMsnHF(0), numMsnCutHBHE(0), numMsnCutHF(0);
698 
699  // for explanation see RecHit or Digi Tasks
700  uint32_t rawidHBHEValid = 0;
701  uint32_t rawidHFValid = 0;
702 
703  /*
704  * STEP1:
705  * Loop over the data digis and
706  * - do ... for all the data digis
707  * - find the emulator digi
708  * --- compare soi Et
709  * --- compare soi FG
710  * --- Do not fill anything for emulator Et!!!
711  */
712  for (HcalTrigPrimDigiCollection::const_iterator it = cdata->begin(); it != cdata->end(); ++it) {
713  // Explicit check on the DetIds present in the Collection
714  HcalTrigTowerDetId tid = it->id();
715  uint32_t rawid = _ehashmap.lookup(tid);
716  if (rawid == 0) {
717  meUnknownIds1LS->Fill(1);
718  _unknownIdsPresent = true;
719  continue;
720  }
721  HcalElectronicsId const& eid(rawid);
722  if (tid.ietaAbs() >= 29)
723  rawidHFValid = tid.rawId();
724  else
725  rawidHBHEValid = tid.rawId();
726 
727  //
728  // HF 2x3 TPs Treat theam separately and only for ONLINE!
729  //
730  if (tid.version() == 0 && tid.ietaAbs() >= 29) {
731  // do this only for online processing
732  if (_ptype == fOnline) {
735  if (jt != cemul->end())
736  _cEtCorr2x3_TTSubdet.fill(tid, it->SOI_compressedEt(), jt->SOI_compressedEt());
737  }
738 
739  // skip to the next tp digi
740  continue;
741  }
742 
743  // FROM THIS POINT, HBHE + 1x1 HF TPs
744  int soiEt_d = it->t0().compressedEt();
745  int soiFG_d[constants::NUM_FGBITS];
746  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
747  soiFG_d[ibit] = it->t0().fineGrain(ibit) ? 1 : 0;
748  tid.ietaAbs() >= 29 ? numHF++ : numHBHE++;
749 
750  // fill w/o a cut
751  _cEtData_TTSubdet.fill(tid, soiEt_d);
752  _cEtData_depthlike.fill(tid, soiEt_d);
754 
755  if (_ptype == fOnline) {
756  if (tid.ietaAbs() >= 29) {
757  if (soiEt_d > 0) {
760  }
761  }
762  }
763  if (_ptype != fOffline) { // hidefed2crate
764  if (!eid.isVMEid()) {
767  }
768  }
769 
770  // FILL w/a CUT
771  if (soiEt_d > _cutEt) {
772  tid.ietaAbs() >= 29 ? numCutHF++ : numCutHBHE++;
774  _cEtCutData_depthlike.fill(tid, soiEt_d);
775 
776  // ONLINE ONLY!
777  if (_ptype == fOnline) {
779  _cEtCutDatavsBX_TTSubdet.fill(tid, bx, soiEt_d);
780  _xDataTotal.get(eid)++;
781  }
782  // ^^^ONLINE ONLY!
783  if (_ptype != fOffline) { // hidefed2crate
784  if (!eid.isVMEid())
786  }
787  }
788 
789  // FIND the EMULATOR DIGI
791  if (jt != cemul->end()) {
792  // if PRESENT!
793  int soiEt_e = jt->SOI_compressedEt();
794  int soiFG_e[constants::NUM_FGBITS];
795  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
796  soiFG_e[ibit] = jt->t0().fineGrain(ibit) ? 1 : 0;
797  // if both are zeroes => set 1
798  double rEt =
799  soiEt_d == 0 && soiEt_e == 0 ? 1 : double(std::min(soiEt_d, soiEt_e)) / double(std::max(soiEt_e, soiEt_d));
800 
801  // ONLINE ONLY!
802  if (_ptype == fOnline) {
803  _xNumCorr.get(eid)++;
804  tid.ietaAbs() >= 29 ? numCorrHF++ : numCorrHBHE++;
807  }
808  // ^^^ONLINE ONLY!
809 
810  _cEtCorrRatio_depthlike.fill(tid, rEt);
811  _cSOIEtCorr_TTSubdet.fill(tid, eid, soiEt_d, soiEt_e);
812  for (int ci = 0; ci < 4; ci++) {
813  for (int cj = 0; cj < 4; cj++) {
814  if (ci < it->size() && cj < jt->size()) {
815  if ((ci == cj) || (it->sample(ci).compressedEt() > 0 && jt->sample(cj).compressedEt() > 0)) {
817  tid, eid, 256 * ci + it->sample(ci).compressedEt(), 256 * cj + jt->sample(cj).compressedEt());
818  }
819  }
820  }
821  }
822  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
823  _cFGCorr_TTSubdet[ibit].fill(tid, soiFG_d[ibit], soiFG_e[ibit]);
824  // FILL w/o a CUT
825  if (_ptype != fOffline) { // hidefed2crate
826  if (!eid.isVMEid())
828  }
829 
830  // if SOI Et are not equal
831  // fill mismatched
832  if (soiEt_d != soiEt_e) {
833  tid.ietaAbs() >= 29 ? numMsmHF++ : numMsmHBHE++;
834  _cEtMsm_depthlike.fill(tid);
835  if (_ptype != fOffline) { // hidefed2crate
836  if (!eid.isVMEid())
838  }
839  if (_ptype == fOnline)
840  _xEtMsm.get(eid)++;
841  }
842  // if SOI FG are not equal
843  // fill mismatched.
844  // Do this comparison only for FG Bits that are commissioned
845  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
846  if (soiFG_d[ibit] != soiFG_e[ibit] && _vFGBitsReady[ibit]) {
847  _cFGMsm_depthlike.fill(tid);
848  if (_ptype != fOffline) { // hidefed2crate
849  if (!eid.isVMEid())
851  }
852  if (_ptype == fOnline)
853  _xFGMsm.get(eid)++;
854  }
855  } else {
856  // IF MISSING
857  _cEtCorr_TTSubdet.fill(tid, eid, soiEt_d, -1);
858  _cSOIEtCorr_TTSubdet.fill(tid, eid, soiEt_d, -1);
860  tid.ietaAbs() >= 29 ? numMsnHF++ : numMsnHBHE++;
861  if (_ptype != fOffline) { // hidefed2crate
862  if (!eid.isVMEid())
864  }
865 
866  if (soiEt_d > _cutEt) {
867  tid.ietaAbs() >= 29 ? numMsnCutHF++ : numMsnCutHBHE++;
868  if (_ptype == fOnline)
869  _xEmulMsn.get(eid)++;
870  }
871  }
872  }
873 
874  if (_ptype == fOnline) {
875  for (HcalTrigPrimDigiCollection::const_iterator it = cemul_noTDCCut->begin(); it != cemul_noTDCCut->end(); ++it) {
876  // Explicit check on the DetIds present in the Collection
877  HcalTrigTowerDetId tid = it->id();
878  uint32_t rawid = _ehashmap.lookup(tid);
879  if (rawid == 0) {
880  continue;
881  }
882  if (tid.version() == 0 && tid.ietaAbs() >= 29) {
883  continue;
884  }
885  int soiEt_e = it->SOI_compressedEt();
886  if (tid.ietaAbs() >= 29) {
887  if (soiEt_e > 0) {
890  }
891  }
892  }
893  }
894 
895  if (rawidHFValid != 0 && rawidHBHEValid != 0) {
896  // ONLINE ONLY!
897  if (_ptype == fOnline) {
898  _cOccupancyDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numHBHE);
900  _cOccupancyCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numCutHBHE);
901  _cOccupancyCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numCutHF);
906 
907  _cEtMsmvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsmHBHE);
908  _cEtMsmvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsmHF);
909  _cEtMsmvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsmHBHE);
910  _cEtMsmvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsmHF);
911 
913  HcalTrigTowerDetId(rawidHBHEValid), _currentLS, double(numMsmHBHE) / double(numCorrHBHE));
915  HcalTrigTowerDetId(rawidHFValid), _currentLS, double(numMsmHF) / double(numCorrHF));
916  _cEtMsmRatiovsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, double(numMsmHBHE) / double(numCorrHBHE));
917  _cEtMsmRatiovsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, double(numMsmHF) / double(numCorrHF));
918 
919  _cMsnEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnHBHE);
920  _cMsnEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnHF);
921  _cMsnCutEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnCutHBHE);
922  _cMsnCutEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnCutHF);
923 
924  _cMsnEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnHBHE);
925  _cMsnEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnHF);
926  _cMsnCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnCutHBHE);
927  _cMsnCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnCutHF);
928  }
929  }
930 
931  numHBHE = 0;
932  numHF = 0;
933  numCutHBHE = 0;
934  numCutHF = 0;
935  numMsnHBHE = 0;
936  numMsnHF = 0;
937  numCutHBHE = 0;
938  numCutHF = 0;
939 
940  // reset
941  rawidHBHEValid = 0;
942  rawidHFValid = 0;
943 
944  /*
945  * STEP2:
946  * Loop over the emulator digis and
947  * - do ... for all the emulator digis
948  * - find data digi and
949  * --- if found skip
950  * --- if not found - fill the missing Data plot
951  */
952  for (HcalTrigPrimDigiCollection::const_iterator it = cemul->begin(); it != cemul->end(); ++it) {
953  // Explicit check on the DetIds present in the Collection
954  HcalTrigTowerDetId tid = it->id();
955  uint32_t rawid = _ehashmap.lookup(tid);
956  if (rawid == 0) {
957  meUnknownIds1LS->Fill(1);
958  _unknownIdsPresent = true;
959  continue;
960  }
961  HcalElectronicsId const& eid(rawid);
962  if (tid.ietaAbs() >= 29)
963  rawidHFValid = tid.rawId();
964  else
965  rawidHBHEValid = tid.rawId();
966 
967  // HF 2x3 TPs. Only do it for Online!!!
968  if (tid.version() == 0 && tid.ietaAbs() >= 29) {
969  // only do this for online processing
970  if (_ptype == fOnline)
972  continue;
973  }
974  int soiEt = it->SOI_compressedEt();
975 
976  // FILL/INCREMENT w/o a CUT
977  tid.ietaAbs() >= 29 ? numHF++ : numHBHE++;
978  _cEtEmul_TTSubdet.fill(tid, soiEt);
979  _cEtEmul_depthlike.fill(tid, soiEt);
981  if (_ptype != fOffline) { // hidefed2crate
982  if (!eid.isVMEid()) {
985  }
986  }
987 
988  // FILL w/ a CUT
989  if (soiEt > _cutEt) {
990  tid.ietaAbs() >= 29 ? numCutHF++ : numCutHBHE++;
992  _cEtCutEmul_depthlike.fill(tid, soiEt);
993  if (_ptype != fOffline) { // hidefed2crate
994  if (!eid.isVMEid())
996  }
997 
998  // ONLINE ONLY!
999  if (_ptype == fOnline) {
1001  _cEtCutEmulvsBX_TTSubdet.fill(tid, bx, soiEt);
1002  _xEmulTotal.get(eid)++;
1003  }
1004  // ^^^ONLINE ONLY!
1005  }
1006 
1007  // Look for a data digi.
1008  // Do not perform if the emulated digi is zero suppressed.
1009  if (!(it->zsMarkAndPass())) {
1011  if (jt == cdata->end()) {
1012  tid.ietaAbs() >= 29 ? numMsnHF++ : numMsnHBHE++;
1013  _cEtCorr_TTSubdet.fill(tid, eid, -1, soiEt);
1014  _cSOIEtCorr_TTSubdet.fill(tid, eid, -1, soiEt);
1016  if (_ptype != fOffline) { // hidefed2crate
1017  if (!eid.isVMEid())
1019  }
1020  if (soiEt > _cutEt) {
1021  tid.ietaAbs() >= 29 ? numMsnCutHF++ : numMsnCutHBHE++;
1022  if (_ptype == fOnline)
1023  _xDataMsn.get(eid)++;
1024  }
1025  }
1026  }
1027  }
1028 
1029  // ONLINE ONLY!
1030  if (_ptype == fOnline) {
1031  if (rawidHBHEValid != 0) {
1032  _cOccupancyEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numHBHE);
1033  _cOccupancyCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numCutHBHE);
1035  _cOccupancyCutEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numCutHBHE);
1036  _cMsnDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnHBHE);
1037  _cMsnCutDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnCutHBHE);
1038  _cMsnDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnHBHE);
1039  _cMsnCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnCutHBHE);
1040  }
1041  if (rawidHFValid != 0) {
1042  _cOccupancyEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numHF);
1043  _cOccupancyCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numCutHF);
1046  _cMsnDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnHF);
1047  _cMsnCutDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnCutHF);
1048  _cMsnDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnHF);
1049  _cMsnCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnCutHF);
1050  }
1051  // ^^^ONLINE ONLY!
1052  }
1053 
1054  if (_ptype == fOnline) {
1055  // Compare the sent ("uHTR") and received (L1T "layer1") TPs
1056  // This algorithm is copied from DQM/L1TMonitor/src/L1TStage2CaloLayer1.cc
1057  // ...but it turns out to be extremely useful for detecting uHTR problems
1058  _vTPDigis_SentRec.clear();
1059  ComparisonHelper::zip(cdata->begin(),
1060  cdata->end(),
1061  cdataL1Rec->begin(),
1062  cdataL1Rec->end(),
1063  std::inserter(_vTPDigis_SentRec, _vTPDigis_SentRec.begin()),
1065 
1066  for (const auto& tpPair : _vTPDigis_SentRec) {
1067  // From here, literal copy pasta from L1T
1068  const auto& sentTp = tpPair.first;
1069  const auto& recdTp = tpPair.second;
1070  const int ieta = sentTp.id().ieta();
1071  if (abs(ieta) > 28 && sentTp.id().version() != 1)
1072  continue;
1073  //const int iphi = sentTp.id().iphi();
1074  const bool towerMasked = recdTp.sample(0).raw() & (1 << 13);
1075  //const bool linkMasked = recdTp.sample(0).raw() & (1<<14);
1076  const bool linkError = recdTp.sample(0).raw() & (1 << 15);
1077 
1078  if (towerMasked || linkError) {
1079  // Do not compare if known to be bad
1080  continue;
1081  }
1082  const bool HetAgreement = sentTp.SOI_compressedEt() == recdTp.SOI_compressedEt();
1083  const bool Hfb1Agreement = sentTp.SOI_fineGrain() == recdTp.SOI_fineGrain();
1084  // Ignore minBias (FB2) bit if we receieve 0 ET, which means it is likely zero-suppressed on HCal readout side
1085  const bool Hfb2Agreement =
1086  (abs(ieta) < 29) ? true
1087  : (recdTp.SOI_compressedEt() == 0 || (sentTp.SOI_fineGrain(1) == recdTp.SOI_fineGrain(1)));
1088  if (!(HetAgreement && Hfb1Agreement && Hfb2Agreement)) {
1089  HcalTrigTowerDetId tid = sentTp.id();
1090  uint32_t rawid = _ehashmap.lookup(tid);
1091  if (rawid == 0) {
1092  continue;
1093  }
1094  HcalElectronicsId const& eid(rawid);
1095 
1098  _xSentRecL1Msm.get(eid)++;
1099  }
1100  }
1101  }
1102 }
1103 
1104 std::shared_ptr<hcaldqm::Cache> TPTask::globalBeginLuminosityBlock(edm::LuminosityBlock const& lb,
1105  edm::EventSetup const& es) const {
1106  return DQTask::globalBeginLuminosityBlock(lb, es);
1107 }
1108 
1110  if (_ptype != fOnline)
1111  return;
1112 
1113  auto lumiCache = luminosityBlockCache(lb.index());
1114  _currentLS = lumiCache->currentLS;
1115 
1116  //
1117  // GENERATE STATUS ONLY FOR ONLINE!
1118  //
1119  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
1120  flag::Flag fSum("TP");
1122 
1123  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
1124  if (cit == _vcdaqEids.end()) {
1125  // not @cDAQ
1126  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
1129  continue;
1130  }
1131 
1133  // FED is @cDAQ
1134  double etmsm = _xNumCorr.get(eid) > 0 ? double(_xEtMsm.get(eid)) / double(_xNumCorr.get(eid)) : 0;
1135  /*
1136  * UNUSED VARS
1137  * double dmsm = _xDataTotal.get(eid)>0?
1138  double(_xDataMsn.get(eid))/double(_xDataTotal.get(eid)):0;
1139  double emsm = _xEmulTotal.get(eid)>0?
1140  double(_xEmulMsn.get(eid))/double(_xEmulTotal.get(eid)):0;
1141  double fgmsm = _xNumCorr.get(eid)>0?
1142  double(_xFGMsm.get(eid))/double(_xNumCorr.get(eid)):0;
1143  */
1144  if (etmsm >= _thresh_EtMsmRate_high)
1145  _vflags[fEtMsm]._state = flag::fBAD;
1146  else if (etmsm >= _thresh_EtMsmRate_low)
1147  _vflags[fEtMsm]._state = flag::fPROBLEMATIC;
1148  else
1149  _vflags[fEtMsm]._state = flag::fGOOD;
1150  /*
1151  * DISABLE THESE FLAGS FOR ONLINE FOR NOW!
1152  if (dmsm>=_thresh_DataMsn)
1153  _vflags[fDataMsn]._state = flag::fBAD;
1154  else
1155  _vflags[fDataMsn]._state = flag::fGOOD;
1156  if (emsm>=_thresh_EmulMsn)
1157  _vflags[fEmulMsn]._state = flag::fBAD;
1158  else
1159  _vflags[fEmulMsn]._state = flag::fGOOD;
1160  */
1161 
1162  if (_ptype == fOnline) {
1163  if (_xSentRecL1Msm.get(eid) >= 1) {
1164  _vflags[fSentRecL1Msm]._state = flag::fBAD;
1165  } else {
1166  _vflags[fSentRecL1Msm]._state = flag::fGOOD;
1167  }
1168  }
1169  }
1170 
1171  if (_unknownIdsPresent)
1172  _vflags[fUnknownIds]._state = flag::fBAD;
1173  else
1174  _vflags[fUnknownIds]._state = flag::fGOOD;
1175 
1176  int iflag = 0;
1177  for (std::vector<flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
1178  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), ft->_state);
1179  fSum += (*ft);
1180  iflag++;
1181 
1182  // this is the MUST!
1183  // reset after using this flag
1184  ft->reset();
1185  }
1187  }
1188 
1189  // reset...
1190  _xEtMsm.reset();
1191  _xFGMsm.reset();
1192  _xNumCorr.reset();
1193  _xDataMsn.reset();
1194  _xDataTotal.reset();
1195  _xEmulMsn.reset();
1196  _xEmulTotal.reset();
1197 
1198  // in the end always do the DQTask::endLumi
1199  DQTask::globalEndLuminosityBlock(lb, es);
1200 }
1201 
hcaldqm::flag::Flag
Definition: Flag.h:24
hcaldqm::quantity::FEDQuantity
Definition: ElectronicsQuantity.h:356
hcaldqm::constants::FED_VME_MIN
const int FED_VME_MIN
Definition: Constants.h:82
TPTask::_cFGMsm_depthlike
hcaldqm::ContainerSingle2D _cFGMsm_depthlike
Definition: TPTask.h:116
hcaldqm::ContainerXXX::initialize
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
TPTask::meUnknownIds1LS
MonitorElement * meUnknownIds1LS
Definition: TPTask.h:153
hcaldqm::flag::Flag::_state
State _state
Definition: Flag.h:62
hcaldqm::constants
Definition: Constants.h:9
hcaldqm::quantity::fRatio_0to2
Definition: ValueQuantity.h:39
TPTask::_tagEmul
edm::InputTag _tagEmul
Definition: TPTask.h:38
hcaldqm::Container2D::initialize
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:25
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
TPTask::_cOccupancyCutData_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyCutData_ElectronicsuTCA
Definition: TPTask.h:99
hcaldqm::UpdateFreq
UpdateFreq
Definition: DQTask.h:32
TPTask::_cEtCutEmul_depthlike
hcaldqm::ContainerSingleProf2D _cEtCutEmul_depthlike
Definition: TPTask.h:87
TPTask::_cEtCutDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtCutDatavsLS_TTSubdet
Definition: TPTask.h:75
hcaldqm::quantity::fRatio
Definition: ValueQuantity.h:27
hcaldqm::quantity::FlagQuantity
Definition: ValueQuantity.h:374
hcaldqm::electronicsmap::ElectronicsMap::lookup
uint32_t lookup(DetId const &)
Definition: ElectronicsMap.cc:122
bookHistograms
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
TPTask::_cMsnEmul_ElectronicsuTCA
hcaldqm::Container2D _cMsnEmul_ElectronicsuTCA
Definition: TPTask.h:135
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::quantity::fSlotuTCA
Definition: ElectronicsQuantity.h:21
hcaldqm::hashfunctions::fTTdepth
Definition: HashFunctions.h:161
TPTask::_cSummaryvsLS
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: TPTask.h:157
TPTask::_xEtMsm
hcaldqm::ContainerXXX< uint32_t > _xEtMsm
Definition: TPTask.h:158
TPTask::_cOccupancyCutEmul_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyCutEmul_ElectronicsuTCA
Definition: TPTask.h:100
TPTask::_cFGMsm_ElectronicsuTCA
hcaldqm::Container2D _cFGMsm_ElectronicsuTCA
Definition: TPTask.h:114
TPTask::_cEtMsm_depthlike
hcaldqm::ContainerSingle2D _cEtMsm_depthlike
Definition: TPTask.h:115
TPTask::_cEtData_ElectronicsuTCA
hcaldqm::ContainerProf2D _cEtData_ElectronicsuTCA
Definition: TPTask.h:80
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
TPTask::_cSOIEtCorr_TTSubdet
hcaldqm::Container2D _cSOIEtCorr_TTSubdet
Definition: TPTask.h:72
edm::Run
Definition: Run.h:45
min
T min(T a, T b)
Definition: MathUtil.h:58
hcaldqm::ContainerProf2D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: ContainerProf2D.cc:47
hcaldqm::quantity::ValueQuantity
Definition: ValueQuantity.h:319
hcaldqm::hashfunctions::fElectronics
Definition: HashFunctions.h:154
edm::LuminosityBlock::index
LuminosityBlockIndex index() const
Definition: LuminosityBlock.cc:28
TPTask::_cOccupancyEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyEmulvsBX_TTSubdet
Definition: TPTask.h:144
edm
HLT enums.
Definition: AlignableModifier.h:19
TPTask::fEmulMsn
Definition: TPTask.h:48
hcaldqm::flag::fGOOD
Definition: Flag.h:17
hcaldqm
Definition: Constants.h:8
hcaldqm::quantity::fTTiphi
Definition: TrigTowerQuantity.h:14
TPTask::_cOccupancyCutEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyCutEmulvsBX_TTSubdet
Definition: TPTask.h:146
TPTask::_cEtCutData_depthlike
hcaldqm::ContainerSingleProf2D _cEtCutData_depthlike
Definition: TPTask.h:86
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
hcaldqm::electronicsmap::ElectronicsMap::initialize
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
Definition: ElectronicsMap.cc:6
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
hcaldqm::constants::SPIGOT_MIN
const int SPIGOT_MIN
Definition: Constants.h:120
L1TStage2CaloLayer1.h
TPTask::_cEtData_TTSubdet
hcaldqm::Container1D _cEtData_TTSubdet
Definition: TPTask.h:69
hcaldqm::filter::fPreserver
Definition: HashFilter.h:19
TPTask::_xSentRecL1Msm
hcaldqm::ContainerXXX< uint32_t > _xSentRecL1Msm
Definition: TPTask.h:158
hcaldqm::constants::SLOT_uTCA_MIN
const int SLOT_uTCA_MIN
Definition: Constants.h:107
hcaldqm::constants::FIBER_uTCA_MIN1
const int FIBER_uTCA_MIN1
Definition: Constants.h:128
TPTask::_cOccupancyEmul_depthlike
hcaldqm::ContainerSingle2D _cOccupancyEmul_depthlike
Definition: TPTask.h:104
TPTask::nTPFlag
Definition: TPTask.h:48
TPTask::_thresh_DataMsn
double _thresh_DataMsn
Definition: TPTask.h:53
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
TPTask::_cEtCutEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtCutEmulvsBX_TTSubdet
Definition: TPTask.h:78
hcaldqm::hashfunctions::fFED
Definition: HashFunctions.h:145
hcaldqm::DQModule::_ptype
ProcessingType _ptype
Definition: DQModule.h:44
TPTask::_cEtMsmvsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmvsBX_TTSubdet
Definition: TPTask.h:119
TPTask::_vflags
std::vector< hcaldqm::flag::Flag > _vflags
Definition: TPTask.h:47
TPTask::_cEtCutDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtCutDatavsBX_TTSubdet
Definition: TPTask.h:77
hcaldqm::flag::fBAD
Definition: Flag.h:19
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
TPTask::_cEtCorr_TTSubdet
hcaldqm::Container2D _cEtCorr_TTSubdet
Definition: TPTask.h:71
HcalTrigTowerDetId::ietaAbs
int ietaAbs() const
get the absolute value of the tower ieta
Definition: HcalTrigTowerDetId.h:52
edm::Handle
Definition: AssociativeIterator.h:50
TPTask::_vhashFEDs
std::vector< uint32_t > _vhashFEDs
Definition: TPTask.h:58
TPTask::_filter_VME
hcaldqm::filter::HashFilter _filter_VME
Definition: TPTask.h:64
hcaldqm::utilities::getFEDList
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:95
TPTask::_cOccupancyCutDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyCutDatavsBX_TTSubdet
Definition: TPTask.h:145
hcaldqm::electronicsmap::fT2EHashMap
Definition: ElectronicsMap.h:26
HcalDbService::getHcalMapping
const HcalElectronicsMap * getHcalMapping() const
Definition: HcalDbService.cc:343
TPTask::_cOccupancyEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyEmulvsLS_TTSubdet
Definition: TPTask.h:148
TPTask::_cEtCutEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtCutEmulvsLS_TTSubdet
Definition: TPTask.h:76
TPTask::_cOccupancyData_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyData_ElectronicsuTCA
Definition: TPTask.h:96
TPTask::_tokData
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokData
Definition: TPTask.h:40
hcaldqm::quantity::fTTieta2x3
Definition: TrigTowerQuantity.h:19
TPTask::_cEtEmul_depthlike
hcaldqm::ContainerSingleProf2D _cEtEmul_depthlike
Definition: TPTask.h:85
TPTask::_cOccupancyDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyDatavsBX_TTSubdet
Definition: TPTask.h:143
hcaldqm::ContainerSingle2D::fill
virtual void fill(int, int)
Definition: ContainerSingle2D.cc:105
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
TPTask::_vTPDigis_SentRec
std::vector< std::pair< HcalTriggerPrimitiveDigi, HcalTriggerPrimitiveDigi > > _vTPDigis_SentRec
Definition: TPTask.h:166
hcaldqm::hashfunctions::fTTSubdetFW
Definition: HashFunctions.h:164
TPTask::_cEtEmul_ElectronicsuTCA
hcaldqm::ContainerProf2D _cEtEmul_ElectronicsuTCA
Definition: TPTask.h:81
TPTask::_cOccupancyNoTDC_HF_ieta
hcaldqm::ContainerSingle1D _cOccupancyNoTDC_HF_ieta
Definition: TPTask.h:163
TPTask::_cMsnEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnEmulvsLS_TTSubdet
Definition: TPTask.h:137
hcaldqm::quantity::fBX
Definition: ValueQuantity.h:47
hcaldqm::quantity::fTTieta
Definition: TrigTowerQuantity.h:15
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
TPTask::_tokEmul
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokEmul
Definition: TPTask.h:42
TPTask::_cOccupancyCutEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyCutEmulvsLS_TTSubdet
Definition: TPTask.h:150
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
hcaldqm::DQModule::_currentLS
int _currentLS
Definition: DQModule.h:53
hcaldqm::ContainerProf2D::initialize
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
Definition: ContainerProf2D.cc:22
TPTask.h
TPTask::_cOccupancyNoTDC_HF_depth
hcaldqm::ContainerSingle2D _cOccupancyNoTDC_HF_depth
Definition: TPTask.h:162
hcaldqm::quantity::fEtCorr_data
Definition: ValueQuantity.h:44
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
hcaldqm::ContainerXXX::reset
virtual void reset()
Definition: ContainerXXX.h:292
TPTask::_cEtCorrRatio_depthlike
hcaldqm::ContainerSingleProf2D _cEtCorrRatio_depthlike
Definition: TPTask.h:91
TPTask::_xNumCorr
hcaldqm::ContainerXXX< uint32_t > _xNumCorr
Definition: TPTask.h:158
hcaldqm::constants::CRATE_uTCA_MIN
const int CRATE_uTCA_MIN
Definition: Constants.h:100
hcaldqm::filter::HashFilter::initialize
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
TPTask::_cMsnCutDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutDatavsBX_TTSubdet
Definition: TPTask.h:132
hcaldqm::constants::FIBER_VME_MIN
const int FIBER_VME_MIN
Definition: Constants.h:125
edm::ESHandle< HcalDbService >
HcalElectronicsId
Readout chain identification for Hcal.
Definition: HcalElectronicsId.h:32
TPTask::_cMsnData_depthlike
hcaldqm::ContainerSingle2D _cMsnData_depthlike
Definition: TPTask.h:128
hcaldqm::quantity::fEtCorr_256
Definition: ValueQuantity.h:43
hcaldqm::DQModule::_name
std::string _name
Definition: DQModule.h:42
TPTask::_cOccupancy_HF_ieta
hcaldqm::ContainerSingle1D _cOccupancy_HF_ieta
Definition: TPTask.h:163
TPTask::_cOccupancyDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyDatavsLS_TTSubdet
Definition: TPTask.h:147
hcaldqm::constants::FIBERCH_MIN
const int FIBERCH_MIN
Definition: Constants.h:134
HcalTrigTowerDetId::version
int version() const
get the version code for the trigger tower
Definition: HcalTrigTowerDetId.h:60
TPTask::_cEtMsmRatiovsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmRatiovsLS_TTSubdet
Definition: TPTask.h:118
hcaldqm::utilities::isFEDHF
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:168
TPTask::_cOccupancyEmul2x3_depthlike
hcaldqm::ContainerSingle2D _cOccupancyEmul2x3_depthlike
Definition: TPTask.h:110
hcaldqm::quantity::fEt_256
Definition: ValueQuantity.h:24
TPTask::hcalDbServiceToken_
edm::ESGetToken< HcalDbService, HcalDbRecord > hcalDbServiceToken_
Definition: TPTask.h:44
hcaldqm::Container2D::setBinContent
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
TPTask::_xDataTotal
hcaldqm::ContainerXXX< uint32_t > _xDataTotal
Definition: TPTask.h:158
TPTask::_cMsnEmul_depthlike
hcaldqm::ContainerSingle2D _cMsnEmul_depthlike
Definition: TPTask.h:136
hcaldqm::quantity::fN
Definition: ValueQuantity.h:11
TPTask::_tokDataL1Rec
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokDataL1Rec
Definition: TPTask.h:41
TPTask::_vFGBitsReady
std::vector< bool > _vFGBitsReady
Definition: TPTask.h:55
edm::SortedCollection::key_compare
SORT key_compare
Definition: SortedCollection.h:78
ntuplemaker.fill
fill
Definition: ntuplemaker.py:304
Logger::dqmthrow
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
TPTask::_xDataMsn
hcaldqm::ContainerXXX< uint32_t > _xDataMsn
Definition: TPTask.h:158
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
hcaldqm::hashfunctions::fTTSubdet
Definition: HashFunctions.h:157
edm::ParameterSet
Definition: ParameterSet.h:47
edm::Transition
Transition
Definition: Transition.h:12
hcaldqm::Container2D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:567
TPTask::_cSummaryvsLS_FED
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: TPTask.h:156
TPTask::_thresh_EtMsmRate_low
double _thresh_EtMsmRate_low
Definition: TPTask.h:53
hcaldqm::Container2D::fill
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
hcaldqm::quantity::fFG
Definition: ValueQuantity.h:26
hcaldqm::Container1D::fill
virtual void fill(uint32_t)
Definition: Container1D.cc:73
edm::SortedCollection::end
const_iterator end() const
Definition: SortedCollection.h:267
hcaldqm::flag::Flag::reset
void reset()
Definition: Flag.h:59
TPTask::_cEtEmul_TTSubdet
hcaldqm::Container1D _cEtEmul_TTSubdet
Definition: TPTask.h:70
TPTask::_cMsnDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnDatavsBX_TTSubdet
Definition: TPTask.h:131
hcaldqm::DQModule::_logger
Logger _logger
Definition: DQModule.h:55
TPTask::_xEmulMsn
hcaldqm::ContainerXXX< uint32_t > _xEmulMsn
Definition: TPTask.h:158
TPTask::_cEtMsmvsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmvsLS_TTSubdet
Definition: TPTask.h:117
printConversionInfo.aux
aux
Definition: printConversionInfo.py:19
TPTask::_cEtCorr2x3_TTSubdet
hcaldqm::Container2D _cEtCorr2x3_TTSubdet
Definition: TPTask.h:73
runTauDisplay.eid
eid
Definition: runTauDisplay.py:298
TPTask::_tagDataL1Rec
edm::InputTag _tagDataL1Rec
Definition: TPTask.h:37
TPTask::_cMsnCutEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutEmulvsBX_TTSubdet
Definition: TPTask.h:140
TPTask
Definition: TPTask.py:1
TPTask::fUnknownIds
Definition: TPTask.h:48
hcaldqm::ContainerSingle1D::fill
virtual void fill(int)
Definition: ContainerSingle1D.cc:80
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
TPTask::_ehashmap
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: TPTask.h:61
TPTask::_cEtData_depthlike
hcaldqm::ContainerSingleProf2D _cEtData_depthlike
Definition: TPTask.h:84
TPTask::_unknownIdsPresent
bool _unknownIdsPresent
Definition: TPTask.h:154
dqm::implementation::IBooker::UseLumiScope
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:463
cuy.ib
ib
Definition: cuy.py:661
hcaldqm::quantity::fEt_128
Definition: ValueQuantity.h:25
hcaldqm::ContainerSingle1D::book
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
Definition: ContainerSingle1D.cc:57
TPTask::_resetMonitors
void _resetMonitors(hcaldqm::UpdateFreq) override
Definition: TPTask.cc:653
edm::EventSetup
Definition: EventSetup.h:58
TPTask::_process
void _process(edm::Event const &, edm::EventSetup const &) override
Definition: TPTask.cc:664
TPTask::fDataMsn
Definition: TPTask.h:48
hcaldqm::f1LS
Definition: DQTask.h:32
TPTask::_cEtMsmRatiovsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmRatiovsBX_TTSubdet
Definition: TPTask.h:120
hcaldqm::quantity::fEtCorr_emul
Definition: ValueQuantity.h:45
TPTask::globalBeginLuminosityBlock
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
Definition: TPTask.cc:1104
ComparisonHelper::zip
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
Definition: L1TStage2CaloLayer1.h:41
TPTask::_cEtCorrRatiovsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtCorrRatiovsLS_TTSubdet
Definition: TPTask.h:92
hcaldqm::DQTask::_vcdaqEids
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:69
hcaldqm::ContainerSingleProf2D::book
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
Definition: ContainerSingleProf2D.cc:35
hcaldqm::DQModule::_subsystem
std::string _subsystem
Definition: DQModule.h:49
alignCSCRings.r
r
Definition: alignCSCRings.py:93
hcaldqm::ContainerProf2D::fill
void fill(HcalDetId const &) override
Definition: ContainerProf2D.cc:228
TPTask::_cOccupancy_HF_depth
hcaldqm::ContainerSingle2D _cOccupancy_HF_depth
Definition: TPTask.h:162
TPTask::_thresh_FGMsmRate_low
double _thresh_FGMsmRate_low
Definition: TPTask.h:53
TPTask::_filter_depth0
hcaldqm::filter::HashFilter _filter_depth0
Definition: TPTask.h:66
hcaldqm::flag::fPROBLEMATIC
Definition: Flag.h:18
TPTask::_tokEmulNoTDCCut
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokEmulNoTDCCut
Definition: TPTask.h:43
TPTask::fSentRecL1Msm
Definition: TPTask.h:48
TPTask::_thresh_EtMsmRate_high
double _thresh_EtMsmRate_high
Definition: TPTask.h:53
hcaldqm::DQModule::_maxLS
int _maxLS
Definition: DQModule.h:54
edm::SortedCollection::find
iterator find(key_type k)
Definition: SortedCollection.h:240
hcaldqm::quantity::ElectronicsQuantity
Definition: ElectronicsQuantity.h:333
TPTask::globalEndLuminosityBlock
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: TPTask.cc:1109
HcalDbService
Definition: HcalDbService.h:23
TPTask::_cEtMsm_ElectronicsuTCA
hcaldqm::Container2D _cEtMsm_ElectronicsuTCA
Definition: TPTask.h:113
hcaldqm::ContainerProf1D::initialize
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
Definition: ContainerProf1D.cc:22
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
TPTask::_cutEt
int _cutEt
Definition: TPTask.h:52
TPTask::_cOccupancyCutData_depthlike
hcaldqm::ContainerSingle2D _cOccupancyCutData_depthlike
Definition: TPTask.h:105
hcaldqm::utilities::isFEDHBHE
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:154
nanoDQM_cff.Flag
Flag
Definition: nanoDQM_cff.py:98
TPTask::_cOccupancyCutDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyCutDatavsLS_TTSubdet
Definition: TPTask.h:149
hcaldqm::ContainerSingle2D::setBinContent
virtual void setBinContent(int, int, int)
Definition: ContainerSingle2D.cc:154
HcalElectronicsId::rawId
constexpr uint32_t rawId() const
Definition: HcalElectronicsId.h:59
hcaldqm::quantity::TrigTowerQuantity
Definition: TrigTowerQuantity.h:70
TPTask::_cMsnData_ElectronicsuTCA
hcaldqm::Container2D _cMsnData_ElectronicsuTCA
Definition: TPTask.h:127
hcaldqm::ContainerSingleProf2D::initialize
void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0) override
Definition: ContainerSingleProf2D.cc:19
hcaldqm::DQTask::_emap
const HcalElectronicsMap * _emap
Definition: DQTask.h:81
hcaldqm::ContainerSingle2D::book
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
Definition: ContainerSingle2D.cc:68
hcaldqm::constants::NUM_FGBITS
const int NUM_FGBITS
Definition: Constants.h:210
TPTask::_xEmulTotal
hcaldqm::ContainerXXX< uint32_t > _xEmulTotal
Definition: TPTask.h:158
TPTask::_cMsnCutDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutDatavsLS_TTSubdet
Definition: TPTask.h:130
TPTask::_cOccupancyData_depthlike
hcaldqm::ContainerSingle2D _cOccupancyData_depthlike
Definition: TPTask.h:103
hcaldqm::utilities::fed2crate
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
TPTask::_skip1x1
bool _skip1x1
Definition: TPTask.h:51
hcaldqm::utilities::getFEDVMEList
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:113
TPTask::fEtMsm
Definition: TPTask.h:48
hcaldqm::ContainerXXX::book
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
TPTask::_cMsnCutEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutEmulvsLS_TTSubdet
Definition: TPTask.h:138
hcaldqm::ContainerXXX::get
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
dqm::implementation::IBooker
Definition: DQMStore.h:43
TPTask::_cMsnEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnEmulvsBX_TTSubdet
Definition: TPTask.h:139
TPTask::_cFGCorr_TTSubdet
hcaldqm::Container2D _cFGCorr_TTSubdet[hcaldqm::constants::NUM_FGBITS]
Definition: TPTask.h:74
TPTask::_cEtCorrRatiovsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtCorrRatiovsBX_TTSubdet
Definition: TPTask.h:93
hcaldqm::ContainerSingle1D::initialize
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: ContainerSingle1D.cc:37
TPTask::_filter_uTCA
hcaldqm::filter::HashFilter _filter_uTCA
Definition: TPTask.h:65
TPTask::_cEtCorrRatio_ElectronicsuTCA
hcaldqm::ContainerProf2D _cEtCorrRatio_ElectronicsuTCA
Definition: TPTask.h:90
TPTask::_cEtMsm_uHTR_L1T_depthlike
hcaldqm::ContainerSingle2D _cEtMsm_uHTR_L1T_depthlike
Definition: TPTask.h:123
TPTask::_thresh_EmulMsn
double _thresh_EmulMsn
Definition: TPTask.h:53
hcaldqm::DQTask
Definition: DQTask.h:33
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
TPTask::_cMsnDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnDatavsLS_TTSubdet
Definition: TPTask.h:129
HcalDbRecord
Definition: HcalDbRecord.h:30
hcaldqm::ContainerSingle2D::initialize
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: ContainerSingle2D.cc:46
hcaldqm::Container1D::initialize
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:33
hcaldqm::ContainerProf1D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: ContainerProf1D.cc:40
hcaldqm::flag::fNCDAQ
Definition: Flag.h:15
hcaldqm::fOnline
Definition: DQModule.h:26
hcaldqm::quantity::fState
Definition: ValueQuantity.h:49
TPTask::_cOccupancyEmul_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyEmul_ElectronicsuTCA
Definition: TPTask.h:97
TPTask::_tagData
edm::InputTag _tagData
Definition: TPTask.h:36
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
TPTask::_tagEmulNoTDCCut
edm::InputTag _tagEmulNoTDCCut
Definition: TPTask.h:39
TPTask::_thresh_FGMsmRate_high
double _thresh_FGMsmRate_high
Definition: TPTask.h:53
TPTask::_cOccupancyData2x3_depthlike
hcaldqm::ContainerSingle2D _cOccupancyData2x3_depthlike
Definition: TPTask.h:109
TPTask::_cOccupancyCutEmul_depthlike
hcaldqm::ContainerSingle2D _cOccupancyCutEmul_depthlike
Definition: TPTask.h:106
hcaldqm::utilities::getFEDuTCAList
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:133
TPTask::_cEtMsm_uHTR_L1T_LS
hcaldqm::ContainerSingle1D _cEtMsm_uHTR_L1T_LS
Definition: TPTask.h:124
hcaldqm::ContainerSingleProf2D::fill
void fill(int, int) override
Definition: ContainerSingleProf2D.cc:50
edm::InputTag
Definition: InputTag.h:15
TPTask::_xFGMsm
hcaldqm::ContainerXXX< uint32_t > _xFGMsm
Definition: TPTask.h:158
hcaldqm::constants::CRATE_VME_MIN
const int CRATE_VME_MIN
Definition: Constants.h:95
hcaldqm::filter::fFilter
Definition: HashFilter.h:19
hcaldqm::Container1D::book
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:592
TPTask::TPTask
TPTask(edm::ParameterSet const &)
Definition: TPTask.cc:6
TPTask::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: TPTask.cc:40
hcaldqm::fOffline
Definition: DQModule.h:26
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
HcalTrigTowerDetId
Definition: HcalTrigTowerDetId.h:14
hcaldqm::quantity::LumiSection
Definition: ValueQuantity.h:400