Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:54:52

0001 #ifndef DQM_HcalTasks_UMNioTask_h
0002 #define DQM_HcalTasks_UMNioTask_h
0003 
0004 /*
0005  *  file:           LaserTask.h
0006  *  Author:         Viktor Khristenko
0007  *  Date:           16.10.2015
0008  */
0009 
0010 #include "DQM/HcalCommon/interface/DQTask.h"
0011 #include "DQM/HcalCommon/interface/Utilities.h"
0012 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0013 #include "DQM/HcalCommon/interface/ContainerXXX.h"
0014 #include "DQM/HcalCommon/interface/Container1D.h"
0015 #include "DQM/HcalCommon/interface/Container2D.h"
0016 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0017 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0018 #include "DQM/HcalCommon/interface/ContainerSingleProf2D.h"
0019 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0020 #include "DQM/HcalCommon/interface/ContainerProf2D.h"
0021 #include "FWCore/Framework/interface/Run.h"
0022 
0023 class UMNioTask : public hcaldqm::DQTask {
0024 public:
0025   UMNioTask(edm::ParameterSet const &);
0026   ~UMNioTask() override {}
0027 
0028   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0029   void dqmEndRun(edm::Run const &r, edm::EventSetup const &) override {
0030     if (_ptype == hcaldqm::fLocal) {
0031       if (r.runAuxiliary().run() == 1)
0032         return;
0033     }
0034   }
0035   std::shared_ptr<hcaldqm::Cache> globalBeginLuminosityBlock(edm::LuminosityBlock const &,
0036                                                              edm::EventSetup const &) const override;
0037   void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override;
0038 
0039 protected:
0040   //    funcs
0041   void _process(edm::Event const &, edm::EventSetup const &) override;
0042 
0043   // Get index of a particular OrbitGapType in the vector, which is used as the value for filling the histogram
0044   int getOrbitGapIndex(uint8_t eventType, uint32_t laserType);
0045 
0046   std::vector<uint32_t> _eventtypes;
0047 
0048   //    tags and tokens
0049   edm::InputTag taguMN_;
0050   edm::InputTag tagHBHE_;
0051   edm::InputTag tagHO_;
0052   edm::InputTag tagHF_;
0053   edm::EDGetTokenT<QIE11DigiCollection> tokHBHE_;
0054   edm::EDGetTokenT<HODigiCollection> tokHO_;
0055   edm::EDGetTokenT<QIE10DigiCollection> tokHF_;
0056   edm::EDGetTokenT<HcalUMNioDigi> tokuMN_;
0057   edm::ESGetToken<HcalDbService, HcalDbRecord> hcalDbServiceToken_;
0058 
0059   //    cuts
0060   double lowHBHE_, lowHO_, lowHF_;
0061 
0062   //    emap
0063   hcaldqm::electronicsmap::ElectronicsMap _ehashmap;
0064   hcaldqm::filter::HashFilter _filter_uTCA;
0065   hcaldqm::filter::HashFilter _filter_VME;
0066 
0067   //    1D
0068   hcaldqm::ContainerSingle2D _cEventType;
0069   hcaldqm::ContainerSingle2D _cTotalCharge;
0070   hcaldqm::ContainerSingleProf2D _cTotalChargeProfile;
0071 };
0072 #endif