1 #ifndef art_Framework_IO_Root_RootOutputTree_h 2 #define art_Framework_IO_Root_RootOutputTree_h 29 static void writeTTree(TTree*) noexcept(
false);
33 template <
typename Aux>
40 int64_t const treeMaxVirtualSize,
41 int64_t const saveMemoryObjectThreshold)
53 if (treeMaxVirtualSize >= 0) {
54 tree_.load()->SetMaxVirtualSize(treeMaxVirtualSize);
56 auto auxBranch =
tree_.load()->Branch(
61 auto productProvenanceBranch = metaTree_.load()->Branch(
63 &pProductProvenanceVector,
97 if (
tree_.load()->GetNbranches() != 0) {
98 tree_.load()->SetEntries(-1);
100 if (
metaTree_.load()->GetNbranches() != 0) {
bool uncloned(std::string const &branchName) const
bool checkSplitLevelAndBasketSize(cet::exempt_ptr< TTree const >) const
std::string const & BranchTypeToProductTreeName(BranchType const bt)
std::string const & productProvenanceBranchName(BranchType const bt)
std::set< std::string > unclonedReadBranchNames_
std::vector< TBranch * > readBranches_
std::string const & BranchTypeToMetaDataTreeName(BranchType const bt)
cet::exempt_ptr< TFile > filePtr_
RootOutputTree(cet::exempt_ptr< TFile > filePtr, BranchType const branchType, Aux const *&pAux, ProductProvenances *&pProductProvenanceVector, int const bufSize, int const splitLevel, int64_t const treeMaxVirtualSize, int64_t const saveMemoryObjectThreshold)
std::atomic< bool > fastCloningEnabled_
std::string const & BranchTypeToAuxiliaryBranchName(BranchType const bt)
static void writeTTree(TTree *) noexcept(false)
std::vector< TBranch * > producedBranches_
std::atomic< int > nEntries_
void addOutputBranch(BranchDescription const &, void const *&pProd)
std::atomic< int > splitLevel_
std::vector< TBranch * > unclonedReadBranches_
RootOutputTree & operator=(RootOutputTree const &)=delete
void resetOutputBranchAddress(BranchDescription const &)
std::atomic< TTree * > tree_
static TTree * makeTTree(TFile *, std::string const &name, int splitLevel)
bool fastCloneTree(cet::exempt_ptr< TTree const >)
std::vector< ProductProvenance > ProductProvenances
std::atomic< int > basketSize_
void beginInputFile(bool fastCloning)
std::atomic< TTree * > metaTree_
std::vector< TBranch * > metaBranches_
std::atomic< int64_t > saveMemoryObjectThreshold_