[Rivet] Advice for unusual truth analysis

Frank Siegert frank.siegert at cern.ch
Mon May 30 20:24:58 BST 2011


Hi all,

I think you are missing an important point here: As soon as you switch 
MPI off in the first event, than your second event will look completely 
different at the ME level because it gets a completely different random 
number (less random numbers being used if MPI is off).

So to really do what you are trying to do, you will need to use a 
(undocumented) Sherpa feature of writing out random number seeds for 
*all* events into a file by specifying:

   EVENT_SEED_MODE=2
   EVENT_SEED_FILE=seeds.txt

and then read them in the next run (e.g. with MPI off) by

   EVENT_SEED_MODE=1
   EVENT_SEED_FILE=seeds.txt

To make the seed files smaller, you could also compile Sherpa with 
--enable-gzip in which case they'll be gzipped.

Of course then you'll still need to find a way of comparing these event 
by event with Rivet as discussed below.

Frank

On 30/05/11 19:17, Robert King wrote:
> Hi,
>
> Thanks for that suggestion. I have already edited an analysis myself so
> I can probably workout how to add a text file output, and then write a
> python script that will parse the output of this into some sensible
> comparison.
>
> Cheers
>
> Robert
>
> On 30 May 2011 18:01, Daniel Weyh <weyh at physik.hu-berlin.de
> <mailto:weyh at physik.hu-berlin.de>> wrote:
>
>     Hi Robert,
>
>     I'd guess it will not be possible "on the fly".
>     Rivet takes a single HepMC-Event, analyzes it and fills histograms
>     with the result.
>     For what you want to do, you need to load two events from two
>     different sources (I guess Sherpa cannot serve you alternatingly
>     with MPI on/off and the same random seed for two consecutive events)...
>
>     The solution I have in mind - if you really need event-to-event
>     comparison - is a bit dirty (I think) but should work:
>     1. In your Rivet analysis create a file-stream as member of your
>     analysis (during init). (Remember to close in finalize() ;-) )
>     2. Do your analysis. During analyze append the number in question to
>     your file (filestream << num_of_jets << endl;)
>     3. Run Sherpa another time with same random seed (I guess you know
>     how to or check the Sherpa man), output as in 2. but in another file.
>     4. Analyze the two text files line by line externally. (<-- question
>     to the others: are there python classes in Rivet which make creating
>     an .aida by hand painless - to use Rivets plot facilities later on?)
>     Or: Change 3 to read from the file created in 2 and store the
>     differences in a histogram.
>     As always depending on your needs.
>     (How often you need it, automated or manually, how many observables
>     (if not only #jets)...)
>
>     The files shouldn't be to big. I guess order(10^6) runs = 10^6 lines
>     * (1byte (newline)+10byte (precision fp)) ~ order(10 MB).
>
>     This procedure requires you to write an analysis on your own (or at
>     least to change the one you would have used for single-run).
>     I hope this is not a problem for you - otherwise don't hesitate to ask.
>
>
>     Good luck,
>     Daniel
>
>
>     Am 30.05.2011 um 17:54 schrieb Robert King:
>
>      > Dear Rivet Experts,
>      >
>      > I have a slightly unusual truth level analysis and I hope you can
>     advise me as to whether it is possible in Rivet. I have a limited
>     experience with Rivet and it's not clear to me how one would/could
>     do this.
>      >
>      > I would like to generate identical Sherpa samples (i.e. use the
>     same random number seeds) one with MPI on and another with it off. I
>     would then like to compare event by event the number of jets each event.
>      > Is it possible to do this event by event comparison in Rivet?
>      >
>      > Many thanks for you advice
>      >
>      > Robert
>      > _______________________________________________
>      > Rivet mailing list
>      > Rivet at projects.hepforge.org <mailto:Rivet at projects.hepforge.org>
>      > http://www.hepforge.org/lists/listinfo/rivet
>
>
>
>
> _______________________________________________
> Rivet mailing list
> Rivet at projects.hepforge.org
> http://www.hepforge.org/lists/listinfo/rivet


More information about the Rivet mailing list