Class podio::DataSource
-
class DataSource : public ROOT::RDF::RDataSource
Public Functions
-
explicit DataSource(const std::string &filePath, int nEvents = -1, const std::vector<std::string> &collsToRead = {})
Construct the podio::DataSource from the provided file.
- Parameters:
filePath – Path to the file that should be read
nEvents – Number of events to process (optional, defaults to -1 for all events)
collsToRead – The collections that should be made available (optional, defaults to empty vector for all collections)
-
explicit DataSource(const std::vector<std::string> &filePathList, int nEvents = -1, const std::vector<std::string> &collsToRead = {})
Construct the podio::DataSource from the provided file list.
- Parameters:
filePathList – Paths to the files that should be read
nEvents – Number of events to process (optional, defaults to -1 for all events)
collsToRead – The collections that should be made available (optional, defaults to empty vector for all collections)
-
void SetNSlots(unsigned int nSlots) override
Inform the podio::DataSource of the desired level of parallelism.
-
void Initialize() override
Inform podio::DataSource that an event-loop is about to start.
-
std::vector<std::pair<ULong64_t, ULong64_t>> GetEntryRanges() override
Retrieve from podio::DataSource a set of ranges of entries that can be processed concurrently.
-
void InitSlot(unsigned int slot, ULong64_t firstEntry) override
Inform podio::DataSource that a certain thread is about to start working on a certain range of entries.
-
bool SetEntry(unsigned int slot, ULong64_t entry) override
Inform podio::DataSource that a certain thread is about to start working on a certain entry.
-
void FinalizeSlot(unsigned int slot) override
Inform podio::DataSource that a certain thread finished working on a certain range of entries.
-
void Finalize() override
Inform podio::DataSource that an event-loop finished.
-
const std::vector<std::string> &GetColumnNames() const override
Returns a reference to the collection of the dataset’s column names.
-
bool HasColumn(std::string_view columnName) const override
Checks if the dataset has a certain column.
-
std::string GetTypeName(std::string_view columnName) const override
Type of a column as a string.
Required for JITting.
-
inline std::string GetLabel() override
-
explicit DataSource(const std::string &filePath, int nEvents = -1, const std::vector<std::string> &collsToRead = {})