/usr/share/pythia8-examples/examples/main20.cc is in pythia8-examples 8.1.86-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | // main20.cc is a part of the PYTHIA event generator.
// Copyright (C) 2014 Torbjorn Sjostrand.
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
// Please respect the MCnet Guidelines, see GUIDELINES for details.
// This is a simple test program. It shows how PYTHIA 8 can write
// a Les Houches Event File based on its process-level events.
#include "Pythia8/Pythia.h"
using namespace Pythia8;
int main() {
// Generator.
Pythia pythia;
// Process selection. Minimal masses for gamma*/Z and W+-.
pythia.readString("WeakDoubleBoson:all = on");
pythia.readString("23:mMin = 50.");
pythia.readString("24:mMin = 50.");
// Switch off generation of steps subsequent to the process level one.
// (These will not be stored anyway, so only steal time.)
pythia.readString("PartonLevel:all = off");
// Create an LHAup object that can access relevant information in pythia.
LHAupFromPYTHIA8 myLHA(&pythia.process, &pythia.info);
// Open a file on which LHEF events should be stored, and write header.
myLHA.openLHEF("weakbosons.lhe");
// LHC 8 TeV initialization.
pythia.readString("Beams:eCM = 8000.");
pythia.init();
// Store initialization info in the LHAup object.
myLHA.setInit();
// Write out this initialization info on the file.
myLHA.initLHEF();
// Loop over events.
for (int i = 0; i < 100; ++i) {
// Generate an event.
pythia.next();
// Store event info in the LHAup object.
myLHA.setEvent();
// Write out this event info on the file.
// With optional argument (verbose =) false the file is smaller.
myLHA.eventLHEF();
}
// Statistics: full printout.
pythia.stat();
// Update the cross section info based on Monte Carlo integration during run.
myLHA.updateSigma();
// Write endtag. Overwrite initialization info with new cross sections.
myLHA.closeLHEF(true);
// Done.
return 0;
}
|