1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#ifndef MonitorElementsDb_H
#define MonitorElementsDb_H
/*!
\file MonitorElementsDb.h
\brief Generate a Monitor Element from DB data
\author B. Gobbo
*/
#include <string>
#include <vector>
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "MonitorXMLParser.h"
#include "RelationalAccess/ISessionProxy.h"
#include "DQMServices/Core/interface/DQMStore.h"
class MonitorElementsDb {
friend class EcalBarrelMonitorDbModule;
public:
typedef dqm::legacy::MonitorElement MonitorElement;
typedef dqm::legacy::DQMStore DQMStore;
/// Constructors
MonitorElementsDb(const edm::ParameterSet &ps, std::string &xmlFile);
/// Destructor
virtual ~MonitorElementsDb();
protected:
/// Analyze
void analyze(const edm::Event &e, const edm::EventSetup &c, coral::ISessionProxy *s);
// BeginJob
void beginJob(void);
// EndJob
void endJob(void);
// HtmlOutput
void htmlOutput(std::string &htmlDir);
void startSession(void);
private:
std::string prefixME_;
std::string xmlFile_;
MonitorXMLParser *parser_;
std::vector<DB_ME> MEinfo_;
std::vector<MonitorElement *> MEs_;
int ievt_;
DQMStore *dqmStore_;
};
#endif // MonitorElementsDb_H
|