Geo Model
Testing Geo Model Features for SHiP
These are my notes of my experience testing Geo Model on Friday 21 for the SHiP experiment.
I used the calorimeter geometry developed by Matei, I did not write any geometry.
I focused my test on the FullSimLight experience, and how it is user-friendly.
Installation
Installed on my laptop, OS Ubuntu 24.04 LTS.
Installed binaries with at commands, from the guide.
Installation worked without any intervention from my side.
(some packages are quite heavy for my usual apt experience, hundreds of MB)
Compiling calorimeter geometry
For this test, I have used the geometry developed by Matei:
https://github.com/matclim/SHiPGeoModel
I have compiled it following instructions from the README. Again, no errors so far.
Both geometry and stand-alone Geant4 example simulation worked without issue.
I will focus on the geometry.db output, which is the one I analyzed so far.
FullSimLight interface
From the geometry compiled, I then launched FullSimLight. I have first used the GUI, following here:
https://geomodel.web.cern.ch/home/fullsimlight/fsl/
In short:
Start the GUI with
fslSet particle identity and momentum (no position, which is strange from my experience, I guess the Particle Gun always fires them from the origin by default);
Set geometry file (the geometry.db made at the previous step).
(Optional) Enable Tracks plugin (it will make a Tracks_data.h5).
Run the simulation from the main interface
Overlap check
The first time I launched it, the FullSimLight simulation gave an overlap error (mother-daughter) and it refused to execute the simulation. This was a good chance to also test the gmclash tool:
https://geomodel.web.cern.ch/home/fullsimlight/gmclash/
I both launched it from the FullSimLight GUI and from terminal:
It will print out clashes and return a summary JSON file of all found conflicts. In this case, the clash reason was trivial (mother too small). I do not know how the JSON may help in figuring out more difficult clashes.
After fixing the clashes, I deleted geometry.db and I compiled it again (keeping geometry.db instead before rebuilding it gives me a lot of errors). Then gmclashes returned no clashes and FullSimLight was able to generate my test simulations.
Visualization
I used gmex command as recommended by Matei:
A bit troublesome, by default all volumes are not drawn. I needed to tick them on one by one. I could not see the reason for this.
Then, Tracks can be viewed by activating the "Tracks Display" from the General tab. It will then ask for the Tracks_data.h5 file generated by FullSimLight.
It should be possible to also see showers developing in real time according to the guide, but I was not able to confirm that, since when I tried an electron shower the number of tracks was too large to handle in this way (my laptop froze).
Summary of this test
The FullSimLight GUI is very user-friendly and it can be used to test the geometry without writing any specific code line.
The Particle Gun GUI does not include particle position. I did not test the interface to Pythia generator.
Both gmex visualization and gmclash overlap checks can be launched from the GUI.
It may not be suitable to large scale production, but it is an useful test for quickly debugging your geometry, without needing to interface it with other libraries.
Last updated