23 class TFileNoSync :
public TFile {
25 TFileNoSync(
char const *
file,
char const *
opt) : TFile{
file,
opt} {}
26 Int_t SysSync(Int_t)
override {
return 0; }
29 std::cout <<
"DQMFileSaver::globalEndRun()" << std::endl;
33 TFileNoSync *
file =
new TFileNoSync(
filename.c_str(), fileupdate.c_str());
36 std::vector<MonitorElement *> mes;
52 if (firstSlashPos == std::string::npos) {
53 firstSlashPos =
dirName.length();
77 double value =
me->getFloatValue();
80 std::snprintf(
buf,
sizeof(
buf),
"%.*g", DBL_DIG + 2,
value);
94 if (
me->getEfficiencyFlag()) {
104 std::snprintf(
buf,
sizeof(
buf),
"qr=st:%d:%.*g:", qr->getStatus(), DBL_DIG + 2, qr->getQTresult());
107 result += qr->getAlgorithm() +
':' + qr->getMessage();
130 if (
end == std::string::npos)
137 TObject *
o = gDirectory->Get(
part.c_str());
138 if (
o && !dynamic_cast<TDirectory *>(
o))
141 " fails because the part '"
143 <<
"' already exists and is not"
146 gDirectory->mkdir(
part.c_str());
148 if (!gDirectory->cd(
part.c_str()))
151 " fails because could not cd into subdirectory '"
161 if (
end == std::string::npos)