File indexing completed on 2024-04-06 12:09:09
0001 #ifndef DQMSCALETOCLIENT_H
0002 #define DQMSCALETOCLIENT_H
0003
0004
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "FWCore/Utilities/interface/InputTag.h"
0007 #include "FWCore/ServiceRegistry/interface/Service.h"
0008
0009 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0010 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0011 #include "FWCore/ParameterSet/interface/Registry.h"
0012
0013
0014 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0015 #include "DQMServices/Core/interface/DQMStore.h"
0016
0017 struct MEPSet {
0018 std::string name;
0019 std::string folder;
0020 };
0021
0022 struct OutputMEPSet {
0023 std::string name;
0024 std::string folder;
0025 double factor;
0026 };
0027
0028 class DQMScaleToClient : public DQMEDHarvester {
0029 public:
0030 DQMScaleToClient(const edm::ParameterSet &ps);
0031 ~DQMScaleToClient() override = default;
0032 static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0033 static void fillMePSetDescription(edm::ParameterSetDescription &pset);
0034 static void fillOutputMePSetDescription(edm::ParameterSetDescription &pset);
0035
0036 protected:
0037 void beginJob() override;
0038 void dqmEndLuminosityBlock(DQMStore::IBooker &,
0039 DQMStore::IGetter &,
0040 edm::LuminosityBlock const &,
0041 edm::EventSetup const &) override;
0042 void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0043
0044 private:
0045 static MEPSet getHistoPSet(edm::ParameterSet pset);
0046 static OutputMEPSet getOutputHistoPSet(edm::ParameterSet pset);
0047
0048
0049
0050
0051
0052 MonitorElement *scaled_;
0053
0054 MEPSet inputmepset_;
0055 OutputMEPSet outputmepset_;
0056 };
0057
0058 #endif