EIC software

EIC Software


This tutorial is meant to prepare you to contribute to the simulation toolkit for the EIC. The tutorial is not meant to represent a complete software toolkit, but to put together enough pieces together to get some results and serve as a jumping off point for further development.


  • Quick start - Start here to download software and configure your development environment.

  • Part 1 - An introduction to using compact detector descriptions, running Geant4 simulation, and processing the data using DD4hep hooks.

  • Part 2 - A basic example of how to create new detector geometries, add new sensitive detector constructors, and extend existing detector libraries.

  • Part 3 - Running Juggler reconstruction

  • Part 4 - Creating sensitive detectors (under development)

  • Part 5 - Analysis of the reconstruction output

Background Discussion

Some of the instructions in this tutorial may be outdated. Please feel free to leave an issue to correct these.

The "Framework" Question

In the nuclear and particle physics communities many software frameworks exists. They come in all sizes and scopes. It is important to remember why frameworks exist: to solve a problem that is more difficult without the framework. That said, adopting a framework introduces tight coupling in software which makes it inflexible and difficult to maintain. Therefore, adopting a framework for the sake of using a framework is never a good idea.

The "geometry problem"

The detector description framework called DD4hep, at its core, is aimed at solving the "geometry problem". The geometry problem relates the detector description used in simulation or experiment and the reconstruction geometry. An illustrative example is the following. Give a channel number representing a pixel in a silicon detector, a hit in that channel represents a 3D point with an uncertainty equal to dimensions of the pixel. Constructing the pixel in simulation and providing a robust look of the geometry based on a channel number are very different tasks.

A tool or framework that allows this look up of geometry from channel number is important for flexible use of independent tracking and reconstruction tools.


Edit this page on eicweb