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
|
#ifndef DQMSERVICES_COMPONENTS_DQMFILESAVERPB_H
#define DQMSERVICES_COMPONENTS_DQMFILESAVERPB_H
#include "FWCore/Framework/interface/global/EDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include <sys/time.h>
#include <string>
#include <mutex>
#include "DQMFileSaverBase.h"
namespace dqm {
class DQMFileSaverPB : public DQMFileSaverBase {
public:
DQMFileSaverPB(const edm::ParameterSet& ps);
~DQMFileSaverPB() override;
// used by the JsonWritingTimedPoolOutputModule,
// fms will be nullptr in such case
static boost::property_tree::ptree fillJson(int run,
int lumi,
const std::string& dataFilePathName,
const std::string& transferDestinationStr,
const std::string& mergeTypeStr,
evf::FastMonitoringService* fms);
protected:
void initRun() const override;
void saveLumi(const FileParameters& fp) const override;
void saveRun(const FileParameters& fp) const override;
void savePB(DQMStore* store, std::string const& filename, int run, int lumi) const;
bool fakeFilterUnitMode_;
std::string streamLabel_;
std::string tag_;
mutable std::string transferDestination_;
mutable std::string mergeType_;
public:
static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
private:
int getMaxCompressedSize(int bufferSize) const;
ulong compressME(const TBufferFile& buffer, int maxOutputSize, char* compression_output) const;
};
} // namespace dqm
#endif // DQMSERVICES_COMPONENTS_DQMFILESAVERPB_H
|