Skip to content

Update to allow Alignment to run multithreaded

Wouter Hulsbergen requested to merge updatemutexlockingstrategy_June2022 into master

Modifications to allow running multithreaded:

  • rewrote AlElementHistos to use Accumulator::Histogram
  • changed from mutex to shared_mutex to profit from readonly locks
  • create AlEquations object in each event call on the stack and add at end of event to minimize number of write locks
  • AlignAlgorithm no longer derives from GaudiHistoAlg
  • update gaudiiter to support running multi-threaded (works on MDF files only)

This addresses most of what is discussed in #30

This also fixes a crash in a test on clang that was due to a bug in the IO of the Al::Equations object.

@graven, @jcobbled

Edited by Wouter Hulsbergen

Merge request reports