Phoenix, interactive data visualization - Development of an experiment independent javascript event display framework and data format
Description
Visualising HEP event data is currently typically done per experiment (e.g. VP1, Iguana, Fireworks), and normally involves the installation of dedicated software. However modern browsers are more than capable of showing complex detector geometry, as well as representations of the underlying physics. As the Visualisation section of HSF Community White Paper explained, using an intermediate data format (e.g. JSON) makes it possible to separate the event display from the underlying (experiment-specific) software framework.
Phoenix is a framework that can be used by any typical (e.g. colliding beam) High Energy Physics experiment. It was initially based on work done for the TrackML Kaggle/Codalab challenges (and internal use by ATLAS). We were working with a GSOC student in 2019 who ported it to angular, and added new functionality (such as overlays, compound objects etc). A LHCb example has since been added, so the underlying principle is well validated, and various “loaders” exist to read JSON, Atlas JiveXML, LHCb and TrackML event data. The task now is to make it more user friendly, and to add more functionality.
Task ideas
- Develop a better GUI (using open source tools). VP1 is a possible example of what should be aimed for.
- Improve on 3D object selection (tracks in particular are very difficult to select)
- Implement a runge-kutta propagator, which will allow us to store less data points per track
- Continue to extend common JSON file format for event data, ensuring that it matches the needs of all potential clients
- Add an example of the CMS experiment
- Implement reading event data from a server, in preparation for data taking in 2021 (to visualise events in “real-time”)
- Further tests etc to improve code quality
- New visualisation techniques, such as projects into a calorimeter cluster plan.
- Animation of events
- Improve the VR playground
Expected results
A more intuitive interface to allow complex object selection and visualisation, possibility to animate the events (primarily for outreach and public relations purposes). Better functionality and the ability to display events in “real time”.
Requirements
Angular, Typescript, Web development (GUI design experience and threejs knowledge a bonus).