Skip to content
Snippets Groups Projects

Early steps to migrate Generators code to use IAthRNGSvc

Merged John Derek Chapman requested to merge jchapman/athena:GenModuleRNG_master into master

The main purpose of this merge request is to allow Generator interfaces to use 64-bit random seeds and in so doing properly support seeding using larger event numbers INT_MAX. This is a deliverable for MC23.

All Generators have been migrated to use the thread-safe IAthRNGSvc. However, currently all generators are only run in serial Athena. In order to avoid excessive calls to Gaudi::Hive::currentContext(), the approach taken to interface the random number calls of the various generators with the CLHEP::HepRandomEngine instance(s) provided by IAthRNGSvc is unfortunately still very much thread-unsafe.

Suggestions for a more thread-safe interface are very much welcomed, but we would prefer to leave this for a follow-up merge request.

Edited by John Derek Chapman

Merge request reports

Pipeline #4862479 passed

Pipeline passed for 927db44f on jchapman:GenModuleRNG_master

Approval is optional

Merged by Tadej NovakTadej Novak 2 years ago (Dec 7, 2022 6:52pm UTC)

Merge details

  • Changes merged into main with ce636399 (commits were squashed).
  • Deleted the source branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Ewelina Maria Lobodzinska
  • Christian Gutschow
  • Christian Gutschow
  • added 48 commits

    • 3334f5e0...f01404ff - 26 commits from branch atlas:master
    • f01ab1d9 - Migrate GeneratorFilters to IAthRNGSvc (part 2)
    • 972f5151 - Helper functions from random seed calculation
    • 2548b2c3 - Use RandomSeed rather than RandomSeedTfArg property
    • 5ea23e16 - DSID should be an int (MCChannelNumber)
    • b5fc3e16 - Migrate GenModule to IAthRNGSvc
    • ea47f3fc - Add a method to GenModule to provide a CLHEP::HepRandomEngine during initialize
    • 7dc2e297 - Migrate BeamHaloGenerator to IAthRNGSvc
    • 14e38ce6 - Migrate ParticleDecayer to IAthRNGSvc
    • 303305b8 - Migrate Herwig7_i to use IAthRNGSvc
    • fe583983 - Migrate CavernBkgGenerator to IAthRNGSvc
    • c9775ae1 - Migrate CosmicGenerator to IAthRNGSvc
    • 4ab42c06 - Migrate Pythia8_i to IAthRNGSvc
    • 94a27447 - Tidy up Pythia8_i constructor
    • 3230adc2 - Migrate Starlight_i to IAthRNGSvc
    • 5f630e29 - Migrate Sherpa_i to IAthRNGSvc
    • 3f4f356e - Migrate TrackRecordGenerator to IAthRNGSvc
    • f3e15b6a - Migrate FastChainPileup to IAthRNGSvc
    • 87e5c05c - Migrate Pythia8B_i to IAthRNGSvc
    • ee45ed9c - Fix typo random seed setting
    • a97b5f28 - Comment out setting seeds for non-thread-safe random number service
    • b53902df - Set slot to zero when retrieving random number streams during init
    • 56c2d4c6 - Fix Pythia8B_i

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading