File indexing completed on 2023-10-25 09:42:03
0001
0002 #ifndef MonitorElementsDb_H
0003 #define MonitorElementsDb_H
0004
0005
0006
0007
0008
0009
0010
0011 #include <string>
0012 #include <vector>
0013
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016
0017 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0018
0019 #include "MonitorXMLParser.h"
0020
0021 #include "RelationalAccess/ISessionProxy.h"
0022 #include "DQMServices/Core/interface/DQMStore.h"
0023
0024 class MonitorElementsDb {
0025 friend class EcalBarrelMonitorDbModule;
0026
0027 public:
0028 typedef dqm::legacy::MonitorElement MonitorElement;
0029 typedef dqm::legacy::DQMStore DQMStore;
0030
0031
0032 MonitorElementsDb(const edm::ParameterSet &ps, std::string &xmlFile);
0033
0034
0035 virtual ~MonitorElementsDb();
0036
0037 protected:
0038
0039 void analyze(const edm::Event &e, const edm::EventSetup &c, coral::ISessionProxy *s);
0040
0041
0042 void beginJob(void);
0043
0044
0045 void endJob(void);
0046
0047
0048 void htmlOutput(std::string &htmlDir);
0049
0050 void startSession(void);
0051
0052 private:
0053 std::string prefixME_;
0054 std::string xmlFile_;
0055 MonitorXMLParser *parser_;
0056 std::vector<DB_ME> MEinfo_;
0057 std::vector<MonitorElement *> MEs_;
0058 int ievt_;
0059 DQMStore *dqmStore_;
0060 };
0061
0062 #endif