11void write_hist_to_rfile(
const char *fileName)
14 TH1D hist(
"hist",
"hist", 10, 0, 100);
15 hist.FillRandom(
"gaus", 1000);
22 file->Put(hist.GetName(), hist);
23 file->Put(std::string(
"a/") + hist.GetName(), hist);
24 file->Put(std::string(
"a/b/") + hist.GetName(), hist);
30void read_hist_from_rfile(
const char *fileName)
36 for (
auto key : file->ListKeys()) {
40 auto hist = file->Get<
TH1D>(key.GetPath());
43 std::cout << key.GetClassName() <<
" at " << key.GetPath() <<
';' << key.GetCycle() <<
":\n";
44 std::cout <<
" entries: " << hist->
GetEntries() <<
"\n";
50 const char *
const fileName =
"rfile_basics.root";
52 write_hist_to_rfile(fileName);
53 read_hist_from_rfile(fileName);
R__EXTERN TSystem * gSystem
static std::unique_ptr< RFile > Open(std::string_view path, const ROpenOptions &opts=ROpenOptions())
Opens the file for reading.
static std::unique_ptr< RFile > Recreate(std::string_view path, const RRecreateOptions &opts=RRecreateOptions())
Opens the file for reading/writing, overwriting it if it already exists.
1-D histogram with a double per channel (see TH1 documentation)
virtual Double_t GetEntries() const
Return the current number of entries.
virtual int Unlink(const char *name)
Unlink, i.e.