Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RawTask_h
0002 #define RawTask_h
0003 
0004 /**
0005  *  file:
0006  *  Author:
0007  *  Description:
0008  */
0009 
0010 #include "DQM/HcalCommon/interface/DQTask.h"
0011 #include "DQM/HcalCommon/interface/Utilities.h"
0012 #include "DQM/HcalCommon/interface/HashFilter.h"
0013 #include "DQM/HcalCommon/interface/Container1D.h"
0014 #include "DQM/HcalCommon/interface/Container2D.h"
0015 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0016 #include "DQM/HcalCommon/interface/ContainerProf2D.h"
0017 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0018 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0019 #include "DQM/HcalCommon/interface/ContainerSingleProf1D.h"
0020 #include "DQM/HcalCommon/interface/ContainerSingleProf2D.h"
0021 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0022 #include "DQM/HcalCommon/interface/Flag.h"
0023 
0024 class RawTask : public hcaldqm::DQTask {
0025 public:
0026   RawTask(edm::ParameterSet const &);
0027   ~RawTask() override {}
0028 
0029   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0030   std::shared_ptr<hcaldqm::Cache> globalBeginLuminosityBlock(edm::LuminosityBlock const &,
0031                                                              edm::EventSetup const &) const override;
0032   void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override;
0033 
0034 protected:
0035   void _process(edm::Event const &, edm::EventSetup const &) override;
0036   void _resetMonitors(hcaldqm::UpdateFreq) override;
0037 
0038   edm::InputTag _tagFEDs;
0039   edm::InputTag _tagReport;
0040   edm::EDGetTokenT<FEDRawDataCollection> _tokFEDs;
0041   edm::EDGetTokenT<HcalUnpackerReport> _tokReport;
0042   edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0043 
0044   //    flag vector
0045   std::vector<hcaldqm::flag::Flag> _vflags;
0046   enum RawFlag { fEvnMsm = 0, fBcnMsm = 1, fOrnMsm = 2, fBadQ = 3, nRawFlag = 4 };
0047 
0048   //    emap
0049   hcaldqm::electronicsmap::ElectronicsMap _ehashmap;
0050 
0051   //    physics vs calib processing switch
0052   bool _calibProcessing;
0053   int _thresh_calib_nbadq;
0054 
0055   //    vector of HcalElectronicsId for FEDs
0056   std::vector<uint32_t> _vhashFEDs;
0057 
0058   //    Filters
0059   hcaldqm::filter::HashFilter _filter_VME;
0060   hcaldqm::filter::HashFilter _filter_uTCA;
0061   hcaldqm::filter::HashFilter _filter_FEDsVME;
0062   hcaldqm::filter::HashFilter _filter_FEDsuTCA;
0063 
0064   //    Bad Quality
0065   hcaldqm::Container2D _cBadQuality_FEDuTCA;
0066   hcaldqm::Container2D _cBadQuality_depth;
0067   hcaldqm::Container2D _cBadQualityLS_depth;  // online only
0068   hcaldqm::ContainerSingleProf1D _cBadQualityvsLS;
0069   hcaldqm::ContainerSingleProf1D _cBadQualityvsBX;
0070   hcaldqm::ContainerProf1D _cDataSizevsLS_FED;  // online only
0071 
0072   //    Mismatches
0073   hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA;
0074   hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA;
0075   hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA;
0076   hcaldqm::ContainerXXX<uint32_t> _xEvnMsmLS, _xBcnMsmLS, _xOrnMsmLS, _xBadQLS;
0077 
0078   hcaldqm::Container2D _cSummaryvsLS_FED;    // online only
0079   hcaldqm::ContainerSingle2D _cSummaryvsLS;  // online only
0080 };
0081 
0082 #endif