rntviewer/README.md

63 lines
2 KiB
Markdown
Raw Normal View History

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
```
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)
- 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.
You probably want to build the release version:
```
make r
```
You can test that the tool is working properly with:
```
./rntviewer testdata/RNTuple.root
```
2024-07-16 17:03:56 +02:00
2024-08-21 14:38:26 +02:00
To build the terminal-only version:
```
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
```
./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.