Shannon
Phlex-based digitisation framework for the SHiP experiment.
Loading...
Searching...
No Matches
Shannon

Shannon is the digitisation package for the SHiP experiment. It turns the simulated hits written by aegir into per-detector digitised hit collections, which Trout then reconstructs.

Repository: ShipSoft/Shannon

API reference: Doxygen

How it works

Shannon is a set of Phlex plugins configured with Jsonnet workflows (stage digitisation):

Plugin Role
read_sim_file Reads the events RNTuple from an aegir output file
digitise_hits Digitises the simulated hits per detector (upstream tagger, surround tagger, timing detector, straw tubes, calorimeter)
digitised_output_module Writes one RNTuple per detector hit collection into a single ROOT file, plus validation histograms

Hit smearing uses a counter-based Philox generator from ship-random, seeded per event, so results are reproducible regardless of the number of threads.

workflows/digitise_hits.jsonnet reads ../aegir/fixed_target_mt_output.root and writes digitised_hits.root. Edit the paths for your own files.

Building

git clone https://github.com/ShipSoft/Shannon.git
cd Shannon
pixi run build
pixi run test
pixi run smoke # generate a small input, run workflows/smoke.jsonnet, check the outputs

Other tasks: configure, install, clean, and clang-tidy / clang-tidy-diff for static analysis. Shannon is also packaged as shannon on the prefix.dev/ship-experiment/stable channel.