TITUS Event Display
TITUS is python-based event displays for the neutrino experiments at Fermilab. It is currently used by MicroBooNE, SBND and ICARUS.
Quickstart
The recommended way to run TITUS is within a VNC window. If you don’t have a VNC session already running, follow the instructions at Viewing events remotely with VNC to set up a VNC session on the GPMVs.
TITUS is built using sbndcode, which, at the time of writing, does not have a native build on Alma Linux 9 (the operating system used on the GPVMs). The commands below should be run within a Scientific Linux 7 container. Instructions on setting up the container can be found on the GPVM migration page.
From a Scientific Linux 7 container, run
source /exp/sbnd/app/users/sbnd/static_evd/setup.sh
For SBND, start the event display with
evd.py -s
For ICARUS, use
evd.py -i
For the pre-2024 versions of TITUS (<1.3.1), source the following script instead
source /exp/sbnd/app/users/mdeltutt/static_evd/setup.sh
Basic usage
To open a file, either pass it as a command line argument, e.g.,
evd.py -s <filename.root>
or use the File menu from the GUI.
The default view is the TPC view. Use the radio buttons on the right panel to select RawDigits
or Wires
. For ICARUS stage0
files, you can also select Channel ROIs.
The wire views can be zoomed and panned. To reset the view, use either the “Reset view” button or right-click (double-click on Mac) and press “View all” from the popup menu.
The different control panels can be detached from the main GUI and repositioned, or closed entirely. To restore the run controls, go to the “Run” menu and choose “Restore controls”. To restore closed controls from the active view (TPC, optical, CRT, etc.), go to the “View” menu and press “Restore controls”.
New features (2024+)
The latest build of TITUS has several additional features:
- SBND CRT view
- Updated user interface with configurable layout
- High-resolution screenshots
- Multiple modes for automatic file switching
- Persistent user settings between sessions
- Many bug fixes and optimizations
Automatic event scanning and file switching
Under the “File” menu, choose “Open directory” and navigate to the folder with files and press “Choose” to confirm. You should see the “Scan dir.:” label update on the GUI. Press the “Auto advance” button below the label to start scanning events.
You can change the auto-advance rate in the settings. Go to the “Edit” menu then click “Preferences”. Click on the “Run” tab to set the auto-advance interval. You can also choose to have the event display move to the next file sequentially (the default) or to always skip to the newest file. After changing the settings, you will need to restart the auto-advance sequence by un-checking and re-checking the “Auto advance” button. You can also change the frequency at which the event display scans for new files.
Composing screenshots
Under the File menu, there are two buttongs: “Screenshot (View)” and “Screenshot (Window)”. The first option will capture just the central TITUS panel excluding the window controls. The second option will capture the whole window.
By default, screenshots are saved to the user’s clipboard and can be pasted into any application which supports pasting images. This can be changed to save to a .png file instead within the preferences menu.
The main view window can be scaled beyond its displayed resolution when capturing a screenshot. Setting a higher value of the screenshot scale value within the preferences menu will result in higher-resolution screenshots.
Each experiment’s logo can be added to the wire plane views using the “Logo” button on the TPC view. You can also add a scale bar which either displays the number of wires or the equivalent measurement in centimeters by clicking the “Scale bar” and “Use cm” buttons, respectively. Both the logo and the scale bar can be moved around the view by hovering over them until a highlight appears, then dragging with the mouse.
Changing Scale Bar Size
The length and font size of the scale bar are both customizable under Edit->Preferences, then select the TPC tab.
For developers: How to Build and Install your Copy of TITUS
Current official, pre-2024 version
TITUS requires gallery
and sbndcode
. You can obtain both pulling the
ups products.
It also needs PyQt and pyqtgraph. You should be using python3. In
python3, you can pip install pyqt pyqtgraph
.
Then
git clone https://github.com/coreyjadams/gallery-framework.git
cd gallery-framework
source config/setup.sh
make -j
cd UserDev/EventDisplay/
source setup_evd.sh
make -j
That's it!
Preview build, 2024+
Setup one or both of sbndcode
and icaruscode
via UPS, then also set up cetmodules
via UPS.
TITUS’s build system will be switched to cmake
. Currently, you must check out a feature branch feature/twester_gui
git clone https://github.com/coreyjadams/gallery-framework.git
cd gallery-framework
git checkout feature/twester_gui
Next, create a folder for build files and run cmake
:
cd /path/to/titus/build
cmake /path/to/gallery-framework -DCMAKE_INSTALL_PREFIX=/path/to/install
cmake --build .
cmake --install .
As before, TITUS requires Python with ROOT support and several additional packages. If you have set up sbndcode
from UPS, you should already have Python with ROOT support. From there, additional packages may be installed via pip
. To stay organized, it is recommended to first create a virtual environment via
python -m venv ~/.venv/titus
source ~/.venv/titus/bin/activate
Then install the additional packages with pip install <package name>
:
PyQt5
pyqtgraph
scipy
pillow