Helper class for merging xAOD files.
More...
#include <TFileMerger.h>
|
| static const ::Long64_t | kBigNumber = 1234567890 |
| | Number of entries that are assumed to be never exceeded in a file.
|
|
| StatusCode | closeFiles () |
| | Close all the open files.
|
| StatusCode | mergeDirectory (::TDirectory &input, ::TDirectory &output, EMergeMode mode, bool topLevelDir) |
| | Merge the contents of one directory from the input files.
|
| StatusCode | mergeObject (::TObject &input, ::TObject &output) |
| | Merge two top level objects that were found in the inputs.
|
| StatusCode | createMetaDataTools () |
| | Instantiate the metadata handling tools.
|
| std::vector< ::TBranch * > | getMissingBranches (::TTree *first, ::TTree *second) const |
| | Get the auxiliary branches missing in one of the trees.
|
| std::vector< ::TBranch * > | getSkippedBranches (::TTree *tree) const |
| | Get the branches that should be skipped from merging.
|
| StatusCode | addAuxBranch (::TTree *otree, ::TBranch *ibranch) const |
| | Duplicate an auxiliary branch from the input into the output.
|
Helper class for merging xAOD files.
This is a slightly dubmed down version of ROOT's TFileMerger class in some respects, and is a bit smarter in other respects. It can be used by user code to merge xAOD files in a user friendly way from C++ code. It is also used by the xAODMerge application to do the heavy lifting during the merge.
- Author
- Attila Krasznahorkay Attil.nosp@m.a.Kr.nosp@m.aszna.nosp@m.hork.nosp@m.ay@ce.nosp@m.rn.c.nosp@m.h
- Revision
- 784654
- Date
- 2016-11-16 18:17:32 +0100 (Wed, 16 Nov 2016)
Definition at line 47 of file TFileMerger.h.
◆ EMergeMode
Types of merging that can be done.
Non-xAOD trees are always merged using fast TTree merging. It's only the method for the xAOD tree merging that can be controlled here.
| Enumerator |
|---|
| kSlowMerge | Merging is done using TEvent.
|
| kFastMerge | Merging is done using fast TTree merge.
|
Definition at line 71 of file TFileMerger.h.
71 {
74 };
@ kSlowMerge
Merging is done using TEvent.
@ kFastMerge
Merging is done using fast TTree merge.
◆ TFileMerger()
| xAOD::TFileMerger::TFileMerger |
( |
| ) |
|
◆ ~TFileMerger()
| xAOD::TFileMerger::~TFileMerger |
( |
| ) |
|
◆ accessMode()
The access mode used for slow and metadata merging.
◆ addAuxBranch()
| StatusCode xAOD::TFileMerger::addAuxBranch |
( |
::TTree * | otree, |
|
|
::TBranch * | ibranch ) const |
|
private |
Duplicate an auxiliary branch from the input into the output.
◆ addFile()
| StatusCode xAOD::TFileMerger::addFile |
( |
const std::string & | name, |
|
|
bool | copyLocally = false ) |
Add a file to the list to be merged, by name.
◆ addMetaDataTool()
| StatusCode xAOD::TFileMerger::addMetaDataTool |
( |
const std::string & | typeName | ) |
|
Add a metadata tool to be used during the merging.
◆ addTreeToSkip()
| void xAOD::TFileMerger::addTreeToSkip |
( |
const std::string & | name | ) |
|
Add a tree name that should be skipped during the merging.
◆ closeFiles()
| StatusCode xAOD::TFileMerger::closeFiles |
( |
| ) |
|
|
private |
Close all the open files.
◆ createMetaDataTools()
| StatusCode xAOD::TFileMerger::createMetaDataTools |
( |
| ) |
|
|
private |
Instantiate the metadata handling tools.
◆ getMissingBranches()
| std::vector< ::TBranch * > xAOD::TFileMerger::getMissingBranches |
( |
::TTree * | first, |
|
|
::TTree * | second ) const |
|
private |
Get the auxiliary branches missing in one of the trees.
◆ getSkippedBranches()
| std::vector< ::TBranch * > xAOD::TFileMerger::getSkippedBranches |
( |
::TTree * | tree | ) |
const |
|
private |
Get the branches that should be skipped from merging.
◆ merge()
Execute the file merge itself.
◆ mergeDirectory()
| StatusCode xAOD::TFileMerger::mergeDirectory |
( |
::TDirectory & | input, |
|
|
::TDirectory & | output, |
|
|
EMergeMode | mode, |
|
|
bool | topLevelDir ) |
|
private |
Merge the contents of one directory from the input files.
◆ mergeObject()
| StatusCode xAOD::TFileMerger::mergeObject |
( |
::TObject & | input, |
|
|
::TObject & | output ) |
|
private |
Merge two top level objects that were found in the inputs.
◆ setAccessMode()
Set the access mode used for slow and metadata merging.
◆ setOutputFileName()
| StatusCode xAOD::TFileMerger::setOutputFileName |
( |
const std::string & | name, |
|
|
const std::string & | mode = "RECREATE" ) |
Set the name of the output file that should be created.
◆ setVerbosity()
| void xAOD::TFileMerger::setVerbosity |
( |
int | value | ) |
|
Set verbosity level (meant for debugging mainly)
◆ treesSkipped()
| const std::set< std::string > & xAOD::TFileMerger::treesSkipped |
( |
| ) |
const |
Get the names of the trees that will be skipped from the merge.
◆ verbosity()
| int xAOD::TFileMerger::verbosity |
( |
| ) |
const |
The current verbosity level.
◆ kBigNumber
| const ::Long64_t xAOD::TFileMerger::kBigNumber = 1234567890 |
|
static |
Number of entries that are assumed to be never exceeded in a file.
Definition at line 77 of file TFileMerger.h.
◆ m_copiedInput
| std::vector< bool > xAOD::TFileMerger::m_copiedInput |
|
private |
Whether the files were copied locally before being merged.
Definition at line 119 of file TFileMerger.h.
◆ m_entriesToMerge
| ::Long64_t xAOD::TFileMerger::m_entriesToMerge |
|
private |
◆ m_events
| std::map< std::string, std::unique_ptr< TEvent > > xAOD::TFileMerger::m_events |
|
private |
◆ m_helperFiles
| std::vector< ::TFile* > xAOD::TFileMerger::m_helperFiles |
|
private |
Helper in-memory files used during fast merging.
Definition at line 129 of file TFileMerger.h.
◆ m_input
| std::vector< ::TFile* > xAOD::TFileMerger::m_input |
|
private |
The list of input files to be merged.
Definition at line 117 of file TFileMerger.h.
◆ m_metaDataToolNames
| std::set< std::string > xAOD::TFileMerger::m_metaDataToolNames |
|
private |
Names of the metadata handling tools.
Definition at line 132 of file TFileMerger.h.
◆ m_metaDataTools
| std::map< std::string, THolder > xAOD::TFileMerger::m_metaDataTools |
|
private |
Metadata tools instantiated for the file merging.
Definition at line 134 of file TFileMerger.h.
◆ m_mode
◆ m_output
| ::TFile* xAOD::TFileMerger::m_output |
|
private |
◆ m_treesToSkip
| std::set< std::string > xAOD::TFileMerger::m_treesToSkip |
|
private |
Names of the TTrees to skip from the merge.
Definition at line 124 of file TFileMerger.h.
◆ m_verbosity
| int xAOD::TFileMerger::m_verbosity |
|
private |
The documentation for this class was generated from the following file: