Allpix Squared v1.3.1 released

Just three weeks after our first User Workshop and one week before the holidays, we would like to announce the first patch release for the 1.3 release series of Allpix Squared, version 1.3.1. The 40 commits contained in this release fix some newly discovered bugs as well as a few long-standing issues. As usual, the release is available from the repository as of now.

The following issues have been resolved and improvements have been made:

  • General:
    • The framework now exits gracefully (i.e. finishing the current event, storing all information to disk, exiting) when receiving a SIGTERM signal as used by the kill command or by computing cluster scheduler such as Condor.
    • The calculation of total module running time is now fixed (by including also the time spent in initialize() and finalize()) and the fraction spent in a specific module does not exceed 100% anymore.
  • Git / Build System: Moved some helper functions for unit tests to the central cmake/ folder.
  • CI/Deployment: Small improvements to the CI scripts, including typos, a new location to better structure the repository, an improved tag detection (we have different jobs for nightly builds and tags), a fix to the CVMFS deployment (always clone repository to obtain latest deployment script)
  • Units:
    • Empty unit are now allowed, enabling the use of e.g. /cms/s.
    • The conversion from electrons to Coulomb was fixed (wrong inversion previously).
  • Module: ProjectionPropagation: Charges are now projected on the correct side of the sensor. Before, all charges were projected into the implant side, disregarding polarity of the charge carrier and direction of the electric field.
  • Module: GenericPropagation: An issue was fixed, where a combination of output_plots = true and experimental multithreading was leading to a segmentation fault. Some new histograms have been added to better monitor the RKF integration: step length, drift time, group size, position uncertainty per step.
  • Module: ROOTObjectWriter: A long-standing issue with the object history was solved. Previously, new objects would be created when reading a file, with new UUIDs - a step which invalidated the reference stored by other objects. Now, references are updated on-the-fly when reading the file, and newly created files from resumed simulations contain valid history references (see related issue) for more information).
  • Module: DepositionG4: An issue was solved where the track time stamp was not cleared after the event, leading to the same time stamps being used for subsequent events and particles.
  • Module: Detectorhistogrammer: An issue in the clustering algorithm was solved, which could lead to “touching” clusters not being connected to a single cluster.
  • Manual: Several small style fixes and typo corrections.