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