Page MenuHomeHEPForge

Fix FSR initialisation for thread safety
ClosedPublic

Authored by abudinen on Jul 2 2024, 6:08 PM.

Details

Summary

Ensure Sherpa is initialised only once and mutex calls to its Soft_Photon_Handler.

Rearrange initialisation of PHOTOS to mirror Sherpa.

These are modifications to the Sherpa interface to ensure that it is thread safe.
The Sherpa initialisation is not thread safe and forces us to create a global static object and mutexing wherever it is used. We have to make sure that we initialise the Sherpa instance only once and also initialise all interface class members for each thread.
The structural changes done for the Sherpa interface have been propagated to the PHOTOS interface for consistency.

This is related with !28 and T168.

Test Plan

Results with master branch are identical for Sherpa's Photons and for PHOTOS.

Diff Detail

Repository
rEVTGEN evtgen
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

abudinen created this revision.

These changes were developed together with @kreps and @tlatham. So we leave to @jback to do the review.

This revision is now accepted and ready to land.Jul 4 2024, 11:35 AM
abudinen changed the visibility from "All Users" to "Public (No Login Required)".Tue, Sep 10, 6:12 PM
abudinen changed the edit policy from "All Users" to "Restricted Project (Project)".
abudinen added a project: Restricted Project.