TFileMerger This class provides file copy and merging services. It can be used to copy files (not only ROOT files), using TFile or any of its remote file access plugins. It is therefore usefull in a Grid environment where the files might be accessable via Castor, rfio, dcap, etc. The merging interface allows files containing histograms and trees to be merged, like the standalone hadd program.
virtual | ~TFileMerger() |
void | TObject::AbstractMethod(const char* method) const |
virtual Bool_t | AddAdoptFile(TFile* source, Bool_t cpProgress = kTRUE) |
virtual Bool_t | AddFile(const char* url, Bool_t cpProgress = kTRUE) |
virtual Bool_t | AddFile(TFile* source, Bool_t cpProgress = kTRUE) |
void | AddObjectNames(const char* name) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
void | ClearObjectNames() |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual const char* | GetCWD() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
Int_t | GetMaxOpenedFies() const |
TList* | GetMergeList() const |
const char* | GetMsgPrefix() const |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
const char* | GetObjectNames() const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
TFile* | GetOutputFile() const |
const char* | GetOutputFileName() const |
Int_t | GetPrintLevel() const |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
Bool_t | HasCompressionChange() const |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | Merge(Bool_t = kTRUE) |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
virtual Bool_t | OutputFile(const char* url, Bool_t force) |
virtual Bool_t | OutputFile(const char* url, const char* mode = "RECREATE") |
virtual Bool_t | OutputFile(const char* url, Bool_t force, Int_t compressionLevel) |
virtual Bool_t | OutputFile(const char* url, const char* mode, Int_t compressionLevel) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual Bool_t | PartialMerge(Int_t type = kAll | kIncremental) |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual void | PrintFiles(Option_t* options) |
virtual Int_t | TObject::Read(const char* name) |
virtual void | RecursiveRemove(TObject* obj) |
virtual void | Reset() |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual Bool_t | SetCWD(const char*) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | SetFastMethod(Bool_t fast = kTRUE) |
void | SetMaxOpenedFiles(Int_t newmax) |
void | SetMsgPrefix(const char* prefix) |
virtual void | SetNotrees(Bool_t notrees = kFALSE) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetPrintLevel(Int_t level) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
TFileMerger(Bool_t isLocal = kTRUE, Bool_t histoOneGo = kTRUE) | |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual Bool_t | AddFile(TFile* source, Bool_t own, Bool_t cpProgress) |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
virtual Bool_t | MergeRecursive(TDirectory* target, TList* sourcelist, Int_t type = kRegular | kAll) |
Bool_t | OpenExcessFiles() |
TFileMerger& | operator=(const TFileMerger&) |
TFileMerger(const TFileMerger&) |
static TFileMerger::EPartialMergeType | kAll | |
static TFileMerger::EPartialMergeType | kAllIncremental | |
static TObject::(anonymous) | TObject::kBitMask | |
static TObject::EStatusBits | TObject::kCanDelete | |
static TObject::EStatusBits | TObject::kCannotPick | |
static TObject::EStatusBits | TObject::kHasUUID | |
static TFileMerger::EPartialMergeType | kIncremental | |
static TObject::EStatusBits | TObject::kInvalidObject | |
static TObject::(anonymous) | TObject::kIsOnHeap | |
static TObject::EStatusBits | TObject::kIsReferenced | |
static TObject::EStatusBits | TObject::kMustCleanup | |
static TObject::EStatusBits | TObject::kNoContextMenu | |
static TFileMerger::EPartialMergeType | kNonResetable | |
static TObject::(anonymous) | TObject::kNotDeleted | |
static TObject::EStatusBits | TObject::kObjInCanvas | |
static TFileMerger::EPartialMergeType | kOnlyListed | |
static TObject::(anonymous) | TObject::kOverwrite | |
static TFileMerger::EPartialMergeType | kRegular | |
static TFileMerger::EPartialMergeType | kResetable | |
static TObject::(anonymous) | TObject::kSingleKey | |
static TFileMerger::EPartialMergeType | kSkipListed | |
static TObject::(anonymous) | TObject::kWriteDelete | |
static TObject::(anonymous) | TObject::kZombie |
Bool_t | fCompressionChange | True if the output and input have different compression level (default kFALSE) |
TList* | fExcessFiles | ! List of TObjString containing the name of the files not yet added to fFileList due to user or system limitiation on the max number of files opened. |
Bool_t | fExplicitCompLevel | True if the user explicitly requested a compressio level change (default kFALSE) |
Bool_t | fFastMethod | True if using Fast merging algorithm (default) |
TList* | fFileList | a list the file (TFile*) which shall be merged |
Bool_t | fHistoOneGo | Merger histos in one go (default is kTRUE) |
Bool_t | fLocal | Makes local copies of merging files if True (default is kTRUE) |
Int_t | fMaxOpenedFiles | Maximum number of files opened at the same time by the TFileMerger. |
TList* | fMergeList | list of TObjString containing the name of the files need to be merged |
TString | fMsgPrefix | Prefix to be used when printing informational message (default TFileMerger) |
Bool_t | fNoTrees | True if Trees should not be merged (default is kFALSE) |
TString | fObjectNames | List of object names to be either merged exclusively or skipped |
TFile* | fOutputFile | the outputfile for merging |
TString | fOutputFilename | the name of the outputfile for merging |
Int_t | fPrintLevel | How much information to print out at run time. |
TStopwatch | fWatch | stop watch to measure file copy speed |
Open merger output file. 'mode' is passed to the TFile constructor as the option, it should be one of 'NEW','CREATE','RECREATE','UPDATE' 'UPDATE' is usually used in conjunction with IncrementalMerge.
Open merger output file. 'mode' is passed to the TFile constructor as the option, it should be one of 'NEW','CREATE','RECREATE','UPDATE' 'UPDATE' is usually used in conjunction with IncrementalMerge.
Merge the files. If no output file was specified it will write into the file "FileMerger.root" in the working directory. Returns true on success, false in case of error.
Merge all objects in a directory The type is defined by the bit values in EPartialMergeType: kRegular : normal merge, overwritting the output file (default) kIncremental : merge the input file with the (existing) content of the output file (if already exising) kAll : merge all type of objects (default) kResetable : merge only the objects with a MergeAfterReset member function. kNonResetable : merge only the objects without a MergeAfterReset member function. kOnlyListed : merge only objects listed in fObjectNames kSkipListed : skip merging of objects listed in fObjectNames
Merge the files. If no output file was specified it will write into the file "FileMerger.root" in the working directory. Returns true on success, false in case of error. The type is defined by the bit values in EPartialMergeType: kRegular : normal merge, overwritting the output file kIncremental : merge the input file with the content of the output file (if already exising) (default) kAll : merge all type of objects (default) kResetable : merge only the objects with a MergeAfterReset member function. kNonResetable : merge only the objects without a MergeAfterReset member function. If the type is set to kIncremental the output file is done deleted at the end of this operation. If the type is not set to kIncremental, the output file is closed.
Set a limit to the number file that TFileMerger will opened at one time. If the request is higher than the system limit, we reset it to the system limit. If the request is less than two, we reset it to 2 (one for the output file and one for the input file).
Set the prefix to be used when printing informational message.