Pythia8 Jiří Chudoba, na základě práce a prezentací Torbjerna Sjostranda
Motivace pro Pythia v C++ JETSET a PYTHIA vznikaly v 70. letech Stále rostoucí, těžké dělat změny v hlavních částech, obtížná údržba řádek kódu FORTRAN nyní již méně rozšířený, LHC experimenty používají C++ Projekt Pythia7 nepokračuje Pythia8 - one man show
Pythia8 - nový začátek Plán práce z jara 2003: dateprocessesfinal states Sept 2004 Sept 2005LHA-style inputincomplete Sept 2006a few processes complete, buggy Sept 2007more processesstable, debugged LHA = Les Houches Accord - definice rozhraní (FORTRAN common block) viz
2007
Dostupné procesy
Instalace wget tar xzf pythia8080.tgz cd pythia8080./configure make
Testy cd examples make main01./main01 > main01.out
main01 // File: main01.cc // This is a simple test program. It fits on one slide in a talk. // It studies the charged multiplicity distribution at the LHC. // Copyright C 2007 Torbjorn Sjostrand #include "Pythia.h" using namespace Pythia8; int main() { // Generator. Process selection. LHC initialization. Histogram. Pythia pythia; pythia.readString("HardQCD:all = on"); pythia.readString("PhaseSpace:pTHatMin = 20."); pythia.init( 2212, 2212, ); Hist mult("charged multiplicity", 100, -0.5, 799.5); // Begin event loop. Generate event. Skip if error. List first one. for (int iEvent = 0; iEvent < 100; ++iEvent) { if (!pythia.next()) continue;
main01 (pokračování) if (iEvent < 1) {pythia.info.list(); pythia.event.list();} // Find number of all final charged particles and fill histogram. int nCharged = 0; for (int i = 0; i < pythia.event.size(); ++i) if (pythia.event[i].isFinal() && pythia.event[i].isCharged()) ++nCharged; mult.fill( nCharged ); // End of event loop. Statistics. Histogram. Done. } pythia.statistics(); cout << mult; return 0; }
Výstup do ROOT souborů #include #include "TFile.h" #include "TTree.h" ROOTCFLAGS := $(shell $(ROOTSYS)/bin/root-config --cflags) ROOTLIBS := $(shell $(ROOTSYS)/bin/root-config --libs)
Cvičení Upravte emec01.cc tak, abyste uchovali informaci o pseudorapiditě (eta) a rapiditě (y) V rootu otevřete TTree a udělejte histogramy s rozdělením eta a y Uložte je do gif souboru a pošlete mi obrázky