test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TPTask.cc
Go to the documentation of this file.
2 
4  DQTask(ps)
5 {
7  edm::InputTag("hcalDigis"));
9  edm::InputTag("emulDigis"));
10 
11  _tokData = consumes<HcalTrigPrimDigiCollection>(_tagData);
12  _tokEmul = consumes<HcalTrigPrimDigiCollection>(_tagEmul);
13 
14  _skip1x1 = ps.getUntrackedParameter<bool>("skip1x1", true);
15  _cutEt = ps.getUntrackedParameter<int>("cutEt", 3);
16  _thresh_EtMsmRate = ps.getUntrackedParameter<double>("thresh_EtMsmRate",
17  0.1);
18  _thresh_FGMsmRate = ps.getUntrackedParameter<double>("thresh_FGMsmRate",
19  0.1);
20  _thresh_DataMsn = ps.getUntrackedParameter<double>("thresh_DataMsn",
21  0.1);
22  _thresh_EmulMsn = ps.getUntrackedParameter<double>("thresh_EmulMsn");
23 
24  _vflags.resize(nTPFlag);
25  _vflags[fEtMsm]=flag::Flag("EtMsm");
26  _vflags[fFGMsm]=flag::Flag("FGMsm");
27  _vflags[fDataMsn]=flag::Flag("DataMsn");
28  _vflags[fEmulMsn]=flag::Flag("EmulMsn");
29 }
30 
32  edm::Run const& r, edm::EventSetup const& es)
33 {
34  DQTask::bookHistograms(ib,r,es);
35 
36  // GET WHAT YOU NEED
38  es.get<HcalDbRecord>().get(dbs);
39  _emap = dbs->getHcalMapping();
40  std::vector<int> vFEDs = utilities::getFEDList(_emap);
41  std::vector<int> vFEDsVME = utilities::getFEDVMEList(_emap);
42  std::vector<int> vFEDsuTCA = utilities::getFEDuTCAList(_emap);
43  std::vector<uint32_t> vVME;
44  std::vector<uint32_t> vuTCA;
45  std::vector<uint32_t> depth0;
46  vVME.push_back(HcalElectronicsId(FIBERCH_MIN,
49  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
51  vVME);
53  vuTCA);
54  depth0.push_back(HcalTrigTowerDetId(1, 1, 0).rawId());
56  depth0);
57 
58  // push the rawIds of each fed into the vector
59  // this vector is used at endlumi for online state generation
60  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
61  it!=vFEDsVME.end(); ++it)
62  {
64  SPIGOT_MIN, (*it)-FED_VME_MIN).rawId());
65  }
66  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
67  it!=vFEDsuTCA.end(); ++it)
68  {
70  SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
71  }
72 
73  // INITIALIZE FIRST
74  // Et/FG
89 
92  new quantity::FEDQuantity(vFEDsVME),
97  new quantity::FEDQuantity(vFEDsuTCA),
102  new quantity::FEDQuantity(vFEDsVME),
107  new quantity::FEDQuantity(vFEDsuTCA),
126 
127  // Occupancies
130  new quantity::FEDQuantity(vFEDsVME),
135  new quantity::FEDQuantity(vFEDsVME),
140  new quantity::FEDQuantity(vFEDsuTCA),
145  new quantity::FEDQuantity(vFEDsuTCA),
148 
151  new quantity::FEDQuantity(vFEDsVME),
156  new quantity::FEDQuantity(vFEDsVME),
161  new quantity::FEDQuantity(vFEDsuTCA),
166  new quantity::FEDQuantity(vFEDsuTCA),
169 
170  _cOccupancyData_depthlike.initialize(_name, "OccupancyData",
174  _cOccupancyEmul_depthlike.initialize(_name, "OccupancyEmul",
178  _cOccupancyCutData_depthlike.initialize(_name, "OccupancyCutData",
182  _cOccupancyCutEmul_depthlike.initialize(_name, "OccupancyCutEmul",
186 
187  // Mismatches
190  new quantity::FEDQuantity(vFEDsVME),
195  new quantity::FEDQuantity(vFEDsVME),
200  new quantity::FEDQuantity(vFEDsuTCA),
205  new quantity::FEDQuantity(vFEDsuTCA),
216 
217  // Missing Data w.r.t. Emulator
220  new quantity::FEDQuantity(vFEDsVME),
225  new quantity::FEDQuantity(vFEDsuTCA),
230  new quantity::FEDQuantity(vFEDsVME),
235  new quantity::FEDQuantity(vFEDsuTCA),
248  new quantity::FEDQuantity(vFEDsVME),
253  new quantity::FEDQuantity(vFEDsuTCA),
260 
261  _cOccupancyDatavsBX_TTSubdet.initialize(_name, "OccupancyDatavsBX",
265  _cOccupancyEmulvsBX_TTSubdet.initialize(_name, "OccupancyEmulvsBX",
269  _cOccupancyCutDatavsBX_TTSubdet.initialize(_name, "OccupancyCutDatavsBX",
273  _cOccupancyCutEmulvsBX_TTSubdet.initialize(_name, "OccupancyCutEmulvsBX",
277 
278  // INITIALIZE HISTOGRAMS to be used in Online only!
279  if (_ptype==fOnline)
280  {
281  _cEtCorr2x3_TTSubdet.initialize(_name, "EtCorr2x3",
286  _cOccupancyData2x3_depthlike.initialize(_name, "OccupancyData2x3",
290  _cOccupancyEmul2x3_depthlike.initialize(_name, "OccupancyEmul2x3",
294  _cEtCutDatavsLS_TTSubdet.initialize(_name, "EtCutDatavsLS",
298  _cEtCutEmulvsLS_TTSubdet.initialize(_name, "EtCutEmulvsLS",
302  _cEtCutDatavsBX_TTSubdet.initialize(_name, "EtCutDatavsBX",
306  _cEtCutEmulvsBX_TTSubdet.initialize(_name, "EtCutEmulvsBX",
310  _cEtCorrRatiovsLS_TTSubdet.initialize(_name, "EtCorrRatiovsLS",
314  _cEtCorrRatiovsBX_TTSubdet.initialize(_name, "EtCorrRatiovsBX",
318  _cEtMsmRatiovsLS_TTSubdet.initialize(_name, "EtMsmRatiovsLS",
322  _cEtMsmRatiovsBX_TTSubdet.initialize(_name, "EtMsmRatiovsBX",
334  _cMsnDatavsLS_TTSubdet.initialize(_name, "MsnDatavsLS",
338  _cMsnCutDatavsLS_TTSubdet.initialize(_name, "MsnCutDatavsLS",
342  _cMsnDatavsBX_TTSubdet.initialize(_name, "MsnDatavsBX",
346  _cMsnCutDatavsBX_TTSubdet.initialize(_name, "MsnCutDatavsBX",
350  _cMsnEmulvsLS_TTSubdet.initialize(_name, "MsnEmulvsLS",
354  _cMsnCutEmulvsLS_TTSubdet.initialize(_name, "MsnCutEmulvsLS",
358  _cMsnEmulvsBX_TTSubdet.initialize(_name, "MsnEmulvsBX",
362  _cMsnCutEmulvsBX_TTSubdet.initialize(_name, "MsnCutEmulvsBX",
366  _cOccupancyDatavsLS_TTSubdet.initialize(_name, "OccupancyDatavsLS",
371  "OccupancyCutDatavsLS",
375  _cOccupancyDatavsBX_TTSubdet.initialize(_name, "OccupancyDatavsBX",
380  "OccupancyCutDatavsBX",
384  _cOccupancyEmulvsLS_TTSubdet.initialize(_name, "OccupancyEmulvsLS",
389  "OccupancyCutEmulvsLS",
393  _cOccupancyEmulvsBX_TTSubdet.initialize(_name, "OccupancyEmulvsBX",
398  "OccupancyCutEmulvsBX",
402  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
407  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
409  new quantity::FEDQuantity(vFEDs),
411 
419  }
420 
421  // BOOK HISTOGRAMS
461 
462  // whatever has to go online only goes here
463  if (_ptype==fOnline)
464  {
496 
497  _xEtMsm.book(_emap);
498  _xFGMsm.book(_emap);
504  }
505 
506  // initialize the hash map
508 }
509 
510 /* virtual */ void TPTask::_resetMonitors(UpdateFreq uf)
511 {
512  DQTask::_resetMonitors(uf);
513 }
514 
515 /* virtual */ void TPTask::_process(edm::Event const& e,
516  edm::EventSetup const&)
517 {
520  if (!e.getByToken(_tokData, cdata))
521  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available"
522  + _tagData.label() + " " + _tagData.instance());
523  if (!e.getByToken(_tokEmul, cemul))
524  _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available"
525  + _tagEmul.label() + " " + _tagEmul.instance());
526 
527  // extract some info per event
528  int bx = e.bunchCrossing();
529 
530  // some summaries... per event
531  int numHBHE(0), numHF(0), numCutHBHE(0), numCutHF(0);
532  int numCorrHBHE(0), numCorrHF(0);
533  int numMsmHBHE(0), numMsmHF(0);
534  int numMsnHBHE(0), numMsnHF(0), numMsnCutHBHE(0), numMsnCutHF(0);
535 
536  /*
537  * STEP1:
538  * Loop over the data digis and
539  * - do ... for all the data digis
540  * - find the emulator digi
541  * --- compare soi Et
542  * --- compare soi FG
543  * --- Do not fill anything for emulator Et!!!
544  */
545  for (HcalTrigPrimDigiCollection::const_iterator it=cdata->begin();
546  it!=cdata->end(); ++it)
547  {
548  HcalTrigTowerDetId tid = it->id();
549 
550  //
551  // HF 2x3 TPs Treat theam separately and only for ONLINE!
552  //
553  if (tid.version()==0 && tid.ietaAbs()>=29)
554  {
555  // do this only for online processing
556  if (_ptype==fOnline)
557  {
559  HcalTrigPrimDigiCollection::const_iterator jt=cemul->find(tid);
560  if (jt!=cemul->end())
561  _cEtCorr2x3_TTSubdet.fill(tid, it->SOI_compressedEt(),
562  jt->SOI_compressedEt());
563  }
564 
565  // skip to the next tp digi
566  continue;
567  }
568 
569  // FROM THIS POINT, HBHE + 1x1 HF TPs
571  int soiEt_d = it->SOI_compressedEt();
572  int soiFG_d = it->SOI_fineGrain()?1:0;
573  tid.ietaAbs()>=29?numHF++:numHBHE++;
574 
575  // fill w/o a cut
576  _cEtData_TTSubdet.fill(tid, soiEt_d);
577  _cEtData_depthlike.fill(tid, soiEt_d);
579  if (eid.isVMEid())
580  {
582  _cEtData_ElectronicsVME.fill(eid, soiEt_d);
583  }
584  else
585  {
587  _cEtData_ElectronicsuTCA.fill(eid, soiEt_d);
588  }
589 
590  // FILL w/a CUT
591  if (soiEt_d>_cutEt)
592  {
593  tid.ietaAbs()>=29?numCutHF++:numCutHBHE++;
595  _cEtCutData_depthlike.fill(tid, soiEt_d);
596 
597  // ONLINE ONLY!
598  if (_ptype==fOnline)
599  {
601  _cEtCutDatavsBX_TTSubdet.fill(tid, bx, soiEt_d);
602  _xDataTotal.get(eid)++;
603  }
604  // ^^^ONLINE ONLY!
605 
606  if (eid.isVMEid())
608  else
610  }
611 
612  // FIND the EMULATOR DIGI
613  HcalTrigPrimDigiCollection::const_iterator jt=cemul->find(tid);
614  if (jt!=cemul->end())
615  {
616  // if PRESENT!
617  int soiEt_e = jt->SOI_compressedEt();
618  int soiFG_e = jt->SOI_fineGrain()?1:0;
619  // if both are zeroes => set 1
620  double rEt = soiEt_d==0 && soiEt_e==0?1:
621  double(std::min(soiEt_d, soiEt_e))/
622  double(std::max(soiEt_e, soiEt_d));
623 
624  // ONLINE ONLY!
625  if (_ptype==fOnline)
626  {
627  _xNumCorr.get(eid)++;
628  tid.ietaAbs()>=29?numCorrHF++:numCorrHBHE++;
630  _cEtCorrRatiovsBX_TTSubdet.fill(tid, bx, rEt);
631  }
632  // ^^^ONLINE ONLY!
633 
634  _cEtCorrRatio_depthlike.fill(tid, rEt);
635  _cEtCorr_TTSubdet.fill(tid, soiEt_d, soiEt_e);
636  _cFGCorr_TTSubdet.fill(tid, soiFG_d, soiFG_e);
637  // FILL w/o a CUT
638  if (eid.isVMEid())
639  {
641  }
642  else
643  {
645  }
646 
647  // if SOI Et are not equal
648  // fill mismatched
649  if (soiEt_d!=soiEt_e)
650  {
651  tid.ietaAbs()>=29?numMsmHF++:numMsmHBHE++;
652  _cEtMsm_depthlike.fill(tid);
653  if (eid.isVMEid())
655  else
657  if (_ptype==fOnline)
658  _xEtMsm.get(eid)++;
659  }
660  // if SOI FG are not equal
661  // fill mismatched
662  if (soiFG_d!=soiFG_e)
663  {
664  _cFGMsm_depthlike.fill(tid);
665  if (eid.isVMEid())
667  else
669  if (_ptype==fOnline)
670  _xFGMsm.get(eid)++;
671  }
672  }
673  else
674  {
675  // IF MISSING
676  _cEtCorr_TTSubdet.fill(tid, soiEt_d, -2);
678  tid.ietaAbs()>=29?numMsnHF++:numMsnHBHE++;
679  if (eid.isVMEid())
681  else
683 
684  if (soiEt_d>_cutEt)
685  {
686  tid.ietaAbs()>=29?numMsnCutHF++:numMsnCutHBHE++;
687  if (_ptype==fOnline)
688  _xEmulMsn.get(eid)++;
689  }
690  }
691  }
692 
693  // ONLINE ONLY!
694  if (_ptype==fOnline)
695  {
697  numHBHE);
699  numHF);
701  numCutHBHE);
703  numCutHF);
705  _currentLS, numHBHE);
707  _currentLS,numHF);
709  _currentLS, numCutHBHE);
711  _currentLS, numCutHF);
712 
714  numMsmHBHE);
716  numMsmHF);
718  numMsmHBHE);
720  numMsmHF);
721 
723  double(numMsmHBHE)/double(numCorrHBHE));
725  double(numMsmHF)/double(numCorrHF));
727  double(numMsmHBHE)/double(numCorrHBHE));
729  double(numMsmHF)/double(numCorrHF));
730 
732  _currentLS, numMsnHBHE);
734  _currentLS, numMsnHF);
736  _currentLS, numMsnCutHBHE);
738  _currentLS, numMsnCutHF);
739 
741  bx, numMsnHBHE);
743  bx, numMsnHF);
745  bx, numMsnCutHBHE);
747  bx, numMsnCutHF);
748  }
749 
750  numHBHE=0; numHF=0; numCutHBHE=0; numCutHF=0;
751  numMsnHBHE=0; numMsnHF=0; numCutHBHE=0; numCutHF=0;
752 
753  /*
754  * STEP2:
755  * Loop over the emulator digis and
756  * - do ... for all the emulator digis
757  * - find data digi and
758  * --- if found skip
759  * --- if not found - fill the missing Data plot
760  */
761  for (HcalTrigPrimDigiCollection::const_iterator it=cemul->begin();
762  it!=cemul->end(); ++it)
763  {
764  HcalTrigTowerDetId tid = it->id();
765 
766  // HF 2x3 TPs. Only do it for Online!!!
767  if (tid.version()==0 && tid.ietaAbs()>=29)
768  {
769  // only do this for online processing
770  if (_ptype==fOnline)
772  continue;
773  }
775  int soiEt = it->SOI_compressedEt();
776 
777  // FILL/INCREMENT w/o a CUT
778  tid.ietaAbs()>=29?numHF++:numHBHE++;
779  _cEtEmul_TTSubdet.fill(tid, soiEt);
780  _cEtEmul_depthlike.fill(tid, soiEt);
782  if (eid.isVMEid())
783  {
785  _cEtEmul_ElectronicsVME.fill(eid, soiEt);
786  }
787  else
788  {
790  _cEtEmul_ElectronicsuTCA.fill(eid, soiEt);
791  }
792 
793  // FILL w/ a CUT
794  if (soiEt>_cutEt)
795  {
796  tid.ietaAbs()>=29?numCutHF++:numCutHBHE++;
798  _cEtCutEmul_depthlike.fill(tid, soiEt);
799  if (eid.isVMEid())
801  else
803 
804  // ONLINE ONLY!
805  if (_ptype==fOnline)
806  {
808  _cEtCutEmulvsBX_TTSubdet.fill(tid, bx, soiEt);
809  _xEmulTotal.get(eid)++;
810  }
811  // ^^^ONLINE ONLY!
812  }
813 
814  // FIND a data digi
815  HcalTrigPrimDigiCollection::const_iterator jt=cdata->find(tid);
816  if (jt==cdata->end())
817  {
818  tid.ietaAbs()>=29?numMsnHF++:numMsnHBHE++;
819  _cEtCorr_TTSubdet.fill(tid, -2, soiEt);
820  if (eid.isVMEid())
822  else
824  if (soiEt>_cutEt)
825  {
826  tid.ietaAbs()>=29?numMsnCutHF++:numMsnCutHBHE++;
827  if (_ptype==fOnline)
828  _xDataMsn.get(eid)++;
829  }
830  }
831  }
832 
833  // ONLINE ONLY!
834  if (_ptype==fOnline)
835  {
837  numHBHE);
839  numHF);
841  numCutHBHE);
843  numCutHF);
844 
846  _currentLS, numHBHE);
848  _currentLS,numHF);
850  _currentLS, numCutHBHE);
852  _currentLS, numCutHF);
853 
855  _currentLS, numMsnHBHE);
857  _currentLS, numMsnHF);
859  _currentLS, numMsnCutHBHE);
861  _currentLS, numMsnCutHF);
862 
864  bx, numMsnHBHE);
866  bx, numMsnHF);
868  bx, numMsnCutHBHE);
870  bx, numMsnCutHF);
871  }
872  // ^^^ONLINE ONLY!
873 }
874 
876  edm::EventSetup const& es)
877 {
878  DQTask::beginLuminosityBlock(lb, es);
879 
880  /*
881  // ONLINE ONLY!
882  if (_ptype!=fOnline)
883  return;
884  _cEtCutDatavsLS_TTSubdet.extendAxisRange(_currentLS);
885  _cEtCutEmulvsLS_TTSubdet.extendAxisRange(_currentLS);
886  _cEtCorrRatiovsLS_TTSubdet.extendAxisRange(_currentLS);
887  _cEtMsmvsLS_TTSubdet.extendAxisRange(_currentLS);
888  _cEtMsmRatiovsLS_TTSubdet.extendAxisRange(_currentLS);
889  _cMsnDatavsLS_TTSubdet.extendAxisRange(_currentLS);
890  _cMsnCutDatavsLS_TTSubdet.extendAxisRange(_currentLS);
891  _cMsnEmulvsLS_TTSubdet.extendAxisRange(_currentLS);
892  _cMsnCutEmulvsLS_TTSubdet.extendAxisRange(_currentLS);
893  _cOccupancyDatavsLS_TTSubdet.extendAxisRange(_currentLS);
894  _cOccupancyEmulvsLS_TTSubdet.extendAxisRange(_currentLS);
895  _cOccupancyCutDatavsLS_TTSubdet.extendAxisRange(_currentLS);
896  _cOccupancyCutEmulvsLS_TTSubdet.extendAxisRange(_currentLS);
897 // _cSummaryvsLS_FED.extendAxisRange(_currentLS);
898 // _cSummaryvsLS.extendAxisRange(_currentLS);
899 // */
900 }
901 
903  edm::EventSetup const& es)
904 {
905  if (_ptype!=fOnline)
906  return;
907 
908  //
909  // GENERATE STATUS ONLY FOR ONLINE!
910  //
911  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
912  it!=_vhashFEDs.end(); ++it)
913  {
914  flag::Flag fSum("TP");
916 
917  std::vector<uint32_t>::const_iterator cit=std::find(
918  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
919  if (cit==_vcdaqEids.end())
920  {
921  // not @cDAQ
922  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
923  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
924  int(flag::fNCDAQ));
926  continue;
927  }
928 
929  if (utilities::isFEDHBHE(eid) || utilities::isFEDHF(eid))
930  {
931  // FED is @cDAQ
932  double etmsm = _xNumCorr.get(eid)>0?
933  double(_xEtMsm.get(eid))/double(_xNumCorr.get(eid)):0;
934  double fgmsm = _xNumCorr.get(eid)>0?
935  double(_xFGMsm.get(eid))/double(_xNumCorr.get(eid)):0;
936  /*
937  * UNUSED VARS
938  * double dmsm = _xDataTotal.get(eid)>0?
939  double(_xDataMsn.get(eid))/double(_xDataTotal.get(eid)):0;
940  double emsm = _xEmulTotal.get(eid)>0?
941  double(_xEmulMsn.get(eid))/double(_xEmulTotal.get(eid)):0;
942  */
943  if (etmsm>=_thresh_EtMsmRate)
944  _vflags[fEtMsm]._state = flag::fBAD;
945  else
946  _vflags[fEtMsm]._state = flag::fGOOD;
947  if (fgmsm>=_thresh_FGMsmRate)
948  _vflags[fFGMsm]._state = flag::fBAD;
949  else
950  _vflags[fFGMsm]._state = flag::fGOOD;
951  /*
952  * DISABLE THESE FLAGS FOR ONLINE FOR NOW!
953  if (dmsm>=_thresh_DataMsn)
954  _vflags[fDataMsn]._state = flag::fBAD;
955  else
956  _vflags[fDataMsn]._state = flag::fGOOD;
957  if (emsm>=_thresh_EmulMsn)
958  _vflags[fEmulMsn]._state = flag::fBAD;
959  else
960  _vflags[fEmulMsn]._state = flag::fGOOD;
961  */
962  }
963 
964  int iflag=0;
965  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
966  ft!=_vflags.end(); ++ft)
967  {
968  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
969  ft->_state);
970  fSum+=(*ft);
971  iflag++;
972 
973  // this is the MUST!
974  // reset after using this flag
975  ft->reset();
976  }
977  _cSummaryvsLS.setBinContent(eid, _currentLS, int(fSum._state));
978  }
979 
980  // reset...
983  _xEmulTotal.reset();
984 
985  // in the end always do the DQTask::endLumi
986  DQTask::endLuminosityBlock(lb, es);
987 }
988 
990 
HashFilter _filter_uTCA
Definition: TPTask.h:72
Container2D _cMsnEmul_ElectronicsVME
Definition: TPTask.h:147
ContainerSingle2D _cEtMsm_depthlike
Definition: TPTask.h:130
T getUntrackedParameter(std::string const &, T const &) const
bool _skip1x1
Definition: TPTask.h:58
HashFilter _filter_depth0
Definition: TPTask.h:73
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *qy=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
edm::InputTag _tagData
Definition: TPTask.h:41
virtual void setBinContent(HcalDetId const &, int)
Definition: Container2D.cc:235
ContainerSingleProf2D _cEtEmul_depthlike
Definition: TPTask.h:93
int const CRATE_VME_MIN
Definition: Constants.h:60
Container2D _cEtMsm_ElectronicsVME
Definition: TPTask.h:126
int ib
Definition: cuy.py:660
uint16_t fed2crate(int fed)
Definition: Utilities.cc:12
double _thresh_EtMsmRate
Definition: TPTask.h:60
ContainerProf1D _cEtCutEmulvsBX_TTSubdet
Definition: TPTask.h:84
ContainerSingle2D _cMsnEmul_depthlike
Definition: TPTask.h:149
std::vector< uint32_t > _vhashFEDs
Definition: TPTask.h:64
ContainerProf1D _cOccupancyCutEmulvsLS_TTSubdet
Definition: TPTask.h:163
ContainerXXX< uint32_t > _xDataTotal
Definition: TPTask.h:168
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
std::vector< flag::Flag > _vflags
Definition: TPTask.h:47
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokData
Definition: TPTask.h:43
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
ContainerProf1D _cEtCutEmulvsLS_TTSubdet
Definition: TPTask.h:82
UpdateFreq
Definition: DQTask.h:17
State _state
Definition: Flag.h:79
std::vector< HcalTriggerPrimitiveDigi >::const_iterator const_iterator
int bunchCrossing() const
Definition: EventBase.h:65
ContainerProf1D _cOccupancyEmulvsLS_TTSubdet
Definition: TPTask.h:161
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
int _cutEt
Definition: TPTask.h:59
int const SPIGOT_MIN
Definition: Constants.h:85
virtual void reset()
Definition: ContainerXXX.h:342
ContainerProf1D _cEtCorrRatiovsLS_TTSubdet
Definition: TPTask.h:101
Container1D _cEtEmul_TTSubdet
Definition: TPTask.h:77
ContainerProf1D _cEtCutDatavsLS_TTSubdet
Definition: TPTask.h:81
ContainerXXX< uint32_t > _xNumCorr
Definition: TPTask.h:168
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
HashFilter _filter_VME
Definition: TPTask.h:71
int const FIBER_VME_MIN
Definition: Constants.h:90
ContainerProf2D _cEtEmul_ElectronicsuTCA
Definition: TPTask.h:89
ContainerProf1D _cOccupancyCutEmulvsBX_TTSubdet
Definition: TPTask.h:159
ContainerXXX< uint32_t > _xEmulMsn
Definition: TPTask.h:168
void bookHistograms(fwlite::EventContainer &eventCont)
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: TPTask.cc:902
ContainerProf1D _cMsnCutEmulvsLS_TTSubdet
Definition: TPTask.h:151
int const FIBERCH_MIN
Definition: Constants.h:100
virtual void initialize(std::string const &folder, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
Container2D _cFGMsm_ElectronicsuTCA
Definition: TPTask.h:129
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:71
ContainerProf1D _cOccupancyCutDatavsLS_TTSubdet
Definition: TPTask.h:162
Container2D _cFGMsm_ElectronicsVME
Definition: TPTask.h:128
Container2D _cOccupancyCutEmul_ElectronicsuTCA
Definition: TPTask.h:113
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: TPTask.cc:875
virtual void fill(HcalDetId const &)
Definition: Container2D.cc:59
Container2D _cEtCorr2x3_TTSubdet
Definition: TPTask.h:79
double _thresh_EmulMsn
Definition: TPTask.h:60
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
Container2D _cMsnEmul_ElectronicsuTCA
Definition: TPTask.h:148
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
ContainerProf1D _cMsnCutDatavsBX_TTSubdet
Definition: TPTask.h:144
ContainerSingle2D _cFGMsm_depthlike
Definition: TPTask.h:131
void reset()
Definition: Flag.h:76
virtual void setBinContent(int, int, int)
ContainerSingleProf2D _cEtCutEmul_depthlike
Definition: TPTask.h:95
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
HcalElectronicsMap const * _emap
Definition: TPTask.h:67
int const FED_VME_MIN
Definition: Constants.h:47
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fEnergy), int debug=0)
TPTask(edm::ParameterSet const &)
Definition: TPTask.cc:3
Container2D _cEtCorr_TTSubdet
Definition: TPTask.h:78
ContainerXXX< uint32_t > _xFGMsm
Definition: TPTask.h:168
ContainerXXX< uint32_t > _xEtMsm
Definition: TPTask.h:168
ContainerSingle2D _cOccupancyData_depthlike
Definition: TPTask.h:116
double _thresh_FGMsmRate
Definition: TPTask.h:60
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:32
int const FIBER_uTCA_MIN1
Definition: Constants.h:93
ContainerProf1D _cEtMsmvsLS_TTSubdet
Definition: TPTask.h:132
ContainerProf1D _cMsnDatavsBX_TTSubdet
Definition: TPTask.h:143
Logger _logger
Definition: DQModule.h:70
ContainerSingle2D _cSummaryvsLS
Definition: TPTask.h:167
T min(T a, T b)
Definition: MathUtil.h:58
Container2D _cOccupancyEmul_ElectronicsVME
Definition: TPTask.h:107
std::string _name
Definition: DQModule.h:57
Container2D _cOccupancyEmul_ElectronicsuTCA
Definition: TPTask.h:108
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Container2D _cMsnData_ElectronicsVME
Definition: TPTask.h:138
ContainerXXX< uint32_t > _xEmulTotal
Definition: TPTask.h:168
ContainerProf2D _cEtData_ElectronicsuTCA
Definition: TPTask.h:87
ContainerProf2D _cEtCorrRatio_ElectronicsuTCA
Definition: TPTask.h:99
int const CRATE_uTCA_MIN
Definition: Constants.h:65
ContainerProf1D _cOccupancyEmulvsBX_TTSubdet
Definition: TPTask.h:157
ContainerProf1D _cMsnEmulvsLS_TTSubdet
Definition: TPTask.h:150
Container2D _cFGCorr_TTSubdet
Definition: TPTask.h:80
ContainerProf1D _cEtCutDatavsBX_TTSubdet
Definition: TPTask.h:83
ContainerProf2D _cEtEmul_ElectronicsVME
Definition: TPTask.h:88
ContainerProf1D _cMsnEmulvsBX_TTSubdet
Definition: TPTask.h:152
bool isVMEid() const
double _thresh_DataMsn
Definition: TPTask.h:60
ContainerSingleProf2D _cEtCutData_depthlike
Definition: TPTask.h:94
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:124
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container2D.cc:895
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:93
virtual void initialize(std::string const &folder, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:957
ContainerSingle2D _cOccupancyCutData_depthlike
Definition: TPTask.h:118
ContainerSingle2D _cOccupancyEmul_depthlike
Definition: TPTask.h:117
Container2D _cSummaryvsLS_FED
Definition: TPTask.h:166
ContainerProf1D _cOccupancyDatavsBX_TTSubdet
Definition: TPTask.h:156
int version() const
get the version code for the trigger tower
ContainerProf2D _cEtData_ElectronicsVME
Definition: TPTask.h:86
const T & get() const
Definition: EventSetup.h:56
Container2D _cOccupancyCutData_ElectronicsVME
Definition: TPTask.h:110
Container2D _cOccupancyData_ElectronicsuTCA
Definition: TPTask.h:106
ContainerProf1D _cMsnCutDatavsLS_TTSubdet
Definition: TPTask.h:142
ContainerSingleProf2D _cEtData_depthlike
Definition: TPTask.h:92
virtual void _resetMonitors(UpdateFreq)
Definition: TPTask.cc:510
ContainerProf1D _cMsnCutEmulvsBX_TTSubdet
Definition: TPTask.h:153
ContainerProf1D _cEtMsmvsBX_TTSubdet
Definition: TPTask.h:134
Container1D _cEtData_TTSubdet
Definition: TPTask.h:76
std::string const & label() const
Definition: InputTag.h:36
ContainerSingleProf2D _cEtCorrRatio_depthlike
Definition: TPTask.h:100
ContainerSingle2D _cMsnData_depthlike
Definition: TPTask.h:140
ContainerProf2D _cEtCorrRatio_ElectronicsVME
Definition: TPTask.h:98
Container2D _cEtMsm_ElectronicsuTCA
Definition: TPTask.h:127
ContainerSingle2D _cOccupancyEmul2x3_depthlike
Definition: TPTask.h:123
Container2D _cMsnData_ElectronicsuTCA
Definition: TPTask.h:139
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:243
ContainerSingle2D _cOccupancyData2x3_depthlike
Definition: TPTask.h:122
ContainerProf1D _cMsnDatavsLS_TTSubdet
Definition: TPTask.h:141
edm::EDGetTokenT< HcalTrigPrimDigiCollection > _tokEmul
Definition: TPTask.h:44
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:47
ContainerXXX< uint32_t > _xDataMsn
Definition: TPTask.h:168
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
Definition: TPTask.h:24
std::string _subsystem
Definition: DQModule.h:64
ContainerSingle2D _cOccupancyCutEmul_depthlike
Definition: TPTask.h:119
ContainerProf1D _cEtMsmRatiovsLS_TTSubdet
Definition: TPTask.h:133
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
ContainerProf1D _cEtMsmRatiovsBX_TTSubdet
Definition: TPTask.h:135
ContainerProf1D _cOccupancyDatavsLS_TTSubdet
Definition: TPTask.h:160
virtual void fill(int, int)
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:85
virtual void initialize(FilterType ftype, HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:26
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
edm::InputTag _tagEmul
Definition: TPTask.h:42
Container2D _cOccupancyData_ElectronicsVME
Definition: TPTask.h:105
ContainerProf1D _cOccupancyCutDatavsBX_TTSubdet
Definition: TPTask.h:158
ContainerProf1D _cEtCorrRatiovsBX_TTSubdet
Definition: TPTask.h:102
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:146
int ietaAbs() const
get the absolute value of the tower ieta
virtual void _process(edm::Event const &, edm::EventSetup const &)
Definition: TPTask.cc:515
Container2D _cOccupancyCutData_ElectronicsuTCA
Definition: TPTask.h:111
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
Definition: TPTask.cc:31
int const SLOT_uTCA_MIN
Definition: Constants.h:72
electronicsmap::ElectronicsMap _ehashmap
Definition: TPTask.h:68
Definition: Run.h:43
Container2D _cOccupancyCutEmul_ElectronicsVME
Definition: TPTask.h:112