Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:31

0001 #ifndef DQM_HcalTasks_RawRunSummary_h
0002 #define DQM_HcalTasks_RawRunSummary_h
0003 
0004 #include "DQM/HcalCommon/interface/DQClient.h"
0005 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0006 
0007 namespace hcaldqm {
0008   class RawRunSummary : public DQClient {
0009   public:
0010     RawRunSummary(std::string const &, std::string const &, edm::ParameterSet const &, edm::ConsumesCollector &iC);
0011     ~RawRunSummary() override {}
0012 
0013     void beginRun(edm::Run const &, edm::EventSetup const &) override;
0014     void endLuminosityBlock(DQMStore::IBooker &,
0015                             DQMStore::IGetter &,
0016                             edm::LuminosityBlock const &,
0017                             edm::EventSetup const &) override;
0018     std::vector<flag::Flag> endJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0019 
0020   protected:
0021     //  Flag Summary for each LS and Run as a whole
0022     std::vector<LSSummary> _vflagsLS;
0023 
0024     electronicsmap::ElectronicsMap _ehashmap;
0025 
0026     //  some useful vectors - not to reintialize all the time
0027     std::vector<uint32_t> _vhashVME, _vhashuTCA;
0028     std::vector<int> _vFEDsVME, _vFEDsuTCA;
0029     filter::HashFilter _filter_VME, _filter_uTCA;
0030 
0031     //  Containers to store info for the whole run
0032     Container2D _cEvnMsm_ElectronicsuTCA;
0033     Container2D _cBcnMsm_ElectronicsuTCA;
0034     Container2D _cBadQuality_depth;
0035 
0036     bool _booked;
0037 
0038     //
0039     ContainerXXX<uint32_t> _xEvn, _xBcn, _xBadQ;
0040 
0041     enum RawLSFlag { fEvnMsm = 0, fBcnMsm = 1, fBadQ = 2, nRawFlag = 3 };
0042   };
0043 }  // namespace hcaldqm
0044 
0045 #endif