Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::RDF::RSampleInfo Class Reference

This type represents a sample identifier, to be used in conjunction with RDataFrame features such as DefinePerSample() and per-sample callbacks.

When the input data comes from a TTree, the string representation of RSampleInfo (which is returned by AsString() and that can be queried e.g. with Contains()) is of the form "<filename>/<treename>".

In multi-thread runs, different tasks might process different entry ranges of the same sample, so RSampleInfo also provides methods to inspect which part of a sample is being taken into consideration.

Definition at line 35 of file RSampleInfo.hxx.

Public Member Functions

 RSampleInfo ()=default
 
 RSampleInfo (const RSampleInfo &)=default
 
 RSampleInfo (RSampleInfo &&)=default
 
 RSampleInfo (std::string_view id, std::pair< ULong64_t, ULong64_t > entryRange, const ROOT::RDF::Experimental::RSample *sample=nullptr, ULong64_t totalEntries=0)
 
 ~RSampleInfo ()=default
 
const std::string & AsString () const
 Return a string representation of the sample name.
 
bool Contains (std::string_view substr) const
 Check whether the sample name contains the given substring.
 
bool Empty () const
 Check whether the sample name is empty.
 
std::pair< ULong64_t, ULong64_tEntryRange () const
 Return the entry range in the sample that is being taken into consideration.
 
double GetD (const std::string &key) const
 Return the metadata value of type double given the key.
 
int GetI (const std::string &key) const
 Return the metadata value of type int given the key.
 
std::string GetS (const std::string &key) const
 Return the metadata value of type string given the key.
 
unsigned int GetSampleId () const
 Get the sample id as an int.
 
const std::string & GetSampleName () const
 Get the name of the sample as a string.
 
ULong64_t NEntries () const
 Return the number of entries of this range of the sample.
 
ULong64_t NEntriesTotal () const
 Return the total number of entries in the underlying dataset.
 
bool operator!= (const RSampleInfo &other) const
 
RSampleInfooperator= (const RSampleInfo &)=default
 
RSampleInfooperator= (RSampleInfo &&)=default
 
bool operator== (const RSampleInfo &other) const
 

Private Member Functions

void ThrowIfNoSample () const
 

Private Attributes

std::pair< ULong64_t, ULong64_tfEntryRange
 
std::string fID
 
const ROOT::RDF::Experimental::RSamplefSample = nullptr
 
ULong64_t fTotalEntries = 0
 

#include <ROOT/RDF/RSampleInfo.hxx>

Constructor & Destructor Documentation

◆ RSampleInfo() [1/4]

ROOT::RDF::RSampleInfo::RSampleInfo ( std::string_view id,
std::pair< ULong64_t, ULong64_t > entryRange,
const ROOT::RDF::Experimental::RSample * sample = nullptr,
ULong64_t totalEntries = 0 )
inline

Definition at line 51 of file RSampleInfo.hxx.

◆ RSampleInfo() [2/4]

ROOT::RDF::RSampleInfo::RSampleInfo ( )
default

◆ RSampleInfo() [3/4]

ROOT::RDF::RSampleInfo::RSampleInfo ( const RSampleInfo & )
default

◆ RSampleInfo() [4/4]

ROOT::RDF::RSampleInfo::RSampleInfo ( RSampleInfo && )
default

◆ ~RSampleInfo()

ROOT::RDF::RSampleInfo::~RSampleInfo ( )
default

Member Function Documentation

◆ AsString()

const std::string & ROOT::RDF::RSampleInfo::AsString ( ) const
inline

Return a string representation of the sample name.

The representation is of the form "<filename>/<treename>" if the input data comes from a TTree or a TChain.

Definition at line 115 of file RSampleInfo.hxx.

◆ Contains()

bool ROOT::RDF::RSampleInfo::Contains ( std::string_view substr) const
inline

Check whether the sample name contains the given substring.

Definition at line 99 of file RSampleInfo.hxx.

