44 void CreateFile(
const char *);
46 void mergeSelective(Int_t nfiles=5)
52 TString tutdir = gROOT->GetTutorialDir();
53 if (gROOT->LoadMacro(tutdir +
"/hsimple.C"))
return;
55 for (i=0; i<nfiles; i++) CreateFile(Form(
"tomerge%03d.root",i));
61 fm =
new TFileMerger(kFALSE);
62 fm->OutputFile(
"exclusive.root");
63 fm->AddObjectNames(
"hprof folder");
64 for (i=0; i<nfiles; i++) fm->AddFile(Form(
"tomerge%03d.root",i));
66 Int_t default_mode = TFileMerger::kAll | TFileMerger::kIncremental;
67 Int_t mode = default_mode | TFileMerger::kOnlyListed;
68 fm->PartialMerge(mode);
74 fm->OutputFile(
"skipped.root");
75 fm->AddObjectNames(
"hprof folder");
76 for (i=0; i<nfiles; i++) fm->AddFile(Form(
"tomerge%03d.root",i));
78 mode = default_mode | TFileMerger::kSkipListed;
79 fm->PartialMerge(mode);
84 for (i=0; i<nfiles; i++) gSystem->Unlink(Form(
"tomerge%03d.root",i));
86 TFile::Open(
"exclusive.root");
87 TFile::Open(
"skipped.root");
93 void CreateFile(
const char *fname)
95 TFile *example = (TFile*)gROOT->ProcessLineFast(
"hsimple(1)");
97 TH1F *hpx = (TH1F*)example->Get(
"hpx");
99 TFile::Cp(example->GetName(), fname);
100 TFile *file = TFile::Open(fname,
"UPDATE");
101 file->mkdir(
"folder")->cd();
105 TString sname(fname);
106 if (sname.Contains(
"000")) {
107 TFile::Cp(fname,
"original.root");
108 TFile::Open(
"original.root");