2024-07-16 17:03:56 +02:00
< img src = "example.png" width = "500px" / >
## rntviewer
2024-11-13 12:01:24 +01:00
This is an interactive visualization tool for [RNTuple ](https://root.cern.ch/doc/v618/md_tree_ntuple_v7_doc_README.html ).
It can also be used to read generic TFiles and display some information about them, but it's mostly focused on inspecting
the on-disk structure of RNTuples.
2024-07-16 17:03:56 +02:00
### Getting the repo
Clone this repository with
```
2024-11-13 14:16:22 +01:00
git clone --recurse-submodules https://codeberg.org/silverweed/rntviewer
2024-07-16 17:03:56 +02:00
```
### Dependencies
2024-09-27 16:33:46 +02:00
rntviewer currently only fully works on Linux, with the terminal-only version working on MacOS as well.
2024-07-16 17:03:56 +02:00
2024-11-13 14:31:43 +01:00
The dynamic dependencies are:
2024-07-16 17:03:56 +02:00
- GLFW3 (`libglfw3-dev` on debian, `glfw-devel` on fedora, `glfw` on arch)
- ROOT (likely bleeding edge version, compiled from sources)
2024-07-23 09:38:17 +02:00
- libxxhash3-dev
2024-07-16 17:03:56 +02:00
2024-11-13 14:31:43 +01:00
Other than those, rntviewer statically depends on [Dear ImGui ](https://github.com/ocornut/imgui ) (included in the source tree - make sure to clone the submodules!).
2024-07-16 17:03:56 +02:00
2024-09-27 16:33:46 +02:00
For the graphical version, the OS must support OpenGL 3.3 or higher.
2024-07-16 17:03:56 +02:00
2024-08-21 14:38:26 +02:00
For the terminal-only version you don't need GLFW3, ImGui or OpenGL support.
2024-07-16 17:03:56 +02:00
### Building
Building is done with `make` . Make sure to `source /path/to/root/bin/thisroot.sh` before running it.
2024-07-23 09:38:17 +02:00
You probably want to build the release version:
```
2024-11-13 14:16:22 +01:00
make r
2024-07-23 09:38:17 +02:00
```
You can test that the tool is working properly with:
```
2024-11-13 14:16:22 +01:00
./rntviewer testdata/RNTuple.root
2024-07-23 09:38:17 +02:00
```
2024-07-16 17:03:56 +02:00
2024-08-21 14:38:26 +02:00
To build the terminal-only version:
```
2024-11-13 14:16:22 +01:00
make nogfx_r
2024-08-21 14:38:26 +02:00
```
2024-07-16 17:03:56 +02:00
### Usage
2024-07-25 18:02:31 +02:00
Basic usage is:
2024-07-16 17:03:56 +02:00
```
2024-11-13 14:16:22 +01:00
./rntviewer < ntuple_file.root > [ntuple_name]
2024-07-16 17:03:56 +02:00
```
2024-07-25 18:02:31 +02:00
This will open a window and let you browse the RNTuple, jump around its sections and get some
information about them.
2024-08-16 10:02:21 +02:00
If you don't specify `ntuple_name` , the program will look for the first RNTuple in the file.
2024-07-25 18:02:31 +02:00
There is also a non-interactive non-graphical mode that can be used in a terminal (useful
e.g. for ssh sessions):
```
2024-08-16 10:02:21 +02:00
$ ./rntviewer -t < ntuple_file.root > [ntuple_name]
2024-07-25 18:02:31 +02:00
```
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.