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
|
|
|
|
|
|
|
The dependencies are:
|
|
|
|
- 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
|
|
|
|
|
|
|
Other than those, rntviewer depends on Dear ImGui and GLAD (both included in the source tree).
|
|
|
|
|
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.
|