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
|
#ifndef DQMServices_StreamerIO_DQMProtobufReader_h
#define DQMServices_StreamerIO_DQMProtobufReader_h
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Sources/interface/PuttableSourceBase.h"
#include "DQMFileIterator.h"
namespace dqmservices {
class DQMProtobufReader : public edm::PuttableSourceBase {
public:
typedef dqm::legacy::MonitorElement MonitorElement;
typedef dqm::legacy::DQMStore DQMStore;
explicit DQMProtobufReader(edm::ParameterSet const&, edm::InputSourceDescription const&);
~DQMProtobufReader() override = default;
static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
private:
void load(DQMStore* store, std::string filename);
edm::InputSource::ItemTypeInfo getNextItemType() override;
std::shared_ptr<edm::RunAuxiliary> readRunAuxiliary_() override;
std::shared_ptr<edm::LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_() override;
void readRun_(edm::RunPrincipal& rpCache) override;
void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lbCache) override;
void readEvent_(edm::EventPrincipal&) override;
// actual reading will happen here
void beginLuminosityBlock(edm::LuminosityBlock& lb) override;
void logFileAction(char const* msg, char const* fileName) const;
bool prepareNextFile();
DQMFileIterator fiterator_;
DQMFileIterator::LumiEntry currentLumi_;
bool const flagSkipFirstLumis_;
bool const flagEndOfRunKills_;
bool const flagDeleteDatFiles_;
bool const flagLoadFiles_;
};
} // namespace dqmservices
#endif // DQMServices_StreamerIO_DQMProtobufReader_h
|