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  _tagData = ps.getUntrackedParameter<edm::InputTag>("tagData", edm::InputTag("hcalDigis"));
8  _tagDataL1Rec = ps.getUntrackedParameter<edm::InputTag>("tagDataL1Rec", edm::InputTag("caloLayer1Digis"));
9  _tagEmul = ps.getUntrackedParameter<edm::InputTag>("tagEmul", edm::InputTag("emulDigis"));
10  _tagEmulNoTDCCut = ps.getUntrackedParameter<edm::InputTag>("tagEmulNoTDCCut", edm::InputTag("emulTPDigisNoTDCCut"));
11 
12  _tokData = consumes<HcalTrigPrimDigiCollection>(_tagData);
13  _tokDataL1Rec = consumes<HcalTrigPrimDigiCollection>(_tagDataL1Rec);
14  _tokEmul = consumes<HcalTrigPrimDigiCollection>(_tagEmul);
15  _tokEmulNoTDCCut = consumes<HcalTrigPrimDigiCollection>(_tagEmulNoTDCCut);
16 
17  _skip1x1 = ps.getUntrackedParameter<bool>("skip1x1", true);
18  _cutEt = ps.getUntrackedParameter<int>("cutEt", 3);
19  _thresh_EtMsmRate_high = ps.getUntrackedParameter<double>("thresh_EtMsmRate_high", 0.2);
20  _thresh_EtMsmRate_low = ps.getUntrackedParameter<double>("thresh_EtMsmRate_low", 0.05);
21  _thresh_FGMsmRate_high = ps.getUntrackedParameter<double>("thresh_FGMsmRate", 0.2);
22  _thresh_FGMsmRate_low = ps.getUntrackedParameter<double>("thresh_FGMsmRate_low", 0.05);
23  _thresh_DataMsn = ps.getUntrackedParameter<double>("thresh_DataMsn", 0.1);
24  _thresh_EmulMsn = ps.getUntrackedParameter<double>("thresh_EmulMsn");
25  std::vector<int> tmp = ps.getUntrackedParameter<std::vector<int> >("vFGBitsReady");
26  for (uint32_t iii = 0; iii < constants::NUM_FGBITS; iii++)
27  _vFGBitsReady.push_back(tmp[iii]);
28 
29  _vflags.resize(nTPFlag);
30  _vflags[fEtMsm] = flag::Flag("EtMsm");
31  _vflags[fDataMsn] = flag::Flag("DataMsn");
32  _vflags[fEmulMsn] = flag::Flag("EmulMsn");
33  _vflags[fUnknownIds] = flag::Flag("UnknownIds");
34  if (_ptype == fOnline) {
35  _vflags[fSentRecL1Msm] = flag::Flag("uHTR-L1TMsm");
36  }
37 }
38 
39 /* virtual */ void TPTask::bookHistograms(DQMStore::IBooker& ib, edm::Run const& r, edm::EventSetup const& es) {
41 
42  // GET WHAT YOU NEED
44  es.get<HcalDbRecord>().get(dbs);
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",
76  0);
77  for (uint8_t iii = 0; iii < constants::NUM_FGBITS; iii++) {
79  "FGCorr",
84  0);
85  }
86 
88  "EtData",
92  0);
94  "EtEmul",
98  0);
100  "EtCutData",
104  0);
106  "EtCutEmul",
110  0);
111 
112  // Occupancy
114  "OccupancyData",
118  0);
120  "OccupancyEmul",
124  0);
126  "OccupancyCutData",
130  0);
132  "OccupancyCutEmul",
136  0);
137 
138  // Mismatches
140  "EtMsm",
144  0);
146  "FGMsm",
150  0);
151 
152  if (_ptype == fOnline) {
153  // Mismatches: sent vs received
155  "EtMsm_uHTR_L1T",
159  0);
161  "EtMsm_uHTR_L1T_LS",
164  0);
165  }
166 
167  // Missing Data w.r.t. Emulator
169  "MsnData",
173  0);
175  "MsnEmul",
179  0);
180 
182  "EtCorrRatio",
186  0);
187 
189  "OccupancyDatavsBX",
193  0);
195  "OccupancyEmulvsBX",
199  0);
201  "OccupancyCutDatavsBX",
205  0);
207  "OccupancyCutEmulvsBX",
211  0);
212 
213  // INITIALIZE HISTOGRAMS to be used in Online only!
214  if (_ptype == fOnline) {
216  "EtCorr2x3",
221  0);
223  "OccupancyData2x3",
227  0);
229  "OccupancyEmul2x3",
233  0);
235  "EtCutDatavsLS",
239  0);
241  "EtCutEmulvsLS",
245  0);
247  "EtCutDatavsBX",
251  0);
253  "EtCutEmulvsBX",
257  0);
259  "EtCorrRatiovsLS",
263  0);
265  "EtCorrRatiovsBX",
269  0);
271  "EtMsmRatiovsLS",
275  0);
277  "EtMsmRatiovsBX",
281  0);
283  "EtMsmvsLS",
287  0);
289  "EtMsmvsBX",
293  0);
295  "MsnDatavsLS",
299  0);
301  "MsnCutDatavsLS",
305  0);
307  "MsnDatavsBX",
311  0);
313  "MsnCutDatavsBX",
317  0);
319  "MsnEmulvsLS",
323  0);
325  "MsnCutEmulvsLS",
329  0);
331  "MsnEmulvsBX",
335  0);
337  "MsnCutEmulvsBX",
341  0);
343  "OccupancyDatavsLS",
347  0);
349  "OccupancyCutDatavsLS",
353  0);
355  "OccupancyDatavsBX",
359  0);
361  "OccupancyCutDatavsBX",
365  0);
367  "OccupancyEmulvsLS",
371  0);
373  "OccupancyCutEmulvsLS",
377  0);
379  "OccupancyEmulvsBX",
383  0);
385  "OccupancyCutEmulvsBX",
389  0);
390 
392  "OccupancyDataHF_depth",
396  0);
398  "OccupancyEmulHFNoTDC_depth",
402  0);
404  "OccupancyDataHF_ieta",
407  0),
409  "OccupancyEmulHFNoTDC_ieta",
412  0);
413  }
414 
415  // FED-based containers
416  if (_ptype != fOffline) { // hidefed2crate
417  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
418  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
419  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
420  // push the rawIds of each fed into the vector
421  // this vector is used at endlumi for online state generation
422  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it) {
424  }
425  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
426  std::pair<uint16_t, uint16_t> cspair = hcaldqm::utilities::fed2crate(*it);
427  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
428  }
430  "EtData",
432  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
435  0);
437  "EtData",
439  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
442  0);
444  "EtEmul",
446  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
449  0);
451  "EtEmul",
453  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
456  0);
457  // Occupancies
459  "OccupancyData",
461  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
464  0);
466  "OccupancyEmul",
468  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
471  0);
473  "OccupancyData",
475  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
478  0);
480  "OccupancyEmul",
482  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
485  0);
486 
488  "OccupancyCutData",
490  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
493  0);
495  "OccupancyCutEmul",
497  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
500  0);
502  _name,
503  "OccupancyCutData",
505  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
508  0);
510  _name,
511  "OccupancyCutEmul",
513  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
516  0);
517  // Mismatches
519  "EtMsm",
521  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
524  0);
526  "FGMsm",
528  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
531  0);
533  "EtMsm",
535  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
538  0);
540  "FGMsm",
542  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
545  0);
546 
547  // Missing Data w.r.t. Emulator
549  "MsnData",
551  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
554  0);
556  "MsnData",
558  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
561  0);
563  "MsnEmul",
565  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
568  0);
570  "MsnEmul",
572  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
575  0);
577  "EtCorrRatio",
579  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
582  0);
584  "EtCorrRatio",
586  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
589  0);
590  if (_ptype == fOnline) {
592  "SummaryvsLS",
597  0);
599  "SummaryvsLS",
603  0);
604 
613  }
614  }
615 
616  // BOOK HISTOGRAMS
617  char aux[20];
618  for (unsigned int iii = 0; iii < constants::NUM_FGBITS; iii++) {
619  sprintf(aux, "BIT%d", iii);
621  }
625  if (_ptype != fOffline) { // hidefed2crate
630  }
635  if (_ptype != fOffline) { // hidefed2crate
644  }
649 
655 
656  if (_ptype == fOnline) {
659  }
660 
661  if (_ptype != fOffline) { // hidefed2crate
672  }
673 
674  // whatever has to go online only goes here
675  if (_ptype == fOnline) {
707 
708  _xEtMsm.book(_emap);
709  _xFGMsm.book(_emap);
716 
721  }
722 
723  // initialize the hash map
725 
726  // book the flag for unknown ids and the online guy as well
727  ib.setCurrentFolder(_subsystem + "/" + _name);
728  auto scope = DQMStore::IBooker::UseLumiScope(ib);
729  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds", 1, 0, 1);
730  _unknownIdsPresent = false;
731 }
732 
734  DQTask::_resetMonitors(uf);
735  switch (uf) {
736  case hcaldqm::f1LS:
737  _unknownIdsPresent = false;
738  break;
739  default:
740  break;
741  }
742 }
743 
744 /* virtual */ void TPTask::_process(edm::Event const& e, edm::EventSetup const&) {
749  if (!e.getByToken(_tokData, cdata))
750  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagData.label() + " " +
751  _tagData.instance());
752  if (_ptype == fOnline) {
753  if (!e.getByToken(_tokDataL1Rec, cdataL1Rec))
754  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagDataL1Rec.label() + " " +
756  }
757  if (!e.getByToken(_tokEmul, cemul))
758  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagEmul.label() + " " +
759  _tagEmul.instance());
760  if (_ptype == fOnline) {
761  if (!e.getByToken(_tokEmulNoTDCCut, cemul_noTDCCut)) {
762  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available: " + _tagEmulNoTDCCut.label() + " " +
764  }
765  }
766 
767  // extract some info per event
768  int bx = e.bunchCrossing();
769 
770  auto lumiCache = luminosityBlockCache(e.getLuminosityBlock().index());
771  _currentLS = lumiCache->currentLS;
772 
773  // some summaries... per event
774  int numHBHE(0), numHF(0), numCutHBHE(0), numCutHF(0);
775  int numCorrHBHE(0), numCorrHF(0);
776  int numMsmHBHE(0), numMsmHF(0);
777  int numMsnHBHE(0), numMsnHF(0), numMsnCutHBHE(0), numMsnCutHF(0);
778 
779  // for explanation see RecHit or Digi Tasks
780  uint32_t rawidHBHEValid = 0;
781  uint32_t rawidHFValid = 0;
782 
783  /*
784  * STEP1:
785  * Loop over the data digis and
786  * - do ... for all the data digis
787  * - find the emulator digi
788  * --- compare soi Et
789  * --- compare soi FG
790  * --- Do not fill anything for emulator Et!!!
791  */
792  for (HcalTrigPrimDigiCollection::const_iterator it = cdata->begin(); it != cdata->end(); ++it) {
793  // Explicit check on the DetIds present in the Collection
794  HcalTrigTowerDetId tid = it->id();
795  uint32_t rawid = _ehashmap.lookup(tid);
796  if (rawid == 0) {
797  meUnknownIds1LS->Fill(1);
798  _unknownIdsPresent = true;
799  continue;
800  }
801  HcalElectronicsId const& eid(rawid);
802  if (tid.ietaAbs() >= 29)
803  rawidHFValid = tid.rawId();
804  else
805  rawidHBHEValid = tid.rawId();
806 
807  //
808  // HF 2x3 TPs Treat theam separately and only for ONLINE!
809  //
810  if (tid.version() == 0 && tid.ietaAbs() >= 29) {
811  // do this only for online processing
812  if (_ptype == fOnline) {
815  if (jt != cemul->end())
816  _cEtCorr2x3_TTSubdet.fill(tid, it->SOI_compressedEt(), jt->SOI_compressedEt());
817  }
818 
819  // skip to the next tp digi
820  continue;
821  }
822 
823  // FROM THIS POINT, HBHE + 1x1 HF TPs
824  int soiEt_d = it->t0().compressedEt();
825  int soiFG_d[constants::NUM_FGBITS];
826  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
827  soiFG_d[ibit] = it->t0().fineGrain(ibit) ? 1 : 0;
828  tid.ietaAbs() >= 29 ? numHF++ : numHBHE++;
829 
830  // fill w/o a cut
831  _cEtData_TTSubdet.fill(tid, soiEt_d);
832  _cEtData_depthlike.fill(tid, soiEt_d);
834 
835  if (_ptype == fOnline) {
836  if (tid.ietaAbs() >= 29) {
837  if (soiEt_d > 0) {
840  }
841  }
842  }
843  if (_ptype != fOffline) { // hidefed2crate
844  if (eid.isVMEid()) {
846  _cEtData_ElectronicsVME.fill(eid, soiEt_d);
847  } else {
850  }
851  }
852 
853  // FILL w/a CUT
854  if (soiEt_d > _cutEt) {
855  tid.ietaAbs() >= 29 ? numCutHF++ : numCutHBHE++;
857  _cEtCutData_depthlike.fill(tid, soiEt_d);
858 
859  // ONLINE ONLY!
860  if (_ptype == fOnline) {
862  _cEtCutDatavsBX_TTSubdet.fill(tid, bx, soiEt_d);
863  _xDataTotal.get(eid)++;
864  }
865  // ^^^ONLINE ONLY!
866  if (_ptype != fOffline) { // hidefed2crate
867  if (eid.isVMEid())
869  else
871  }
872  }
873 
874  // FIND the EMULATOR DIGI
876  if (jt != cemul->end()) {
877  // if PRESENT!
878  int soiEt_e = jt->SOI_compressedEt();
879  int soiFG_e[constants::NUM_FGBITS];
880  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
881  soiFG_e[ibit] = jt->t0().fineGrain(ibit) ? 1 : 0;
882  // if both are zeroes => set 1
883  double rEt =
884  soiEt_d == 0 && soiEt_e == 0 ? 1 : double(std::min(soiEt_d, soiEt_e)) / double(std::max(soiEt_e, soiEt_d));
885 
886  // ONLINE ONLY!
887  if (_ptype == fOnline) {
888  _xNumCorr.get(eid)++;
889  tid.ietaAbs() >= 29 ? numCorrHF++ : numCorrHBHE++;
892  }
893  // ^^^ONLINE ONLY!
894 
895  _cEtCorrRatio_depthlike.fill(tid, rEt);
896  _cEtCorr_TTSubdet.fill(tid, soiEt_d, soiEt_e);
897  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
898  _cFGCorr_TTSubdet[ibit].fill(tid, soiFG_d[ibit], soiFG_e[ibit]);
899  // FILL w/o a CUT
900  if (_ptype != fOffline) { // hidefed2crate
901  if (eid.isVMEid()) {
903  } else {
905  }
906  }
907 
908  // if SOI Et are not equal
909  // fill mismatched
910  if (soiEt_d != soiEt_e) {
911  tid.ietaAbs() >= 29 ? numMsmHF++ : numMsmHBHE++;
912  _cEtMsm_depthlike.fill(tid);
913  if (_ptype != fOffline) { // hidefed2crate
914  if (eid.isVMEid())
916  else
918  }
919  if (_ptype == fOnline)
920  _xEtMsm.get(eid)++;
921  }
922  // if SOI FG are not equal
923  // fill mismatched.
924  // Do this comparison only for FG Bits that are commissioned
925  for (uint32_t ibit = 0; ibit < constants::NUM_FGBITS; ibit++)
926  if (soiFG_d[ibit] != soiFG_e[ibit] && _vFGBitsReady[ibit]) {
927  _cFGMsm_depthlike.fill(tid);
928  if (_ptype != fOffline) { // hidefed2crate
929  if (eid.isVMEid())
931  else
933  }
934  if (_ptype == fOnline)
935  _xFGMsm.get(eid)++;
936  }
937  } else {
938  // IF MISSING
939  _cEtCorr_TTSubdet.fill(tid, soiEt_d, -2);
941  tid.ietaAbs() >= 29 ? numMsnHF++ : numMsnHBHE++;
942  if (_ptype != fOffline) { // hidefed2crate
943  if (eid.isVMEid())
945  else
947  }
948 
949  if (soiEt_d > _cutEt) {
950  tid.ietaAbs() >= 29 ? numMsnCutHF++ : numMsnCutHBHE++;
951  if (_ptype == fOnline)
952  _xEmulMsn.get(eid)++;
953  }
954  }
955  }
956 
957  if (_ptype == fOnline) {
958  for (HcalTrigPrimDigiCollection::const_iterator it = cemul_noTDCCut->begin(); it != cemul_noTDCCut->end(); ++it) {
959  // Explicit check on the DetIds present in the Collection
960  HcalTrigTowerDetId tid = it->id();
961  uint32_t rawid = _ehashmap.lookup(tid);
962  if (rawid == 0) {
963  continue;
964  }
965  if (tid.version() == 0 && tid.ietaAbs() >= 29) {
966  continue;
967  }
968  int soiEt_e = it->SOI_compressedEt();
969  if (tid.ietaAbs() >= 29) {
970  if (soiEt_e > 0) {
973  }
974  }
975  }
976  }
977 
978  if (rawidHFValid != 0 && rawidHBHEValid != 0) {
979  // ONLINE ONLY!
980  if (_ptype == fOnline) {
981  _cOccupancyDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numHBHE);
983  _cOccupancyCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numCutHBHE);
984  _cOccupancyCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numCutHF);
989 
990  _cEtMsmvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsmHBHE);
991  _cEtMsmvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsmHF);
992  _cEtMsmvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsmHBHE);
993  _cEtMsmvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsmHF);
994 
996  HcalTrigTowerDetId(rawidHBHEValid), _currentLS, double(numMsmHBHE) / double(numCorrHBHE));
998  HcalTrigTowerDetId(rawidHFValid), _currentLS, double(numMsmHF) / double(numCorrHF));
999  _cEtMsmRatiovsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, double(numMsmHBHE) / double(numCorrHBHE));
1000  _cEtMsmRatiovsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, double(numMsmHF) / double(numCorrHF));
1001 
1002  _cMsnEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnHBHE);
1003  _cMsnEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnHF);
1004  _cMsnCutEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnCutHBHE);
1005  _cMsnCutEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnCutHF);
1006 
1007  _cMsnEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnHBHE);
1008  _cMsnEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnHF);
1009  _cMsnCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnCutHBHE);
1010  _cMsnCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnCutHF);
1011  }
1012  }
1013 
1014  numHBHE = 0;
1015  numHF = 0;
1016  numCutHBHE = 0;
1017  numCutHF = 0;
1018  numMsnHBHE = 0;
1019  numMsnHF = 0;
1020  numCutHBHE = 0;
1021  numCutHF = 0;
1022 
1023  // reset
1024  rawidHBHEValid = 0;
1025  rawidHFValid = 0;
1026 
1027  /*
1028  * STEP2:
1029  * Loop over the emulator digis and
1030  * - do ... for all the emulator digis
1031  * - find data digi and
1032  * --- if found skip
1033  * --- if not found - fill the missing Data plot
1034  */
1035  for (HcalTrigPrimDigiCollection::const_iterator it = cemul->begin(); it != cemul->end(); ++it) {
1036  // Explicit check on the DetIds present in the Collection
1037  HcalTrigTowerDetId tid = it->id();
1038  uint32_t rawid = _ehashmap.lookup(tid);
1039  if (rawid == 0) {
1040  meUnknownIds1LS->Fill(1);
1041  _unknownIdsPresent = true;
1042  continue;
1043  }
1044  HcalElectronicsId const& eid(rawid);
1045  if (tid.ietaAbs() >= 29)
1046  rawidHFValid = tid.rawId();
1047  else
1048  rawidHBHEValid = tid.rawId();
1049 
1050  // HF 2x3 TPs. Only do it for Online!!!
1051  if (tid.version() == 0 && tid.ietaAbs() >= 29) {
1052  // only do this for online processing
1053  if (_ptype == fOnline)
1055  continue;
1056  }
1057  int soiEt = it->SOI_compressedEt();
1058 
1059  // FILL/INCREMENT w/o a CUT
1060  tid.ietaAbs() >= 29 ? numHF++ : numHBHE++;
1061  _cEtEmul_TTSubdet.fill(tid, soiEt);
1062  _cEtEmul_depthlike.fill(tid, soiEt);
1064  if (_ptype != fOffline) { // hidefed2crate
1065  if (eid.isVMEid()) {
1068  } else {
1071  }
1072  }
1073 
1074  // FILL w/ a CUT
1075  if (soiEt > _cutEt) {
1076  tid.ietaAbs() >= 29 ? numCutHF++ : numCutHBHE++;
1078  _cEtCutEmul_depthlike.fill(tid, soiEt);
1079  if (_ptype != fOffline) { // hidefed2crate
1080  if (eid.isVMEid())
1082  else
1084  }
1085 
1086  // ONLINE ONLY!
1087  if (_ptype == fOnline) {
1089  _cEtCutEmulvsBX_TTSubdet.fill(tid, bx, soiEt);
1090  _xEmulTotal.get(eid)++;
1091  }
1092  // ^^^ONLINE ONLY!
1093  }
1094 
1095  // Look for a data digi.
1096  // Do not perform if the emulated digi is zero suppressed.
1097  if (!(it->zsMarkAndPass())) {
1099  if (jt == cdata->end()) {
1100  tid.ietaAbs() >= 29 ? numMsnHF++ : numMsnHBHE++;
1101  _cEtCorr_TTSubdet.fill(tid, -2, soiEt);
1103  if (_ptype != fOffline) { // hidefed2crate
1104  if (eid.isVMEid())
1106  else
1108  }
1109  if (soiEt > _cutEt) {
1110  tid.ietaAbs() >= 29 ? numMsnCutHF++ : numMsnCutHBHE++;
1111  if (_ptype == fOnline)
1112  _xDataMsn.get(eid)++;
1113  }
1114  }
1115  }
1116  }
1117 
1118  // ONLINE ONLY!
1119  if (_ptype == fOnline) {
1120  if (rawidHBHEValid != 0) {
1121  _cOccupancyEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numHBHE);
1122  _cOccupancyCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numCutHBHE);
1124  _cOccupancyCutEmulvsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numCutHBHE);
1125  _cMsnDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnHBHE);
1126  _cMsnCutDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), _currentLS, numMsnCutHBHE);
1127  _cMsnDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnHBHE);
1128  _cMsnCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHBHEValid), bx, numMsnCutHBHE);
1129  }
1130  if (rawidHFValid != 0) {
1131  _cOccupancyEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numHF);
1132  _cOccupancyCutEmulvsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numCutHF);
1135  _cMsnDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnHF);
1136  _cMsnCutDatavsLS_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), _currentLS, numMsnCutHF);
1137  _cMsnDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnHF);
1138  _cMsnCutDatavsBX_TTSubdet.fill(HcalTrigTowerDetId(rawidHFValid), bx, numMsnCutHF);
1139  }
1140  // ^^^ONLINE ONLY!
1141  }
1142 
1143  if (_ptype == fOnline) {
1144  // Compare the sent ("uHTR") and received (L1T "layer1") TPs
1145  // This algorithm is copied from DQM/L1TMonitor/src/L1TStage2CaloLayer1.cc
1146  // ...but it turns out to be extremely useful for detecting uHTR problems
1147  _vTPDigis_SentRec.clear();
1148  ComparisonHelper::zip(cdata->begin(),
1149  cdata->end(),
1150  cdataL1Rec->begin(),
1151  cdataL1Rec->end(),
1152  std::inserter(_vTPDigis_SentRec, _vTPDigis_SentRec.begin()),
1154 
1155  for (const auto& tpPair : _vTPDigis_SentRec) {
1156  // From here, literal copy pasta from L1T
1157  const auto& sentTp = tpPair.first;
1158  const auto& recdTp = tpPair.second;
1159  const int ieta = sentTp.id().ieta();
1160  if (abs(ieta) > 28 && sentTp.id().version() != 1)
1161  continue;
1162  //const int iphi = sentTp.id().iphi();
1163  const bool towerMasked = recdTp.sample(0).raw() & (1 << 13);
1164  //const bool linkMasked = recdTp.sample(0).raw() & (1<<14);
1165  const bool linkError = recdTp.sample(0).raw() & (1 << 15);
1166 
1167  if (towerMasked || linkError) {
1168  // Do not compare if known to be bad
1169  continue;
1170  }
1171  const bool HetAgreement = sentTp.SOI_compressedEt() == recdTp.SOI_compressedEt();
1172  const bool Hfb1Agreement = sentTp.SOI_fineGrain() == recdTp.SOI_fineGrain();
1173  // Ignore minBias (FB2) bit if we receieve 0 ET, which means it is likely zero-suppressed on HCal readout side
1174  const bool Hfb2Agreement =
1175  (abs(ieta) < 29) ? true
1176  : (recdTp.SOI_compressedEt() == 0 || (sentTp.SOI_fineGrain(1) == recdTp.SOI_fineGrain(1)));
1177  if (!(HetAgreement && Hfb1Agreement && Hfb2Agreement)) {
1178  HcalTrigTowerDetId tid = sentTp.id();
1179  uint32_t rawid = _ehashmap.lookup(tid);
1180  if (rawid == 0) {
1181  continue;
1182  }
1183  HcalElectronicsId const& eid(rawid);
1184 
1187  _xSentRecL1Msm.get(eid)++;
1188  }
1189  }
1190  }
1191 }
1192 
1193 std::shared_ptr<hcaldqm::Cache> TPTask::globalBeginLuminosityBlock(edm::LuminosityBlock const& lb,
1194  edm::EventSetup const& es) const {
1195  return DQTask::globalBeginLuminosityBlock(lb, es);
1196 }
1197 
1199  if (_ptype != fOnline)
1200  return;
1201 
1202  auto lumiCache = luminosityBlockCache(lb.index());
1203  _currentLS = lumiCache->currentLS;
1204 
1205  //
1206  // GENERATE STATUS ONLY FOR ONLINE!
1207  //
1208  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
1209  flag::Flag fSum("TP");
1211 
1212  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
1213  if (cit == _vcdaqEids.end()) {
1214  // not @cDAQ
1215  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
1218  continue;
1219  }
1220 
1222  // FED is @cDAQ
1223  double etmsm = _xNumCorr.get(eid) > 0 ? double(_xEtMsm.get(eid)) / double(_xNumCorr.get(eid)) : 0;
1224  /*
1225  * UNUSED VARS
1226  * double dmsm = _xDataTotal.get(eid)>0?
1227  double(_xDataMsn.get(eid))/double(_xDataTotal.get(eid)):0;
1228  double emsm = _xEmulTotal.get(eid)>0?
1229  double(_xEmulMsn.get(eid))/double(_xEmulTotal.get(eid)):0;
1230  double fgmsm = _xNumCorr.get(eid)>0?
1231  double(_xFGMsm.get(eid))/double(_xNumCorr.get(eid)):0;
1232  */
1233  if (etmsm >= _thresh_EtMsmRate_high)
1234  _vflags[fEtMsm]._state = flag::fBAD;
1235  else if (etmsm >= _thresh_EtMsmRate_low)
1236  _vflags[fEtMsm]._state = flag::fPROBLEMATIC;
1237  else
1238  _vflags[fEtMsm]._state = flag::fGOOD;
1239  /*
1240  * DISABLE THESE FLAGS FOR ONLINE FOR NOW!
1241  if (dmsm>=_thresh_DataMsn)
1242  _vflags[fDataMsn]._state = flag::fBAD;
1243  else
1244  _vflags[fDataMsn]._state = flag::fGOOD;
1245  if (emsm>=_thresh_EmulMsn)
1246  _vflags[fEmulMsn]._state = flag::fBAD;
1247  else
1248  _vflags[fEmulMsn]._state = flag::fGOOD;
1249  */
1250 
1251  if (_ptype == fOnline) {
1252  if (_xSentRecL1Msm.get(eid) >= 1) {
1253  _vflags[fSentRecL1Msm]._state = flag::fBAD;
1254  } else {
1255  _vflags[fSentRecL1Msm]._state = flag::fGOOD;
1256  }
1257  }
1258  }
1259 
1260  if (_unknownIdsPresent)
1261  _vflags[fUnknownIds]._state = flag::fBAD;
1262  else
1263  _vflags[fUnknownIds]._state = flag::fGOOD;
1264 
1265  int iflag = 0;
1266  for (std::vector<flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
1267  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), ft->_state);
1268  fSum += (*ft);
1269  iflag++;
1270 
1271  // this is the MUST!
1272  // reset after using this flag
1273  ft->reset();
1274  }
1276  }
1277 
1278  // reset...
1279  _xEtMsm.reset();
1280  _xFGMsm.reset();
1281  _xNumCorr.reset();
1282  _xDataMsn.reset();
1283  _xDataTotal.reset();
1284  _xEmulMsn.reset();
1285  _xEmulTotal.reset();
1286 
1287  // in the end always do the DQTask::endLumi
1288  DQTask::globalEndLuminosityBlock(lb, es);
1289 }
1290 
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:80
TPTask::_cFGMsm_depthlike
hcaldqm::ContainerSingle2D _cFGMsm_depthlike
Definition: TPTask.h:123
hcaldqm::ContainerXXX::initialize
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
TPTask::meUnknownIds1LS
MonitorElement * meUnknownIds1LS
Definition: TPTask.h:162
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:103
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:73
hcaldqm::quantity::fRatio
Definition: ValueQuantity.h:27
hcaldqm::quantity::FlagQuantity
Definition: ValueQuantity.h:364
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:144
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:152
TPTask::_cSummaryvsLS
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: TPTask.h:166
TPTask::_xEtMsm
hcaldqm::ContainerXXX< uint32_t > _xEtMsm
Definition: TPTask.h:167
TPTask::_cOccupancyCutEmul_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyCutEmul_ElectronicsuTCA
Definition: TPTask.h:105
TPTask::_cFGMsm_ElectronicsuTCA
hcaldqm::Container2D _cFGMsm_ElectronicsuTCA
Definition: TPTask.h:121
TPTask::_cEtMsm_depthlike
hcaldqm::ContainerSingle2D _cEtMsm_depthlike
Definition: TPTask.h:122
TPTask::_cEtData_ElectronicsuTCA
hcaldqm::ContainerProf2D _cEtData_ElectronicsuTCA
Definition: TPTask.h:79
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
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:309
hcaldqm::hashfunctions::fElectronics
Definition: HashFunctions.h:145
TPTask::_cFGMsm_ElectronicsVME
hcaldqm::Container2D _cFGMsm_ElectronicsVME
Definition: TPTask.h:120
edm::LuminosityBlock::index
LuminosityBlockIndex index() const
Definition: LuminosityBlock.cc:20
TPTask::_cOccupancyEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyEmulvsBX_TTSubdet
Definition: TPTask.h:153
TPTask::fEmulMsn
Definition: TPTask.h:47
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:155
TPTask::_cEtCutData_depthlike
hcaldqm::ContainerSingleProf2D _cEtCutData_depthlike
Definition: TPTask.h:86
hcaldqm::electronicsmap::ElectronicsMap::initialize
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
Definition: ElectronicsMap.cc:6
hcaldqm::constants::SPIGOT_MIN
const int SPIGOT_MIN
Definition: Constants.h:118
L1TStage2CaloLayer1.h
TPTask::_cEtData_TTSubdet
hcaldqm::Container1D _cEtData_TTSubdet
Definition: TPTask.h:68
hcaldqm::filter::fPreserver
Definition: HashFilter.h:19
TPTask::_cOccupancyCutEmul_ElectronicsVME
hcaldqm::Container2D _cOccupancyCutEmul_ElectronicsVME
Definition: TPTask.h:104
TPTask::_xSentRecL1Msm
hcaldqm::ContainerXXX< uint32_t > _xSentRecL1Msm
Definition: TPTask.h:167
hcaldqm::constants::SLOT_uTCA_MIN
const int SLOT_uTCA_MIN
Definition: Constants.h:105
hcaldqm::constants::FIBER_uTCA_MIN1
const int FIBER_uTCA_MIN1
Definition: Constants.h:126
TPTask::_cOccupancyEmul_depthlike
hcaldqm::ContainerSingle2D _cOccupancyEmul_depthlike
Definition: TPTask.h:109
TPTask::nTPFlag
Definition: TPTask.h:47
TPTask::_thresh_DataMsn
double _thresh_DataMsn
Definition: TPTask.h:52
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
TPTask::_cEtCutEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtCutEmulvsBX_TTSubdet
Definition: TPTask.h:76
hcaldqm::hashfunctions::fFED
Definition: HashFunctions.h:136
hcaldqm::DQModule::_ptype
ProcessingType _ptype
Definition: DQModule.h:43
TPTask::_cEtMsmvsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmvsBX_TTSubdet
Definition: TPTask.h:126
TPTask::_vflags
std::vector< hcaldqm::flag::Flag > _vflags
Definition: TPTask.h:46
TPTask::_cEtCutDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtCutDatavsBX_TTSubdet
Definition: TPTask.h:75
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:70
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:57
TPTask::_filter_VME
hcaldqm::filter::HashFilter _filter_VME
Definition: TPTask.h:63
hcaldqm::utilities::getFEDList
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
TPTask::_cOccupancyCutDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyCutDatavsBX_TTSubdet
Definition: TPTask.h:154
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:157
TPTask::_cEtCutEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtCutEmulvsLS_TTSubdet
Definition: TPTask.h:74
TPTask::_cOccupancyData_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyData_ElectronicsuTCA
Definition: TPTask.h:98
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
simKBmtfDigis_cfi.bx
bx
Definition: simKBmtfDigis_cfi.py:55
TPTask::_cOccupancyDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyDatavsBX_TTSubdet
Definition: TPTask.h:152
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:175
TPTask::_cEtEmul_ElectronicsuTCA
hcaldqm::ContainerProf2D _cEtEmul_ElectronicsuTCA
Definition: TPTask.h:81
TPTask::_cOccupancyNoTDC_HF_ieta
hcaldqm::ContainerSingle1D _cOccupancyNoTDC_HF_ieta
Definition: TPTask.h:172
TPTask::_cEtEmul_ElectronicsVME
hcaldqm::ContainerProf2D _cEtEmul_ElectronicsVME
Definition: TPTask.h:80
TPTask::_cMsnEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnEmulvsLS_TTSubdet
Definition: TPTask.h:146
hcaldqm::quantity::fBX
Definition: ValueQuantity.h:45
hcaldqm::quantity::fTTieta
Definition: TrigTowerQuantity.h:15
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
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:159
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
hcaldqm::DQModule::_currentLS
int _currentLS
Definition: DQModule.h:52
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:171
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:92
TPTask::_xNumCorr
hcaldqm::ContainerXXX< uint32_t > _xNumCorr
Definition: TPTask.h:167
hcaldqm::constants::CRATE_uTCA_MIN
const int CRATE_uTCA_MIN
Definition: Constants.h:98
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:140
hcaldqm::constants::FIBER_VME_MIN
const int FIBER_VME_MIN
Definition: Constants.h:123
edm::ESHandle< HcalDbService >
HcalElectronicsId
Readout chain identification for Hcal.
Definition: HcalElectronicsId.h:32
TPTask::_cMsnData_depthlike
hcaldqm::ContainerSingle2D _cMsnData_depthlike
Definition: TPTask.h:136
hcaldqm::quantity::fEtCorr_256
Definition: ValueQuantity.h:43
hcaldqm::DQModule::_name
std::string _name
Definition: DQModule.h:41
TPTask::_cOccupancy_HF_ieta
hcaldqm::ContainerSingle1D _cOccupancy_HF_ieta
Definition: TPTask.h:172
TPTask::_cOccupancyDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyDatavsLS_TTSubdet
Definition: TPTask.h:156
hcaldqm::constants::FIBERCH_MIN
const int FIBERCH_MIN
Definition: Constants.h:132
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:125
hcaldqm::utilities::isFEDHF
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:156
TPTask::_cOccupancyEmul2x3_depthlike
hcaldqm::ContainerSingle2D _cOccupancyEmul2x3_depthlike
Definition: TPTask.h:115
hcaldqm::quantity::fEt_256
Definition: ValueQuantity.h:24
TPTask::_cMsnData_ElectronicsVME
hcaldqm::Container2D _cMsnData_ElectronicsVME
Definition: TPTask.h:134
hcaldqm::Container2D::setBinContent
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
TPTask::_xDataTotal
hcaldqm::ContainerXXX< uint32_t > _xDataTotal
Definition: TPTask.h:167
TPTask::_cMsnEmul_depthlike
hcaldqm::ContainerSingle2D _cMsnEmul_depthlike
Definition: TPTask.h:145
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:54
TPTask::_cMsnEmul_ElectronicsVME
hcaldqm::Container2D _cMsnEmul_ElectronicsVME
Definition: TPTask.h:143
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:167
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
hcaldqm::hashfunctions::fTTSubdet
Definition: HashFunctions.h:148
edm::ParameterSet
Definition: ParameterSet.h:36
hcaldqm::Container2D::book
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
TPTask::_cSummaryvsLS_FED
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: TPTask.h:165
TPTask::_thresh_EtMsmRate_low
double _thresh_EtMsmRate_low
Definition: TPTask.h:52
hcaldqm::Container2D::fill
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
TPTask::_cOccupancyCutData_ElectronicsVME
hcaldqm::Container2D _cOccupancyCutData_ElectronicsVME
Definition: TPTask.h:102
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:69
TPTask::_cMsnDatavsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnDatavsBX_TTSubdet
Definition: TPTask.h:139
hcaldqm::DQModule::_logger
Logger _logger
Definition: DQModule.h:54
TPTask::_xEmulMsn
hcaldqm::ContainerXXX< uint32_t > _xEmulMsn
Definition: TPTask.h:167
TPTask::_cEtMsmvsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmvsLS_TTSubdet
Definition: TPTask.h:124
printConversionInfo.aux
aux
Definition: printConversionInfo.py:19
TPTask::_cEtMsm_ElectronicsVME
hcaldqm::Container2D _cEtMsm_ElectronicsVME
Definition: TPTask.h:118
TPTask::_cEtCorr2x3_TTSubdet
hcaldqm::Container2D _cEtCorr2x3_TTSubdet
Definition: TPTask.h:71
runTauDisplay.eid
eid
Definition: runTauDisplay.py:298
TPTask::_cOccupancyData_ElectronicsVME
hcaldqm::Container2D _cOccupancyData_ElectronicsVME
Definition: TPTask.h:97
TPTask::_tagDataL1Rec
edm::InputTag _tagDataL1Rec
Definition: TPTask.h:37
TPTask::_cMsnCutEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutEmulvsBX_TTSubdet
Definition: TPTask.h:149
TPTask
Definition: TPTask.py:1
TPTask::fUnknownIds
Definition: TPTask.h:47
hcaldqm::ContainerSingle1D::fill
virtual void fill(int)
Definition: ContainerSingle1D.cc:80
TPTask::_ehashmap
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: TPTask.h:60
TPTask::_cEtData_depthlike
hcaldqm::ContainerSingleProf2D _cEtData_depthlike
Definition: TPTask.h:84
TPTask::_unknownIdsPresent
bool _unknownIdsPresent
Definition: TPTask.h:163
dqm::implementation::IBooker::UseLumiScope
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:463
cuy.ib
ib
Definition: cuy.py:662
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:733
edm::EventSetup
Definition: EventSetup.h:57
TPTask::_process
void _process(edm::Event const &, edm::EventSetup const &) override
Definition: TPTask.cc:744
hcaldqm::quantity::fSpigot
Definition: ElectronicsQuantity.h:23
TPTask::fDataMsn
Definition: TPTask.h:47
get
#define get
hcaldqm::f1LS
Definition: DQTask.h:32
TPTask::_cEtMsmRatiovsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtMsmRatiovsBX_TTSubdet
Definition: TPTask.h:127
TPTask::globalBeginLuminosityBlock
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
Definition: TPTask.cc:1193
ComparisonHelper::zip
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
Definition: L1TStage2CaloLayer1.h:38
TPTask::_cEtCorrRatiovsLS_TTSubdet
hcaldqm::ContainerProf1D _cEtCorrRatiovsLS_TTSubdet
Definition: TPTask.h:93
hcaldqm::DQTask::_vcdaqEids
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:68
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:48
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:171
TPTask::_thresh_FGMsmRate_low
double _thresh_FGMsmRate_low
Definition: TPTask.h:52
TPTask::_filter_depth0
hcaldqm::filter::HashFilter _filter_depth0
Definition: TPTask.h:65
hcaldqm::flag::fPROBLEMATIC
Definition: Flag.h:18
TPTask::_tokEmulNoTDCCut
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokEmulNoTDCCut
Definition: TPTask.h:43
TPTask::fSentRecL1Msm
Definition: TPTask.h:47
TPTask::_thresh_EtMsmRate_high
double _thresh_EtMsmRate_high
Definition: TPTask.h:52
hcaldqm::DQModule::_maxLS
int _maxLS
Definition: DQModule.h:53
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:1198
TPTask::_cEtMsm_ElectronicsuTCA
hcaldqm::Container2D _cEtMsm_ElectronicsuTCA
Definition: TPTask.h:119
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:51
TPTask::_cOccupancyCutData_depthlike
hcaldqm::ContainerSingle2D _cOccupancyCutData_depthlike
Definition: TPTask.h:110
hcaldqm::utilities::isFEDHBHE
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:142
nanoDQM_cff.Flag
Flag
Definition: nanoDQM_cff.py:65
TPTask::_cOccupancyCutDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cOccupancyCutDatavsLS_TTSubdet
Definition: TPTask.h:158
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:135
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:80
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:207
TPTask::_xEmulTotal
hcaldqm::ContainerXXX< uint32_t > _xEmulTotal
Definition: TPTask.h:167
TPTask::_cMsnCutDatavsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutDatavsLS_TTSubdet
Definition: TPTask.h:138
TPTask::_cOccupancyData_depthlike
hcaldqm::ContainerSingle2D _cOccupancyData_depthlike
Definition: TPTask.h:108
hcaldqm::utilities::fed2crate
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
TPTask::_skip1x1
bool _skip1x1
Definition: TPTask.h:50
hcaldqm::utilities::getFEDVMEList
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
TPTask::fEtMsm
Definition: TPTask.h:47
hcaldqm::ContainerXXX::book
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
TPTask::_cMsnCutEmulvsLS_TTSubdet
hcaldqm::ContainerProf1D _cMsnCutEmulvsLS_TTSubdet
Definition: TPTask.h:147
hcaldqm::ContainerXXX::get
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
TPTask::_cMsnEmulvsBX_TTSubdet
hcaldqm::ContainerProf1D _cMsnEmulvsBX_TTSubdet
Definition: TPTask.h:148
TPTask::_cFGCorr_TTSubdet
hcaldqm::Container2D _cFGCorr_TTSubdet[hcaldqm::constants::NUM_FGBITS]
Definition: TPTask.h:72
TPTask::_cEtCorrRatiovsBX_TTSubdet
hcaldqm::ContainerProf1D _cEtCorrRatiovsBX_TTSubdet
Definition: TPTask.h:94
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:64
TPTask::_cEtCorrRatio_ElectronicsuTCA
hcaldqm::ContainerProf2D _cEtCorrRatio_ElectronicsuTCA
Definition: TPTask.h:91
TPTask::_cEtMsm_uHTR_L1T_depthlike
hcaldqm::ContainerSingle2D _cEtMsm_uHTR_L1T_depthlike
Definition: TPTask.h:130
TPTask::_thresh_EmulMsn
double _thresh_EmulMsn
Definition: TPTask.h:52
TPTask::_cOccupancyEmul_ElectronicsVME
hcaldqm::Container2D _cOccupancyEmul_ElectronicsVME
Definition: TPTask.h:99
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:137
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:47
TPTask::_cOccupancyEmul_ElectronicsuTCA
hcaldqm::Container2D _cOccupancyEmul_ElectronicsuTCA
Definition: TPTask.h:100
TPTask::_tagData
edm::InputTag _tagData
Definition: TPTask.h:36
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:52
TPTask::_cOccupancyData2x3_depthlike
hcaldqm::ContainerSingle2D _cOccupancyData2x3_depthlike
Definition: TPTask.h:114
TPTask::_cOccupancyCutEmul_depthlike
hcaldqm::ContainerSingle2D _cOccupancyCutEmul_depthlike
Definition: TPTask.h:111
hcaldqm::utilities::getFEDuTCAList
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
TPTask::_cEtMsm_uHTR_L1T_LS
hcaldqm::ContainerSingle1D _cEtMsm_uHTR_L1T_LS
Definition: TPTask.h:131
TPTask::_cEtData_ElectronicsVME
hcaldqm::ContainerProf2D _cEtData_ElectronicsVME
Definition: TPTask.h:78
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:167
hcaldqm::constants::CRATE_VME_MIN
const int CRATE_VME_MIN
Definition: Constants.h:93
hcaldqm::filter::fFilter
Definition: HashFilter.h:19
TPTask::_cEtCorrRatio_ElectronicsVME
hcaldqm::ContainerProf2D _cEtCorrRatio_ElectronicsVME
Definition: TPTask.h:90
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:39
hcaldqm::fOffline
Definition: DQModule.h:26
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
HcalTrigTowerDetId
Definition: HcalTrigTowerDetId.h:14
hcaldqm::quantity::LumiSection
Definition: ValueQuantity.h:390