34RFriendInfo::RFriendInfo(std::vector<std::pair<std::string, std::string>> friendNames,
35 std::vector<std::vector<std::string>> friendFileNames,
36 std::vector<std::vector<std::string>> friendChainSubNames,
37 std::vector<std::vector<std::int64_t>> nEntriesPerTreePerFriend,
38 std::vector<std::unique_ptr<TVirtualIndex>> treeIndexInfos)
39 : fFriendNames(std::move(friendNames)),
40 fFriendFileNames(std::move(friendFileNames)),
41 fFriendChainSubNames(std::move(friendChainSubNames)),
42 fNEntriesPerTreePerFriend(std::move(nEntriesPerTreePerFriend)),
43 fTreeIndexInfos(std::move(treeIndexInfos))
55void RFriendInfo::AddFriend(
const std::string &treeName,
const std::string &fileNameGlob,
const std::string &alias,
58 fFriendNames.emplace_back(std::make_pair(treeName, alias));
73void RFriendInfo::AddFriend(
const std::string &treeName,
const std::vector<std::string> &fileNameGlobs,
74 const std::string &alias,
const std::vector<std::int64_t> &nEntriesVec,
77 fFriendNames.emplace_back(std::make_pair(treeName, alias));
81 nEntriesVec.empty() ? std::vector<int64_t>(fileNameGlobs.size(), std::numeric_limits<std::int64_t>::max())
93void RFriendInfo::AddFriend(
const std::vector<std::pair<std::string, std::string>> &treeAndFileNameGlobs,
94 const std::string &alias,
const std::vector<std::int64_t> &nEntriesVec,
104 auto nPairs = treeAndFileNameGlobs.size();
105 theseFileNames.reserve(nPairs);
106 theseChainSubNames.reserve(nPairs);
108 auto fSubNamesIt = std::back_inserter(theseChainSubNames);
109 auto fNamesIt = std::back_inserter(theseFileNames);
111 for (
const auto &names : treeAndFileNameGlobs) {
112 *fSubNamesIt = names.first;
113 *fNamesIt = names.second;
116 nEntriesVec.empty() ? std::vector<int64_t>(treeAndFileNameGlobs.size(), std::numeric_limits<std::int64_t>::max())
TObject * Clone(const char *newname="") const override
Make a clone of an object using the Streamer facility.
Abstract interface for Tree Index.
Different standalone functions to work with trees and tuples, not reqiuired to be a member of any cla...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
Information about friend trees of a certain TTree or TChain object.
std::vector< std::pair< std::string, std::string > > fFriendNames
Pairs of names and aliases of each friend tree/chain.
std::vector< std::vector< std::int64_t > > fNEntriesPerTreePerFriend
Number of entries contained in each tree of each friend.
std::vector< std::vector< std::string > > fFriendChainSubNames
Names of the subtrees of a friend TChain.
std::vector< std::unique_ptr< TVirtualIndex > > fTreeIndexInfos
Information on the friend's TTreeIndexes.
std::vector< std::vector< std::string > > fFriendFileNames
Names of the files where each friend is stored.