Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Experimental::RNTupleInspector Class Reference

Inspect on-disk and storage-related information of an RNTuple.

The RNTupleInspector can be used for studying an RNTuple in terms of its storage efficiency. It provides information on the level of the RNTuple itself, on the (sub)field level and on the column level.

Example usage:

#include <ROOT/RNTuple.hxx>
#include <iostream>
auto file = TFile::Open("data.rntuple");
auto rntuple = std::unique_ptr<ROOT::RNTuple>(file->Get<RNTuple>("NTupleName"));
auto inspector = RNTupleInspector::Create(*rntuple);
std::cout << "The compression factor is " << inspector->GetCompressionFactor()
<< " using compression settings " << inspector->GetCompressionSettingsAsString()
<< std::endl;
Inspect on-disk and storage-related information of an RNTuple.
static std::unique_ptr< RNTupleInspector > Create(const RNTuple &sourceNTuple)
Create a new RNTupleInspector.
Representation of an RNTuple data set in a ROOT file.
Definition RNTuple.hxx:67
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
Definition TFile.cxx:3787

Definition at line 82 of file RNTupleInspector.hxx.

Classes

class  RColumnInspector
 Provides column-level storage information. More...
class  RFieldTreeInspector
 Provides field-level storage information. More...

Public Member Functions

 RNTupleInspector (const RNTupleInspector &other)=delete
 RNTupleInspector (RNTupleInspector &&other)=delete
 ~RNTupleInspector ()
std::vector< ROOT::DescriptorId_tGetAllColumnsOfField (ROOT::DescriptorId_t fieldId) const
 Get the columns that make up the given field, including its subfields.
size_t GetColumnCountByType (ROOT::ENTupleColumnType colType) const
 Get the number of columns of a given type present in the RNTuple.
const RColumnInspectorGetColumnInspector (ROOT::DescriptorId_t physicalColumnId) const
 Get storage information for a given column.
std::vector< ROOT::DescriptorId_tGetColumnsByType (ROOT::ENTupleColumnType colType)
 Get the IDs of all columns with the given type.
std::unique_ptr< TH1DGetColumnTypeInfoAsHist (ENTupleInspectorHist histKind, std::string_view histName="", std::string_view histTitle="")
 Get a histogram showing information for each column type present,.
std::vector< ROOT::ENTupleColumnTypeGetColumnTypes ()
 Get all column types present in the RNTuple being inspected.
std::uint64_t GetCompressedSize () const
 Get the compressed, on-disk size of the RNTuple being inspected.
float GetCompressionFactor () const
 Get the compression factor of the RNTuple being inspected.
std::optional< std::uint32_t > GetCompressionSettings () const
 Get the compression settings of the RNTuple being inspected.
std::string GetCompressionSettingsAsString () const
 Get a string describing compression settings of the RNTuple being inspected.
const ROOT::RNTupleDescriptorGetDescriptor () const
 Get the descriptor for the RNTuple being inspected.
size_t GetFieldCountByType (const std::regex &typeNamePattern, bool searchInSubfields=true) const
 Get the number of fields of a given type or class present in the RNTuple.
size_t GetFieldCountByType (std::string_view typeNamePattern, bool searchInSubfields=true) const
 Get the number of fields of a given type or class present in the RNTuple.
std::vector< ROOT::DescriptorId_tGetFieldsByName (const std::regex &fieldNamePattern, bool searchInSubfields=true) const
 Get the IDs of (sub-)fields whose name matches the given string.
std::vector< ROOT::DescriptorId_tGetFieldsByName (std::string_view fieldNamePattern, bool searchInSubfields=true)
 Get the IDs of (sub-)fields whose name matches the given string.
const RFieldTreeInspectorGetFieldTreeInspector (ROOT::DescriptorId_t fieldId) const
 Get storage information for a given (sub)field by ID.
const RFieldTreeInspectorGetFieldTreeInspector (std::string_view fieldName) const
 Get a storage information inspector for a given (sub)field by name, including its subfields.
std::unique_ptr< TH1DGetPageSizeDistribution (ROOT::DescriptorId_t physicalColumnId, std::string histName="", std::string histTitle="", size_t nBins=64)
 Get a histogram containing the size distribution of the compressed pages for an individual column.
std::unique_ptr< TH1DGetPageSizeDistribution (ROOT::ENTupleColumnType colType, std::string histName="", std::string histTitle="", size_t nBins=64)
 Get a histogram containing the size distribution of the compressed pages for all columns of a given type.
std::unique_ptr< TH1DGetPageSizeDistribution (std::initializer_list< ROOT::DescriptorId_t > colIds, std::string histName="", std::string histTitle="", size_t nBins=64)
 Get a histogram containing the size distribution of the compressed pages for a collection columns.
std::unique_ptr< THStackGetPageSizeDistribution (std::initializer_list< ROOT::ENTupleColumnType > colTypes={}, std::string histName="", std::string histTitle="", size_t nBins=64)
 Get a histogram containing the size distribution of the compressed pages for all columns of a given list of types.
std::uint64_t GetUncompressedSize () const
 Get the uncompressed total size of the RNTuple being inspected.
RNTupleInspectoroperator= (const RNTupleInspector &other)=delete
RNTupleInspectoroperator= (RNTupleInspector &&other)=delete
void PrintColumnTypeInfo (ENTupleInspectorPrintFormat format=ENTupleInspectorPrintFormat::kTable, std::ostream &output=std::cout)
 Print storage information per column type.
void PrintFieldTreeAsDot (const ROOT::RFieldDescriptor &fieldDescriptor, std::ostream &output=std::cout) const
 Print a .dot string that represents the tree of the (sub)fields of an RNTuple.
void PrintFieldTreeAsDot (std::ostream &output=std::cout) const
 Print the tree of all the (sub)fields of an RNTuple.

Static Public Member Functions

static std::unique_ptr< RNTupleInspectorCreate (const RNTuple &sourceNTuple)
 Create a new RNTupleInspector.
static std::unique_ptr< RNTupleInspectorCreate (std::string_view ntupleName, std::string_view storage)
 Create a new RNTupleInspector.

Private Member Functions

 RNTupleInspector (std::unique_ptr< ROOT::Internal::RPageSource > pageSource)
void CollectColumnInfo ()
 Gather column-level and RNTuple-level information.
RFieldTreeInspector CollectFieldTreeInfo (ROOT::DescriptorId_t fieldId)
 Recursively gather field-level information.

Private Attributes

std::unordered_map< int, RColumnInspectorfColumnInfo
std::uint64_t fCompressedSize = 0
std::optional< std::uint32_t > fCompressionSettings
 The compression settings are unknown for an empty ntuple.
ROOT::RNTupleDescriptor fDescriptor
std::unordered_map< int, RFieldTreeInspectorfFieldTreeInfo
std::unique_ptr< ROOT::Internal::RPageSourcefPageSource
std::uint64_t fUncompressedSize = 0

#include <ROOT/RNTupleInspector.hxx>

Constructor & Destructor Documentation

◆ RNTupleInspector() [1/3]

ROOT::Experimental::RNTupleInspector::RNTupleInspector ( std::unique_ptr< ROOT::Internal::RPageSource > pageSource)
private

Definition at line 33 of file RNTupleInspector.cxx.

◆ RNTupleInspector() [2/3]

ROOT::Experimental::RNTupleInspector::RNTupleInspector ( const RNTupleInspector & other)
delete

◆ RNTupleInspector() [3/3]

ROOT::Experimental::RNTupleInspector::RNTupleInspector ( RNTupleInspector && other)
delete

◆ ~RNTupleInspector()

ROOT::Experimental::RNTupleInspector::~RNTupleInspector ( )
default

Member Function Documentation

◆ CollectColumnInfo()

void ROOT::Experimental::RNTupleInspector::CollectColumnInfo ( )
private

Gather column-level and RNTuple-level information.

Note
This method is called when the RNTupleInspector is initially created. This means that anything unexpected about the RNTuple itself (e.g. inconsistent compression settings across clusters) will be detected here. Therefore, any related exceptions will be thrown on creation of the inspector.

Definition at line 47 of file RNTupleInspector.cxx.

◆ CollectFieldTreeInfo()

ROOT::Experimental::RNTupleInspector::RFieldTreeInspector ROOT::Experimental::RNTupleInspector::CollectFieldTreeInfo ( ROOT::DescriptorId_t fieldId)
private

Recursively gather field-level information.

Parameters
[in]fieldIdThe ID of the field from which to start the recursive traversal. Typically this is the "zero ID", i.e. the logical parent of all top-level fields.
Returns
The RFieldTreeInspector for the provided field ID.

This method is called when the RNTupleInspector is initially created.

Definition at line 103 of file RNTupleInspector.cxx.

◆ Create() [1/2]

std::unique_ptr< ROOT::Experimental::RNTupleInspector > ROOT::Experimental::RNTupleInspector::Create ( const RNTuple & sourceNTuple)
static

Create a new RNTupleInspector.

Parameters
[in]sourceNTupleA pointer to the RNTuple to be inspected.
Returns
A pointer to the newly created RNTupleInspector.
Note
When this factory method is called, all required static information is collected from the RNTuple's fields and underlying columns are collected at ones. This means that when any inconsistencies are encountered (e.g. inconsistent compression across clusters), it will throw an error here.

Definition at line 155 of file RNTupleInspector.cxx.

◆ Create() [2/2]

std::unique_ptr< ROOT::Experimental::RNTupleInspector > ROOT::Experimental::RNTupleInspector::Create ( std::string_view ntupleName,
std::string_view storage )
static

Create a new RNTupleInspector.

Parameters
[in]ntupleNameThe name of the RNTuple to be inspected.
[in]storageThe path or URI to the RNTuple to be inspected.
See also
Create(RNTuple *sourceNTuple)

Definition at line 162 of file RNTupleInspector.cxx.

◆ GetAllColumnsOfField()

std::vector< ROOT::DescriptorId_t > ROOT::Experimental::RNTupleInspector::GetAllColumnsOfField ( ROOT::DescriptorId_t fieldId) const

Get the columns that make up the given field, including its subfields.

Parameters
[in]fieldIdThe ID of the field for which to collect the columns.
Returns
A vector containing the IDs of all columns for the provided field ID.

Definition at line 129 of file RNTupleInspector.cxx.

◆ GetColumnCountByType()

size_t ROOT::Experimental::RNTupleInspector::GetColumnCountByType ( ROOT::ENTupleColumnType colType) const

Get the number of columns of a given type present in the RNTuple.

Parameters
[in]colTypeThe column type to count, as defined by ROOT::ENTupleColumnType.
Returns
The number of columns present in the inspected RNTuple of the provided type.

Definition at line 192 of file RNTupleInspector.cxx.

◆ GetColumnInspector()

const ROOT::Experimental::RNTupleInspector::RColumnInspector & ROOT::Experimental::RNTupleInspector::GetColumnInspector ( ROOT::DescriptorId_t physicalColumnId) const

Get storage information for a given column.

Parameters
[in]physicalColumnIdThe physical ID of the column for which to get the information.
Returns
The storage information for the provided column.

Definition at line 183 of file RNTupleInspector.cxx.

◆ GetColumnsByType()

std::vector< ROOT::DescriptorId_t > ROOT::Experimental::RNTupleInspector::GetColumnsByType ( ROOT::ENTupleColumnType colType)

Get the IDs of all columns with the given type.

Parameters
[in]colTypeThe column type to collect, as defined by ROOT::ENTupleColumnType.
Returns
A vector containing the physical IDs of columns of the provided type.

Definition at line 206 of file RNTupleInspector.cxx.

◆ GetColumnTypeInfoAsHist()

std::unique_ptr< TH1D > ROOT::Experimental::RNTupleInspector::GetColumnTypeInfoAsHist ( ENTupleInspectorHist histKind,
std::string_view histName = "",
std::string_view histTitle = "" )

Get a histogram showing information for each column type present,.

Parameters
[in]histKindWhich type of information should be returned.
[in]histNameThe name of the histogram. An empty string means a default name will be used.
[in]histTitleThe title of the histogram. An empty string means a default title will be used.
Returns
A pointer to a TH1D containing the specified kind of information.

Get a histogram showing the count, number of elements, size on disk, or size in memory for each column type present in the inspected RNTuple.

Definition at line 290 of file RNTupleInspector.cxx.

◆ GetColumnTypes()

std::vector< ROOT::ENTupleColumnType > ROOT::Experimental::RNTupleInspector::GetColumnTypes ( )

Get all column types present in the RNTuple being inspected.

Returns
A vector containing all column types present in the RNTuple.

Definition at line 218 of file RNTupleInspector.cxx.

◆ GetCompressedSize()

std::uint64_t ROOT::Experimental::RNTupleInspector::GetCompressedSize ( ) const
inline

Get the compressed, on-disk size of the RNTuple being inspected.

Returns
The compressed size of the inspected RNTuple, in bytes, excluding the size of the header and footer.

Definition at line 232 of file RNTupleInspector.hxx.

◆ GetCompressionFactor()

float ROOT::Experimental::RNTupleInspector::GetCompressionFactor ( ) const
inline

Get the compression factor of the RNTuple being inspected.

Returns
The compression factor of the inspected RNTuple.

The compression factor shows how well the data present in the RNTuple is compressed by the compression settings that were used. The compression factor is calculated as \(size_{uncompressed} / size_{compressed}\).

Definition at line 247 of file RNTupleInspector.hxx.

◆ GetCompressionSettings()

std::optional< std::uint32_t > ROOT::Experimental::RNTupleInspector::GetCompressionSettings ( ) const
inline

Get the compression settings of the RNTuple being inspected.

Returns
The integer representation ( \(algorithm * 10 + level\), where \(algorithm\) follows ROOT::RCompressionSetting::ELevel::EValues) of the compression settings used for the inspected RNTuple. Empty for an empty ntuple.
Note
Here, we assume that the compression settings are consistent across all clusters and columns. If this is not the case, an exception will be thrown when RNTupleInspector::Create is called.

Definition at line 216 of file RNTupleInspector.hxx.

◆ GetCompressionSettingsAsString()

std::string ROOT::Experimental::RNTupleInspector::GetCompressionSettingsAsString ( ) const

Get a string describing compression settings of the RNTuple being inspected.

Returns
A string describing the compression used for the inspected RNTuple. The format of the string is "A (level L)", where A is the name of the compression algorithm and L the compression level.
Note
Here, we assume that the compression settings are consistent across all clusters and columns. If this is not the case, an exception will be thrown when RNTupleInspector::Create is called.

Definition at line 168 of file RNTupleInspector.cxx.

◆ GetDescriptor()

const ROOT::RNTupleDescriptor & ROOT::Experimental::RNTupleInspector::GetDescriptor ( ) const
inline

Get the descriptor for the RNTuple being inspected.

Returns
A static copy of the ROOT::RNTupleDescriptor belonging to the inspected RNTuple.

Definition at line 205 of file RNTupleInspector.hxx.

◆ GetFieldCountByType() [1/2]

size_t ROOT::Experimental::RNTupleInspector::GetFieldCountByType ( const std::regex & typeNamePattern,
bool searchInSubfields = true ) const

Get the number of fields of a given type or class present in the RNTuple.

Parameters
[in]typeNamePatternThe type or class name to count. May contain regular expression patterns for grouping multiple kinds of types or classes.
[in]searchInSubfieldsIf set to false, only top-level fields will be considered.
Returns
The number of fields that matches the provided type.

Definition at line 482 of file RNTupleInspector.cxx.

◆ GetFieldCountByType() [2/2]

size_t ROOT::Experimental::RNTupleInspector::GetFieldCountByType ( std::string_view typeNamePattern,
bool searchInSubfields = true ) const
inline

Get the number of fields of a given type or class present in the RNTuple.

See also
GetFieldCountByType(const std::regex &typeNamePattern, bool searchInSubfields) const

Definition at line 454 of file RNTupleInspector.hxx.

◆ GetFieldsByName() [1/2]

std::vector< ROOT::DescriptorId_t > ROOT::Experimental::RNTupleInspector::GetFieldsByName ( const std::regex & fieldNamePattern,
bool searchInSubfields = true ) const

Get the IDs of (sub-)fields whose name matches the given string.

Parameters
[in]fieldNamePatternThe name of the field name to get. Because field names are unique by design, providing a single field name will return a vector containing just the ID of that field. However, regular expression patterns are supported in order to get the IDs of all fields whose name follow a certain structure.
[in]searchInSubfieldsIf set to false, only top-level fields will be considered.
Returns
A vector containing the IDs of fields that match the provided name.

Definition at line 501 of file RNTupleInspector.cxx.

◆ GetFieldsByName() [2/2]

std::vector< ROOT::DescriptorId_t > ROOT::Experimental::RNTupleInspector::GetFieldsByName ( std::string_view fieldNamePattern,
bool searchInSubfields = true )
inline

Get the IDs of (sub-)fields whose name matches the given string.

See also
GetFieldsByName(const std::regex &fieldNamePattern, bool searchInSubfields) const

Definition at line 475 of file RNTupleInspector.hxx.

◆ GetFieldTreeInspector() [1/2]

const ROOT::Experimental::RNTupleInspector::RFieldTreeInspector & ROOT::Experimental::RNTupleInspector::GetFieldTreeInspector ( ROOT::DescriptorId_t fieldId) const

Get storage information for a given (sub)field by ID.

Parameters
[in]fieldIdThe ID of the (sub)field for which to get the information.
Returns
The storage information inspector for the provided (sub)field tree.

Definition at line 461 of file RNTupleInspector.cxx.

◆ GetFieldTreeInspector() [2/2]

const ROOT::Experimental::RNTupleInspector::RFieldTreeInspector & ROOT::Experimental::RNTupleInspector::GetFieldTreeInspector ( std::string_view fieldName) const

Get a storage information inspector for a given (sub)field by name, including its subfields.

Parameters
[in]fieldNameThe name of the (sub)field for which to get the information.
Returns
The storage information inspector for the provided (sub)field tree.

Definition at line 471 of file RNTupleInspector.cxx.

◆ GetPageSizeDistribution() [1/4]

std::unique_ptr< TH1D > ROOT::Experimental::RNTupleInspector::GetPageSizeDistribution ( ROOT::DescriptorId_t physicalColumnId,
std::string histName = "",
std::string histTitle = "",
size_t nBins = 64 )

Get a histogram containing the size distribution of the compressed pages for an individual column.

Parameters
[in]physicalColumnIdThe physical ID of the column for which to get the page size distribution.
[in]histNameThe name of the histogram. An empty string means a default name will be used.
[in]histTitleThe title of the histogram. An empty string means a default title will be used.
[in]nBinsThe desired number of histogram bins.
Returns
A pointer to a TH1D containing the page size distribution.

The x-axis will range from the smallest page size, to the largest (inclusive).

Definition at line 332 of file RNTupleInspector.cxx.

◆ GetPageSizeDistribution() [2/4]

std::unique_ptr< TH1D > ROOT::Experimental::RNTupleInspector::GetPageSizeDistribution ( ROOT::ENTupleColumnType colType,
std::string histName = "",
std::string histTitle = "",
size_t nBins = 64 )

Get a histogram containing the size distribution of the compressed pages for all columns of a given type.

Parameters
[in]colTypeThe column type for which to get the size distribution, as defined by ROOT::ENTupleColumnType.
[in]histNameThe name of the histogram. An empty string means a default name will be used.
[in]histTitleThe title of the histogram. An empty string means a default title will be used.
[in]nBinsThe desired number of histogram bins.
Returns
A pointer to a TH1D containing the page size distribution.

The x-axis will range from the smallest page size, to the largest (inclusive).

Definition at line 341 of file RNTupleInspector.cxx.

◆ GetPageSizeDistribution() [3/4]

std::unique_ptr< TH1D > ROOT::Experimental::RNTupleInspector::GetPageSizeDistribution ( std::initializer_list< ROOT::DescriptorId_t > colIds,
std::string histName = "",
std::string histTitle = "",
size_t nBins = 64 )

Get a histogram containing the size distribution of the compressed pages for a collection columns.

Parameters
[in]colIdsThe physical IDs of the columns for which to get the page size distribution.
[in]histNameThe name of the histogram. An empty string means a default name will be used.
[in]histTitleThe title of the histogram. An empty string means a default title will be used.
[in]nBinsThe desired number of histogram bins.
Returns
A pointer to a TH1D containing the (cumulative) page size distribution.

The x-axis will range from the smallest page size, to the largest (inclusive).

Definition at line 366 of file RNTupleInspector.cxx.

◆ GetPageSizeDistribution() [4/4]

std::unique_ptr< THStack > ROOT::Experimental::RNTupleInspector::GetPageSizeDistribution ( std::initializer_list< ROOT::ENTupleColumnType > colTypes = {},
std::string histName = "",
std::string histTitle = "",
size_t nBins = 64 )

Get a histogram containing the size distribution of the compressed pages for all columns of a given list of types.

Parameters
[in]colTypesThe column types for which to get the size distribution, as defined by ROOT::ENTupleColumnType. The default is an empty vector, which indicates that the distribution for all physical columns will be returned.
[in]histNameThe name of the histogram. An empty string means a default name will be used. The name of each histogram inside the THStack will be histName + colType.
[in]histTitleThe title of the histogram. An empty string means a default title will be used.
[in]nBinsThe desired number of histogram bins.
Returns
A pointer to a THStack with one histogram for each column type.

The x-axis will range from the smallest page size, to the largest (inclusive).

Example: Drawing a non-stacked page size distribution with a legend

auto canvas = std::make_unique<TCanvas>();
auto inspector = RNTupleInspector::Create("myNTuple", "ntuple.root");
// We want to show the page size distributions of columns with type `kSplitReal32` and `kSplitReal64`.
auto hist = inspector->GetPageSizeDistribution(
// The "PLC" option automatically sets the line color for each histogram in the `THStack`.
// The "NOSTACK" option will draw the histograms on top of each other instead of stacked.
hist->DrawClone("PLC NOSTACK");
canvas->BuildLegend(0.7, 0.8, 0.89, 0.89);
canvas->DrawClone();

Definition at line 401 of file RNTupleInspector.cxx.

◆ GetUncompressedSize()

std::uint64_t ROOT::Experimental::RNTupleInspector::GetUncompressedSize ( ) const
inline

Get the uncompressed total size of the RNTuple being inspected.

Returns
The uncompressed size of the inspected RNTuple, in bytes, excluding the size of the header and footer.

Definition at line 238 of file RNTupleInspector.hxx.

◆ operator=() [1/2]

RNTupleInspector & ROOT::Experimental::RNTupleInspector::operator= ( const RNTupleInspector & other)
delete

◆ operator=() [2/2]

RNTupleInspector & ROOT::Experimental::RNTupleInspector::operator= ( RNTupleInspector && other)
delete

◆ PrintColumnTypeInfo()

void ROOT::Experimental::RNTupleInspector::PrintColumnTypeInfo ( ENTupleInspectorPrintFormat format = ENTupleInspectorPrintFormat::kTable,
std::ostream & output = std::cout )

Print storage information per column type.

Parameters
[in]formatWhether to print the information as a (markdown-parseable) table or in CSV format.
[in]outputWhere to write the output to. Default is stdout.

The output includes for each column type its count, the total number of elements, the compressed size and the uncompressed size.

Example: printing the column type information of an RNTuple as a table

auto inspector = RNTupleInspector::Create("myNTuple", "some/file.root");
inspector->PrintColumnTypeInfo();

Output:

column type | count | # elements | compressed bytes | uncompressed bytes
----------------|---------|-----------------|-------------------|--------------------
SplitIndex64 | 2 | 150 | 72 | 1200
SplitReal32 | 4 | 300 | 189 | 1200
SplitUInt32 | 3 | 225 | 123 | 900

Example: printing the column type information of an RNTuple in CSV format

auto inspector = RNTupleInspector::Create("myNTuple", "some/file.root");
inspector->PrintColumnTypeInfo();

Output:

columnType,count,nElements,compressedSize,uncompressedSize
SplitIndex64,2,150,72,1200
SplitReal32,4,300,189,1200
SplitUInt32,3,225,123,900

Definition at line 229 of file RNTupleInspector.cxx.

◆ PrintFieldTreeAsDot() [1/2]

void ROOT::Experimental::RNTupleInspector::PrintFieldTreeAsDot ( const ROOT::RFieldDescriptor & fieldDescriptor,
std::ostream & output = std::cout ) const

Print a .dot string that represents the tree of the (sub)fields of an RNTuple.

Parameters
[in]fieldDescriptorThe descriptor of the root field (this method works recursively)

Definition at line 519 of file RNTupleInspector.cxx.

◆ PrintFieldTreeAsDot() [2/2]

void ROOT::Experimental::RNTupleInspector::PrintFieldTreeAsDot ( std::ostream & output = std::cout) const
inline

Print the tree of all the (sub)fields of an RNTuple.

Parameters
[in]output
See also
PrintFieldTreeAsDot(const ROOT::RFieldDescriptor &fieldDescriptor, std::ostream &output=std::cout) const

Definition at line 492 of file RNTupleInspector.hxx.

Member Data Documentation

◆ fColumnInfo

std::unordered_map<int, RColumnInspector> ROOT::Experimental::RNTupleInspector::fColumnInfo
private

Definition at line 149 of file RNTupleInspector.hxx.

◆ fCompressedSize

std::uint64_t ROOT::Experimental::RNTupleInspector::fCompressedSize = 0
private

Definition at line 146 of file RNTupleInspector.hxx.

◆ fCompressionSettings

std::optional<std::uint32_t> ROOT::Experimental::RNTupleInspector::fCompressionSettings
private

The compression settings are unknown for an empty ntuple.

Definition at line 145 of file RNTupleInspector.hxx.

◆ fDescriptor

ROOT::RNTupleDescriptor ROOT::Experimental::RNTupleInspector::fDescriptor
private

Definition at line 144 of file RNTupleInspector.hxx.

◆ fFieldTreeInfo

std::unordered_map<int, RFieldTreeInspector> ROOT::Experimental::RNTupleInspector::fFieldTreeInfo
private

Definition at line 150 of file RNTupleInspector.hxx.

◆ fPageSource

std::unique_ptr<ROOT::Internal::RPageSource> ROOT::Experimental::RNTupleInspector::fPageSource
private

Definition at line 143 of file RNTupleInspector.hxx.

◆ fUncompressedSize

std::uint64_t ROOT::Experimental::RNTupleInspector::fUncompressedSize = 0
private

Definition at line 147 of file RNTupleInspector.hxx.


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