28 void hadd (
const std::string& output_file,
29 const std::vector<std::string>& input_files,
32 if (input_files.size() == 1)
35 std::filesystem::create_symlink (input_files.front(), output_file);
39 TFileMerger merger (
false,
false);
41 merger.SetMsgPrefix (
"rcu_hadd");
42 merger.SetPrintLevel (98);
46 merger.SetMaxOpenedFiles (max_files);
49 if (!merger.OutputFile (output_file.c_str(),
false, 1) )
54 for (std::vector<std::string>::const_iterator input = input_files.begin(),
55 end = input_files.end(); input != end; ++ input)
57 if (!merger.AddFile (input->c_str()))
62 merger.SetNotrees (
false);
64 bool status = merger.Merge();
68 std::ostringstream
msg;
69 msg <<
"merged " << merger.GetMergeList()->GetEntries()
70 <<
" input files into " << output_file;
void hadd(const std::string &output_file, const std::vector< std::string > &input_files, unsigned max_files)
effects: perform the hadd functionality guarantee: basic failures: out of memory III failures: i/o er...