◆ Empty()

bool ROOT::RDF::RSampleInfo::Empty ( ) const
inline

Check whether the sample name is empty.

This is the case e.g. when using a RDataFrame with no input data, constructed as RDataFrame(nEntries).

Definition at line 108 of file RSampleInfo.hxx.

◆ EntryRange()

std::pair< ULong64_t, ULong64_t > ROOT::RDF::RSampleInfo::EntryRange ( ) const
inline

Return the entry range in the sample that is being taken into consideration.

Multiple multi-threading tasks might process different entry ranges of the same sample.

Definition at line 123 of file RSampleInfo.hxx.

◆ GetD()

double ROOT::RDF::RSampleInfo::GetD ( const std::string & key) const
inline

Return the metadata value of type double given the key.

Definition at line 85 of file RSampleInfo.hxx.

◆ GetI()

int ROOT::RDF::RSampleInfo::GetI ( const std::string & key) const
inline

Return the metadata value of type int given the key.

Definition at line 78 of file RSampleInfo.hxx.

◆ GetS()

std::string ROOT::RDF::RSampleInfo::GetS ( const std::string & key) const
inline

Return the metadata value of type string given the key.

Definition at line 92 of file RSampleInfo.hxx.

◆ GetSampleId()

unsigned int ROOT::RDF::RSampleInfo::GetSampleId ( ) const
inline

Get the sample id as an int.

Definition at line 71 of file RSampleInfo.hxx.

◆ GetSampleName()

const std::string & ROOT::RDF::RSampleInfo::GetSampleName ( ) const
inline

Get the name of the sample as a string.

Definition at line 64 of file RSampleInfo.hxx.

◆ NEntries()

ULong64_t ROOT::RDF::RSampleInfo::NEntries ( ) const
inline

Return the number of entries of this range of the sample.

Definition at line 126 of file RSampleInfo.hxx.

◆ NEntriesTotal()

ULong64_t ROOT::RDF::RSampleInfo::NEntriesTotal ( ) const
inline

Return the total number of entries in the underlying dataset.

If the total number of entries is not known, the end of the current range is returned. This can be larger than NEntries() if the sample is split in multiple ranges.

Definition at line 131 of file RSampleInfo.hxx.

◆ operator!=()

bool ROOT::RDF::RSampleInfo::operator!= ( const RSampleInfo & other) const
inline

Definition at line 134 of file RSampleInfo.hxx.

◆ operator=() [1/2]

RSampleInfo & ROOT::RDF::RSampleInfo::operator= ( const RSampleInfo & )
default

◆ operator=() [2/2]

RSampleInfo & ROOT::RDF::RSampleInfo::operator= ( RSampleInfo && )
default

◆ operator==()

bool ROOT::RDF::RSampleInfo::operator== ( const RSampleInfo & other) const
inline

Definition at line 133 of file RSampleInfo.hxx.

◆ ThrowIfNoSample()

void ROOT::RDF::RSampleInfo::ThrowIfNoSample ( ) const
inlineprivate

Definition at line 42 of file RSampleInfo.hxx.

Member Data Documentation

◆ fEntryRange

std::pair<ULong64_t, ULong64_t> ROOT::RDF::RSampleInfo::fEntryRange
private

Definition at line 37 of file RSampleInfo.hxx.

◆ fID

std::string ROOT::RDF::RSampleInfo::fID
private

Definition at line 36 of file RSampleInfo.hxx.

◆ fSample

const ROOT::RDF::Experimental::RSample* ROOT::RDF::RSampleInfo::fSample = nullptr
private

Definition at line 39 of file RSampleInfo.hxx.

◆ fTotalEntries

ULong64_t ROOT::RDF::RSampleInfo::fTotalEntries = 0
private

Definition at line 40 of file RSampleInfo.hxx.

Libraries for ROOT::RDF::RSampleInfo:

The documentation for this class was generated from the following file: