rntviewer/README.md
2024-08-21 14:38:26 +02:00

1.8 KiB

rntviewer

This is a work-in-progress interactive visualization tool for RNTuple.

Getting the repo

Clone this repository with

$ git clone --recurse-submodules <repo_url>

Dependencies

rntviewer currently only fully works on Linux, with the terminal-only version working on MacOS as well (PRs welcome).

The dependencies are:

  • GLFW3 (libglfw3-dev on debian, glfw-devel on fedora, glfw on arch)
  • ROOT (likely bleeding edge version, compiled from sources)
  • libxxhash3-dev

Other than those, rntviewer depends on Dear ImGui and GLAD (both included in the source tree).

The machine must support OpenGL 3.3 or higher.

For the terminal-only version you don't need GLFW3, ImGui or OpenGL support.

Building

Building is done with make. Make sure to source /path/to/root/bin/thisroot.sh before running it. You probably want to build the release version:

$ make r

You can test that the tool is working properly with:

$ ./rntviewer lmext1.root ntpl

To build the terminal-only version:

$ make nogfx_r

Usage

Basic usage is:

$ ./rntviewer <ntuple_file.root> [ntuple_name]

This will open a window and let you browse the RNTuple, jump around its sections and get some information about them. If you don't specify ntuple_name, the program will look for the first RNTuple in the file.

There is also a non-interactive non-graphical mode that can be used in a terminal (useful e.g. for ssh sessions):

$ ./rntviewer -t <ntuple_file.root> [ntuple_name]

The -t flag enables terminal mode. Use ./rntviewer -h to get a help message about the other flags that rntviewer accepts and are particularly useful in non-interactive mode.