1 | <html> |
---|
2 | <head> |
---|
3 | <title>RIVET usage</title> |
---|
4 | <link rel="stylesheet" type="text/css" href="pythia.css"/> |
---|
5 | <link rel="shortcut icon" href="pythia32.gif"/> |
---|
6 | </head> |
---|
7 | <body> |
---|
8 | |
---|
9 | <h2>RIVET usage</h2> |
---|
10 | |
---|
11 | <a href="http://projects.hepforge.org/rivet/">RIVET</a> is a toolkit for |
---|
12 | the validation of Monte Carlo event generators [<a href="Bibliography.html" target="page">Buc10</a>]. It |
---|
13 | contains the results of many experimental analyses, so that generator |
---|
14 | output can easily be compared to data, as well as providing a framework to |
---|
15 | implement your own analyses. Although using PYTHIA with RIVET is not |
---|
16 | officially supported, some helpful hints are given below. The full RIVET |
---|
17 | manual is available <a href="http://arxiv.org/abs/1003.0694">online</a>. |
---|
18 | |
---|
19 | <br/><br/> |
---|
20 | <h3>Using PYTHIA with RIVET</h3> |
---|
21 | The following assumes that you already have RIVET installed. Instructions |
---|
22 | for this may be found |
---|
23 | <a href="http://projects.hepforge.org/rivet/trac/wiki/GettingStarted"> |
---|
24 | here</a>. |
---|
25 | |
---|
26 | <br/><br/> |
---|
27 | Events are passed from PYTHIA to RIVET using the HepMC format. PYTHIA must |
---|
28 | be compiled with HepMC support, using the same version of HepMC used when |
---|
29 | compiling RIVET. This is setup through the PYTHIA <code>configure</code> |
---|
30 | script e.g. |
---|
31 | <pre> |
---|
32 | ./configure --with-hepmc=/path/to/HepMC --with-hepmcversion=HepMC.version.number |
---|
33 | </pre> |
---|
34 | The PYTHIA library itself does not need to be recompiled. |
---|
35 | |
---|
36 | <br/><br/> |
---|
37 | The <code>examples/main42.cc</code> sample program can then be used to |
---|
38 | generate events in HepMC format (which <code>examples/main61.cc</code> |
---|
39 | and <code>examples/main62.cc</code> extends by allowing LHAPDF usage |
---|
40 | and subruns). When in the <code>examples</code> directory, the main program |
---|
41 | can be built and used as follows |
---|
42 | <pre> |
---|
43 | make main42 |
---|
44 | ./main42 main42.cmnd main42.hepmc |
---|
45 | </pre> |
---|
46 | The first argument is the input file which provides the options for event |
---|
47 | generation, while the second is the output file where the HepMC events |
---|
48 | should be written. |
---|
49 | |
---|
50 | <br/><br/> |
---|
51 | This HepMC file may now be read and processed by RIVET |
---|
52 | <pre> |
---|
53 | rivet --analysis=ANALYSIS_NAME main42.hepmc |
---|
54 | </pre> |
---|
55 | where <code>ANALYSIS_NAME</code> is a |
---|
56 | <a href="http://projects.hepforge.org/rivet/analyses">built-in RIVET |
---|
57 | analysis</a>, or one you have created yourself. The output of RIVET is in |
---|
58 | the form of <code>.aida</code> files, containing the histograms for the |
---|
59 | analysis, which can be processed further with RIVET (see the |
---|
60 | <a href="http://projects.hepforge.org/rivet/trac/wiki/FirstRivetRun"> |
---|
61 | RIVET documentation</a> for more details). |
---|
62 | |
---|
63 | <br/><br/> |
---|
64 | The above examples requires that (potentially large) HepMC events are stored |
---|
65 | to disk before being read by RIVET. It is possible, instead, to pass the |
---|
66 | events directly to RIVET as they are produced by using a <code>FIFO</code> |
---|
67 | pipe. This is done with the <code>mkfifo</code> command |
---|
68 | <pre> |
---|
69 | mkfifo my_fifo |
---|
70 | ./main42.exe main42.cmnd my_fifo & |
---|
71 | rivet --analysis=ANALYSIS_NAME my_fifo |
---|
72 | </pre> |
---|
73 | Note that <code>main42</code> is run in the background. |
---|
74 | |
---|
75 | </body> |
---|
76 | </html> |
---|
77 | |
---|
78 | <!-- Copyright (C) 2012 Torbjorn Sjostrand --> |
---|