Project
Loading...
Searching...
No Matches
o2::framework::NativeAODFileSystem Class Reference

#include <NativeAOD.h>

Inherits o2::framework::VirtualRootFileSystemBase.

Public Member Functions

 NativeAODFileSystem (std::shared_ptr< o2::aod::native::RootFile > file, o2::aod::native::Options options, RootObjectReadingFactory &factory)
 
std::string type_name () const override
 
arrow::Result< arrow::fs::FileInfo > GetFileInfo (const std::string &path) override
 
std::shared_ptr< RootObjectHandler > GetObjectHandler (arrow::dataset::FileSource source) override
 
bool CheckSupport (arrow::dataset::FileSource source) override
 
NativeTreeHandle * getTreeHandle (std::string const &path)
 
std::shared_ptr< o2::aod::native::ReadPlan > planFor (std::string const &path)
 
o2::aod::native::RootFile & file ()
 
std::string const & name () const
 
void setName (std::string name)
 
std::vector< o2::aod::native::KeyInfo > keysOf (std::string const &df)
 The keys of DF df, read once (or prepared ahead) for all users.
 
void setReadOrder (std::vector< std::string > dfs)
 
- Public Member Functions inherited from o2::framework::VirtualRootFileSystemBase
arrow::Result< arrow::fs::FileInfo > GetFileInfo (const std::string &path) override
 
arrow::Result< arrow::fs::FileInfoVector > GetFileInfo (const arrow::fs::FileSelector &select) override
 
bool Equals (const FileSystem &other) const override
 
arrow::Status CreateDir (const std::string &path, bool recursive) override
 
arrow::Status DeleteDir (const std::string &path) override
 
arrow::Status CopyFile (const std::string &src, const std::string &dest) override
 
arrow::Status Move (const std::string &src, const std::string &dest) override
 
arrow::Status DeleteDirContents (const std::string &path, bool missing_dir_ok) override
 
arrow::Status DeleteRootDirContents () override
 
arrow::Status DeleteFile (const std::string &path) override
 
arrow::Result< std::shared_ptr< arrow::io::InputStream > > OpenInputStream (const std::string &path) override
 
arrow::Result< std::shared_ptr< arrow::io::RandomAccessFile > > OpenInputFile (const std::string &path) override
 
arrow::Result< std::shared_ptr< arrow::io::OutputStream > > OpenOutputStream (const std::string &path, const std::shared_ptr< const arrow::KeyValueMetadata > &metadata) override
 
arrow::Result< std::shared_ptr< arrow::io::OutputStream > > OpenAppendStream (const std::string &path, const std::shared_ptr< const arrow::KeyValueMetadata > &metadata) override
 

Detailed Description

A filesystem over an AO2D read without ROOT, with the same path convention as TFileFileSystem: "DF_<n>/<tree>".

Definition at line 42 of file NativeAOD.h.

Constructor & Destructor Documentation

◆ NativeAODFileSystem()

o2::framework::NativeAODFileSystem::NativeAODFileSystem ( std::shared_ptr< o2::aod::native::RootFile >  file,
o2::aod::native::Options  options,
RootObjectReadingFactory &  factory 
)

Definition at line 34 of file NativeAOD.cxx.

Member Function Documentation

◆ CheckSupport()

bool o2::framework::NativeAODFileSystem::CheckSupport ( arrow::dataset::FileSource  source)
overridevirtual

Implements o2::framework::VirtualRootFileSystemBase.

Definition at line 301 of file NativeAOD.cxx.

◆ file()

o2::aod::native::RootFile & o2::framework::NativeAODFileSystem::file ( )
inline

Definition at line 67 of file NativeAOD.h.

◆ GetFileInfo()

arrow::Result< arrow::fs::FileInfo > o2::framework::NativeAODFileSystem::GetFileInfo ( const std::string &  path)
override

Definition at line 311 of file NativeAOD.cxx.

◆ GetObjectHandler()

std::shared_ptr< RootObjectHandler > o2::framework::NativeAODFileSystem::GetObjectHandler ( arrow::dataset::FileSource  source)
overridevirtual

Implements o2::framework::VirtualRootFileSystemBase.

Definition at line 285 of file NativeAOD.cxx.

◆ getTreeHandle()

NativeTreeHandle * o2::framework::NativeAODFileSystem::getTreeHandle ( std::string const &  path)

The tree at path, parsed on first use. nullptr if there is no such tree. Throws o2::aod::native::FormatError if it cannot be parsed.

Definition at line 53 of file NativeAOD.cxx.

◆ keysOf()

std::vector< KeyInfo > o2::framework::NativeAODFileSystem::keysOf ( std::string const &  df)

The keys of DF df, read once (or prepared ahead) for all users.

Definition at line 181 of file NativeAOD.cxx.

◆ name()

std::string const & o2::framework::NativeAODFileSystem::name ( ) const
inline

The name the file was asked for by (an LFN for a grid file), which is not the URL it is read from.

Definition at line 70 of file NativeAOD.h.

◆ planFor()

std::shared_ptr< ReadPlan > o2::framework::NativeAODFileSystem::planFor ( std::string const &  path)

The read plan with the tree at path in it; nullptr when the file is mapped and nothing needs reading. A new DF gets new plans, with the trees read in the previous DF already in them: a reader asks for the same tables in every DF, so the first read of a plan fetches all of its trees together. With Options::bufferBudget, the trees of a DF are split into plans of at most that many bytes, in the order they are read, and a plan is freed once the reads of its trees are done; a tree larger than the budget gets a plan of its own. For a remote file, the next DF is prepared in the background meanwhile (keys, TTrees and data of the same trees, up to the budget), so that its round trips overlap with the decoding of this one.

Definition at line 63 of file NativeAOD.cxx.

◆ setName()

void o2::framework::NativeAODFileSystem::setName ( std::string  name)
inline

Definition at line 71 of file NativeAOD.h.

◆ setReadOrder()

void o2::framework::NativeAODFileSystem::setReadOrder ( std::vector< std::string >  dfs)

The order the DFs are read in, which tells which DF to prepare next. Without it, RootFile::dataFrames() is assumed.

Definition at line 187 of file NativeAOD.cxx.

◆ type_name()

std::string o2::framework::NativeAODFileSystem::type_name ( ) const
inlineoverride

Definition at line 47 of file NativeAOD.h.


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