Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RDataSource.cxx
Go to the documentation of this file.
5
6#ifdef R__USE_IMT
7#include <ROOT/RSlotStack.hxx>
9#endif
10
12 unsigned int, const std::unordered_map<std::string, ROOT::RDF::Experimental::RSample *> &) const
13{
15}
16
18{
19#ifdef R__USE_IMT
21 std::atomic<ULong64_t> entryCount(0ull);
23
24 auto ranges = GetEntryRanges();
25 while (!ranges.empty()) {
26 pool.Foreach(
27 [&lm, &slotStack, &entryCount](const std::pair<ULong64_t, ULong64_t> &range) {
28 lm.DataSourceThreadTask(range, slotStack, entryCount);
29 },
30 ranges);
31 ranges = GetEntryRanges();
32 }
33
34 if (fGlobalEntryRange.has_value()) {
35 auto &&[begin, end] = fGlobalEntryRange.value();
36 auto &&processedEntries = entryCount.load();
37 if ((end - begin) > processedEntries) {
38 Warning("RDataFrame::Run",
39 "RDataFrame stopped processing after %lld entries, whereas an entry range (begin=%lld,end=%lld) was "
40 "requested. Consider adjusting the end value of the entry range to a maximum of %lld.",
41 processedEntries, begin, end, begin + processedEntries);
42 }
43 }
44#else
45 (void)lm;
46#endif
47}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
Definition TError.cxx:252
The head node of a RDF computation graph.
A thread-safe list of N indexes (0 to size - 1).
friend ROOT::RDF::RSampleInfo ROOT::Internal::RDF::CreateSampleInfo(const ROOT::RDF::RDataSource &, unsigned int, const std::unordered_map< std::string, ROOT::RDF::Experimental::RSample * > &)
friend void ROOT::Internal::RDF::ProcessMT(RDataSource &, ROOT::Detail::RDF::RLoopManager &)
This type represents a sample identifier, to be used in conjunction with RDataFrame features such as ...
This class provides a simple interface to execute the same task multiple times in parallel threads,...