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

61 lines
1.8 KiB
Markdown

<img src="example.png" width="500px"/>
## rntviewer
This is a work-in-progress interactive visualization tool for [RNTuple](https://root.cern.ch/doc/v618/md_tree_ntuple_v7_doc_README.html).
### 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.