Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HcalOfflineHarvesting_h
0002 #define HcalOfflineHarvesting_h
0003 
0004 /**
0005  *  file:       HcalOffineHarvesting.h
0006  *  Author:     VK
0007  *  Date:       ..
0008  *  Description: 
0009  *      This is DQMEDAnalyzer which is a edm::one module. edm::one enforces
0010  *      that only 1 run is being processed.
0011  *      https://twiki.cern.ch/twiki/bin/view/CMSPublic/FWMultithreadedFrameworkOneModuleInterface - for details.
0012  *
0013  *      ___________
0014  *      Offline:
0015  *      For Offline only Run Summary is being generated. As it is meaningless
0016  *      to have current LS information being delivered. Only Total Summary
0017  *      makes sense
0018  */
0019 
0020 #include "DQM/HcalCommon/interface/HcalCommonHeaders.h"
0021 #include "DQM/HcalCommon/interface/DQHarvester.h"
0022 #include "DQM/HcalCommon/interface/Container1D.h"
0023 #include "DQM/HcalCommon/interface/Container2D.h"
0024 #include "DQM/HcalCommon/interface/ContainerProf1D.h"
0025 #include "DQM/HcalCommon/interface/ContainerProf2D.h"
0026 #include "DQM/HcalCommon/interface/ContainerSingle1D.h"
0027 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0028 #include "DQM/HcalCommon/interface/ContainerSingleProf1D.h"
0029 #include "DQM/HcalCommon/interface/ContainerSingleProf2D.h"
0030 #include "DQM/HcalCommon/interface/ContainerXXX.h"
0031 #include "DQM/HcalCommon/interface/ElectronicsMap.h"
0032 #include "DQM/HcalCommon/interface/DQClient.h"
0033 
0034 #include "DQM/HcalTasks/interface/RawRunSummary.h"
0035 #include "DQM/HcalTasks/interface/DigiRunSummary.h"
0036 #include "DQM/HcalTasks/interface/RecoRunSummary.h"
0037 #include "DQM/HcalTasks/interface/TPRunSummary.h"
0038 
0039 class HcalOfflineHarvesting : public hcaldqm::DQHarvester {
0040 public:
0041   HcalOfflineHarvesting(edm::ParameterSet const &);
0042   ~HcalOfflineHarvesting() override {}
0043 
0044   void beginRun(edm::Run const &, edm::EventSetup const &) override;
0045 
0046 protected:
0047   void _dqmEndLuminosityBlock(DQMStore::IBooker &,
0048                               DQMStore::IGetter &,
0049                               edm::LuminosityBlock const &,
0050                               edm::EventSetup const &) override;
0051   void _dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0052 
0053   enum Summary { fRaw = 0, fDigi = 1, fReco = 2, fTP = 3, nSummary = 4 };
0054 
0055   std::vector<Summary> _summaryList;
0056 
0057   //    vector of Summary Generators and marks of being present
0058   //    by default all false
0059   std::map<Summary, hcaldqm::DQClient *> _sumgen;
0060   std::map<Summary, bool> _summarks;
0061   std::map<Summary, std::string> _sumnames;
0062 
0063   //    reportSummaryMap
0064   MonitorElement *_reportSummaryMap;
0065   MonitorElement *me;
0066 };
0067 
0068 #endif