18namespace Experimental {
27 throw std::logic_error(
"The starting entry cannot be larger than the ending entry in the "
28 "creation of a dataset specification.");
35 std::vector<std::string> sampleNames;
36 sampleNames.reserve(
fSamples.size());
38 sampleNames.emplace_back(sample.GetSampleName());
46 std::vector<std::string> treeNames;
47 for (
const auto &sample :
fSamples) {
48 const auto &trees = sample.GetTreeNames();
49 treeNames.insert(std::end(treeNames), std::begin(trees), std::end(trees));
57 std::vector<std::string> fileNames;
58 for (
const auto &sample :
fSamples) {
59 const auto &files = sample.GetFileNameGlobs();
60 fileNames.insert(std::end(fileNames), std::begin(files), std::end(files));
68 std::vector<RMetaData> metaDatas;
71 metaDatas.emplace_back(sample.GetMetaData());
133 sample.SetSampleId(
fSamples.size());
134 fSamples.push_back(std::move(sample));
167 const std::vector<std::string> &fileNameGlobs,
const std::string &alias)
179 const std::string &alias)
191 const std::vector<std::string> &fileNameGlobs,
const std::string &alias)
193 if (treeNames.size() != 1 && treeNames.size() != fileNameGlobs.size())
194 throw std::logic_error(
"Mismatch between number of trees and file globs.");
195 std::vector<std::pair<std::string, std::string>>
target;
196 target.reserve(fileNameGlobs.size());
197 for (
auto i = 0u; i < fileNameGlobs.size(); ++i)
198 target.emplace_back(std::make_pair((treeNames.size() == 1u ? treeNames[0] : treeNames[i]), fileNameGlobs[i]));
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
The dataset specification for RDataFrame.
const std::vector< std::string > GetFileNameGlobs() const
Returns the collection of the dataset's paths to files, or globs if specified in input.
std::vector< RSample > MoveOutSamples()
Returns a collection of instances of the RSample class.
REntryRange fEntryRange
Start (inclusive) and end (exclusive) entry for the dataset processing.
RDatasetSpec & WithGlobalFriends(const std::string &treeName, const std::string &fileNameGlob, const std::string &alias="")
Add friend tree to RDatasetSpec object.
const std::vector< std::string > GetTreeNames() const
Returns the collection of the dataset's tree names.
const ROOT::TreeUtils::RFriendInfo & GetFriendInfo() const
Returns the reference to the friend tree information.
Long64_t GetEntryRangeBegin() const
Returns the first entry as defined by the global range provided in the specification.
const std::vector< RMetaData > GetMetaData() const
Returns the collection of the dataset's metadata (RMetaData class objects).
RDatasetSpec & AddSample(RSample sample)
Add sample (RSample class object) to the RDatasetSpec object.
ROOT::TreeUtils::RFriendInfo fFriendInfo
List of friends.
RDatasetSpec & WithGlobalRange(const RDatasetSpec::REntryRange &entryRange={})
Create an RDatasetSpec object for a given range of entries.
std::vector< RSample > fSamples
List of samples.
const std::vector< std::string > GetSampleNames() const
Returns the collection of the dataset's sample names.
Long64_t GetEntryRangeEnd() const
Returns the last entry as defined by the global range provided in the specification.
Class representing a sample which is a grouping of trees and their fileglobs, and,...
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Information about friend trees of a certain TTree or TChain object.
void AddFriend(const std::string &treeName, const std::string &fileNameGlob, const std::string &alias="", Long64_t nEntries=TTree::kMaxEntries, TVirtualIndex *indexInfo=nullptr)
Add information of a single friend.