Message: Re: Seed for Random Engines Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Idea Re: Seed for Random Engines 

Forum: Run Management
Re: Question Seed for Random Engines
Re: More Re: Seed for Random Engines (Gabriele Cosmo)
Re: Question Re: Seed for Random Engines (Asja Pfaffenberger)
Date: 05 Aug, 2011
From: Tom Roberts <Tom Roberts>

I have had great success with seeding the PRNG with each event number, at the beginning of each event. This uses the default Geant4 random number generator (CLHEP::HepJamesRandom). The problem reduces to making sure that each job uses different event numbers (e.g. via command-line arguments specifying first and last event numbers). This makes parallel jobs on a cluster easy, and has several advantages:

* the seed is simply an integer
* you don't need to keep track of the seeds used
* usually you want to have different event numbers anyway
* no dependence on non-portable initializers
* you can re-run the entire job
* you can re-run INDIVIDUAL EVENTS

This last is the most important reason to do this: often when you run thousands or millions of events you get a few "outlier" events that are far outside the normal distribution of some histogram. All you need to do is determine their event numbers, and you can re-run them with visualization enabled and SEE what happened. I have a feature in the histogramming tool I use that makes this easy.

Note that seeding the PRNG must be done after the event number is known, but before any random numbers are used to generate the track(s) of the event. BeginOfEventAction() is too late, so I put it inside GeneratePrimaries().

The CLHEP::HepJamesRandom generator guarantees independent streams for seeds in the range 0 to 900,000,000 -- that's more than enough events for my purposes.

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: Seed for Random Engines   (Asja Pfaffenberger - 05 Aug, 2011)
 Add Message Add Message
to: "Re: Seed for Random Engines"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]