]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8170/phpdoc/RIVETusage.php
Update to pythi8.170
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8170 / phpdoc / RIVETusage.php
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 <script language=javascript type=text/javascript>
10 function stopRKey(evt) {
11 var evt = (evt) ? evt : ((event) ? event : null);
12 var node = (evt.target) ? evt.target :((evt.srcElement) ? evt.srcElement : null);
13 if ((evt.keyCode == 13) && (node.type=="text"))
14 {return false;}
15 }
16
17 document.onkeypress = stopRKey;
18 </script>
19 <?php
20 if($_POST['saved'] == 1) {
21 if($_POST['filepath'] != "files/") {
22 echo "<font color='red'>SETTINGS SAVED TO FILE</font><br/><br/>"; }
23 else {
24 echo "<font color='red'>NO FILE SELECTED YET.. PLEASE DO SO </font><a href='SaveSettings.php'>HERE</a><br/><br/>"; }
25 }
26 ?>
27
28 <form method='post' action='RIVETusage.php'>
29
30 <h2>RIVET usage</h2>
31
32 <a href="http://projects.hepforge.org/rivet/">RIVET</a> is a toolkit for
33 the validation of Monte Carlo event generators [<a href="Bibliography.php" target="page">Buc10</a>]. It
34 contains the results of many experimental analyses, so that generator
35 output can easily be compared to data, as well as providing a framework to
36 implement your own analyses.  Although using PYTHIA with RIVET is not
37 officially supported, some helpful hints are given below. The full RIVET
38 manual is available <a href="http://arxiv.org/abs/1003.0694">online</a>.
39
40 <br/><br/>
41 <h3>Using PYTHIA with RIVET</h3>
42 The following assumes that you already have RIVET installed. Instructions
43 for this may be found
44 <a href="http://projects.hepforge.org/rivet/trac/wiki/GettingStarted">
45 here</a>.
46
47 <br/><br/>
48 Events are passed from PYTHIA to RIVET using the HepMC format. PYTHIA must
49 be compiled with HepMC support, using the same version of HepMC used when
50 compiling RIVET. This is setup through the PYTHIA <code>configure</code>
51 script e.g.
52 <pre>
53   ./configure --with-hepmc=/path/to/HepMC --with-hepmcversion=HepMC.version.number
54 </pre>
55 The PYTHIA library itself does not need to be recompiled.
56
57 <br/><br/>
58 The <code>examples/main42.cc</code> sample program can then be used to
59 generate events in HepMC format (which <code>examples/main61.cc</code> 
60 and <code>examples/main62.cc</code> extends by allowing LHAPDF usage 
61 and subruns). When in the <code>examples</code> directory, the main program 
62 can be built and used as follows
63 <pre>
64   make main42
65   ./main42 main42.cmnd main42.hepmc
66 </pre>
67 The first argument is the input file which provides the options for event
68 generation, while the second is the output file where the HepMC events
69 should be written.
70
71 <br/><br/>
72 This HepMC file may now be read and processed by RIVET
73 <pre>
74   rivet --analysis=ANALYSIS_NAME main42.hepmc
75 </pre>
76 where <code>ANALYSIS_NAME</code> is a 
77 <a href="http://projects.hepforge.org/rivet/analyses">built-in RIVET
78 analysis</a>, or one you have created yourself. The output of RIVET is in
79 the form of <code>.aida</code> files, containing the histograms for the
80 analysis, which can be processed further with RIVET (see the
81 <a href="http://projects.hepforge.org/rivet/trac/wiki/FirstRivetRun">
82 RIVET documentation</a> for more details).
83
84 <br/><br/>
85 The above examples requires that (potentially large) HepMC events are stored
86 to disk before being read by RIVET. It is possible, instead, to pass the
87 events directly to RIVET as they are produced by using a <code>FIFO</code>
88 pipe. This is done with the <code>mkfifo</code> command
89 <pre>
90   mkfifo my_fifo
91   ./main42.exe main42.cmnd my_fifo &
92   rivet --analysis=ANALYSIS_NAME my_fifo
93 </pre>
94 Note that <code>main42</code> is run in the background.
95
96 </body>
97 </html>
98
99 <!-- Copyright (C) 2012 Torbjorn Sjostrand -->