{"id":17169460,"url":"https://github.com/smups/pythia-fortrajectum","last_synced_at":"2025-08-22T10:09:29.131Z","repository":{"id":227351647,"uuid":"771037423","full_name":"smups/pythia-fortrajectum","owner":"smups","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-16T13:00:35.000Z","size":27589,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-02T09:32:37.003Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smups.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-12T15:23:20.000Z","updated_at":"2024-08-16T12:59:31.000Z","dependencies_parsed_at":"2024-08-08T11:06:28.559Z","dependency_job_id":null,"html_url":"https://github.com/smups/pythia-fortrajectum","commit_stats":null,"previous_names":["smups/pythia-fortrajectum"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smups%2Fpythia-fortrajectum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smups%2Fpythia-fortrajectum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smups%2Fpythia-fortrajectum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smups%2Fpythia-fortrajectum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smups","download_url":"https://codeload.github.com/smups/pythia-fortrajectum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236274603,"owners_count":19122692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T23:26:19.347Z","updated_at":"2025-01-29T23:41:32.605Z","avatar_url":"https://github.com/smups.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"----------------------------------------------------------------------\n\n   INSTALLATION - BASIC\n\n1) Once you have unpacked your tarball into a new (sub)directory, the\n   first step is to run the \"configure\" script. If you accept the\n   default compiler options, and plan to run PYTHIA 8 standalone, you\n   only have to type \"./configure\". This will create the file\n   Makefile.inc.  Actually, running this script by hand is optional\n   since \"make\" will run \"configure\" anyway, but possible errors in\n   the paths will be less clearly visible.\n\n2) Type \"gmake\" or \"make\". This will create an archive library.\n   On Linux systems gmake and make are usually equivalent. For others,\n   in case of doubt, use gmake. This applies below as well.\n\n3) The library should now be ready for use. To study some examples,\n   go to the \"examples\" subdirectory. The README file in that\n   subdirectory contain further instructions how executables can\n   be built and run.\n\n4) At any time, typing \"gmake clean\" will remove all files related to\n   the library compilation, including the library itself, but it will\n   not reset the configure selections. With \"gmake distclean\" additionally\n   the configure selection is reset, and many other temporary files are\n   removed. Output files you may have created during your test runs are\n   not affected. (A \"gmake clean\" is also available in the examples\n   subdirectory, see the README there.)\n\n----------------------------------------------------------------------\n\n   INSTALLATION - ADVANCED OPTIONS\n\n1) If you want to set various compilation options, the following two options\n   are available.\n\n1.1) You can use command-line arguments to the configure script for\n     finer grain control of the installation. A full description of\n     the options is given by running \"configure --help\". Here additional\n     clarification is provided.\n     --enable-debug : turns on debugging flags and turns off optimization.\n         (This makes program execution much slower. If you later want to\n         switch optimization back on you have to rerun configure without\n         this option, since default is to allow optimization.)\n     --enable-optdebug : turns on debugging flags but allow optimization.\n     --lcg=PLATFORM : allows you to specify the platform assumed for\n         compilation, which also affects the assumed location of the\n         libraries below; default is x86_64-centos7-gcc11-opt.\n     --lcg-version=VER : specify the LCG version to use.\n     --prefix=DIR : absolute path to a directory where the \"bin\",\n         \"lib\", \"include\", and \"share\" directories will be copied, by\n         a \"gmake install\" command subsequent to the \"gmake\" one.\n         Note that the files in the current working directory are\n         kept.\n     --prefix-COMPONENT=DIR : finer grain control over where the \"bin\",\n         \"lib\", \"include\", and \"share\" directories are copied for\n         installation.\n     --arch=ARCH : sets the architecture to be used. The two options\n         are either \"Darwin\" for OS X, or \"Linux\" for other *nix\n         platforms. The architecture is used to set automatically the\n         \"--cxx-shared\", \"--cxx-soname\", and \"--lib-suffix\" flags but\n         otherwise has no effect.\n     --cxx=COMPILER : the compiler to be used. Currently PYTHIA 8 has\n         been successfully compiled with GCC and LLVM\n         (i.e. CLANG). Most systems will by default have \"g++\" aliased\n         or linked to the appropriate compiler for your program.\n     --cxx-common=\"FLAGS\" : the flags that are passed for all\n         compilation statements. This is equivalent to the GNU\n         configuration variable CXXFLAGS, which is not supported here.\n     --cxx-shared=\"FLAGS\" : the flags that are passed when building\n         shared dynamic libraries.\n     --cxx-soname=\"FLAGS\" : these flags are passed to the linker when\n         setting the shared library names. Normally this should not\n         need to be changed.\n     --lib-suffix=SUF : the shared library suffix to use. This only\n         effects the name of \"lib/libpythia8.SUF\". Typically for *nix\n         systems this is \".so\" and for OS X this is \".dylib\". Note\n         that all plugin libraries, including the Python interface,\n         are always built with the \".so\" suffix.\n     --obj-common=\"FLAGS\" : add a common compiler flag to object \n         compilation only (ie. .o files and not linking).\n\n1.2) All of the options listed above are formatted into\n     \"Makefile.inc\", which is also copied to\n     \"examples/Makefile.inc\" whenever \"gmake\" is run and\n     a change has been made. The \"Makefile.inc\" file can be simply\n     modified to change any of these options after \"configure\" is\n     run. Each option corresponds to a variable in this file as\n     follows: \"--option-foo-bar\" is translated to \"OPTION_FOO_BAR\".\n\n2) If you have two or more CPUs/cores on your computer then using the\n   \"-j\" option on make/gmake may speed up compilation.\n\n3) Necessary data are automatically loaded when you use the default\n   PYTHIA installation directory structure and run the main programs in\n   the examples subdirectory. However, in the general case, you must\n   provide the path to the .xml files, originally stored in the xmldoc\n   directory, where default settings and particle data are found. This\n   can be done in two ways.\n\n3.1) You can set the environment variable PYTHIA8DATA to contain the\n     location of the xmldoc directory. In the csh and tcsh shells this\n     could e.g. be\n       setenv PYTHIA8DATA /home/myname/pythia81xx/share/Pythia8/xmldoc\n     while in other shells it could be\n       export PYTHIA8DATA=/home/myname/pythia81xx/share/Pythia8/xmldoc\n     where xx is the subversion number.\n     Recall that environment variables set locally are only defined in\n     the current instance of the shell. The above lines should go into\n     your .cshrc and .bashrc files, respectively, if you want a more\n     permanent assignment.\n\n3.2) You can provide the path as argument to the Pythia constructor in\n     your main program, e.g.\n       Pythia pythia(\"/home/myname/pythia81xx/share/Pythia8/xmldoc\");\n     where again xx is the subversion number.\n\n   When PYTHIA8DATA is set it takes precedence, else the path in the\n   constructor is used, else one defaults to the\n   $PREFIX/share/Pythia8/xmldoc directory, where $PREFIX is defined by\n   the --prefix configuration flag. By default, this is just the top\n   level directory of the PYTHIA distribution. This final option is\n   what is typically used when you run the examples/mainNN programs.\n\n----------------------------------------------------------------------\n\n   INSTALLATION - EXTERNAL PACKAGES\n\n1) PYTHIA 8 is designed to run out-of-the-box without any external\n   package dependencies. However, a variety of interfaces to external\n   packages is available. The building and linking to external\n   interfaces can be controlled via the same two options as the\n   advanced installation options.\n\n1.1) Command-line arguments can be passed to \"configure\" using the\n     arguments that begin with \"--with\". When an external package\n     interface is enabled, \"configure\" takes the following steps.\n     a) It looks for the necessary binaries, headers, and libraries\n        that are needed for the external package. If no paths for the\n        package have been defined it looks along the default paths for\n        the system. If a configure script for the package is\n        available, \"configure\" attempts to use the script to find the\n        necessary files. If it can not find the necessary files, it\n        disables the external package and issues a warning as to why.\n     b) It looks for any external packages that this package might\n        require, and enables them if needed. It then checks to see if\n        these packages fulfill a). If not, it disables both packages.\n     If any \"--with-PACKAGE\" option is passed to \"configure\" it will\n     attempt to enable the package. For example, \"--with-lhapdf6\" will\n     enable LHAPDF6, while \"--with-lhapdf6-lib=/lib/foo\" will also\n     enable LHAPDF6. The available \"--with\" arguments are\n     described by \"./configure --help\", but further details are given\n     here.\n     --with-PACKAGE=[DIR] : enables a package, and if \"DIR\" is\n         provided, then looks for the package at this root path. For\n         example, if the command \"--with-lhapdf6=/foo/bar\" is passed,\n         then \"configure\" will look for the library LHAPDF along the\n         path \"/foo/bar/lib\" and the LHAPDF headers along the path\n         \"/foo/bar/include\".\n     --with-PACKAGE-bin=DIR : specifies where to look for the package\n         binaries, and will ignore the root path from\n         \"--with-PACKAGE=DIR\" and the default system paths. This can\n         be used for non-standard installations of packages, where the\n         \"bin\", \"lib\", and \"include\" directories are scattered across\n         the system. In the example \"--with-lhapdf6=/foo\n         --with-lhapdf6-bin=/foo/bar\" the \"configure\" script will look\n         for libraries and headers on the paths \"/foo/lib\" and\n         \"/foo/include\", but the binaries on the path \"/foo/bar\" and\n         not \"/foo/bin\".\n     --with-PACKAGE-lib=DIR : same as above for bin, but now for\n         libraries.\n     --with-PACKAGE-include=DIR : same as above for bin, but now for\n          headers.\n     --with-PACKAGE-config=CFG  : for packages that provide a configure\n         script, \"CFG\" specifies the configure script to use. For\n         example, PYTHON is by default set with the configuration\n         script \"python-config\". However, to use Python 3, \"CFG\" could\n         be set to \"python3-config\".\n     --with-PACKAGE-version=VER : is used when the \"--lcg=PLATFORM\"\n         option is specified, and will cause \"configure\" to look for\n         version \"VER\" of the package in the default LCG location.\n\n1.2) All of the options above can also be set in \"Makefile.inc\" after\n     \"configure\" has been run. For each package the variable\n     \"PACKAGE_USE\" sets whether the package is used (\"true\" is used,\n     while \"false\" is not). The variables \"PACKAGE_BIN\",\n     \"PACKAGE_INCLUDE\", and \"PACKAGE_LIB\" then specify what paths are\n     used when building, for the binaries, headers, and libraries,\n     respectively.\n\n2) A variety of external packages can be enabled, with details given here.\n   EVTGEN) An external particle decayer designed specifically for B-decays,\n       https://evtgen.hepforge.org/.\n   FASTJET3) The industry standard package to build jets,\n       http://fastjet.fr/. An interface to FastJet is provided in the\n       \"include/Pythia8Plugins/FastJet3.h\" header and a variety of\n       examples in \"examples\" link against the FastJet libraries.\n   HEPMC2) An interface to the HepMC event record, version 2:\n       http://lcgapp.cern.ch/project/simu/HepMC/. The interface\n       between PYTHIA 8 and HepMC is provided via the\n       \"include/Pythia8Plugins/HepMC2.h\" header.\n   HEPMC3) An interface to the HepMC event record, version 3:\n       https://hepmc.web.cern.ch/hepmc/. The interface\n       between PYTHIA 8 and HepMC is provided via the\n       \"include/Pythia8Plugins/HepMC3.h\" header.\n   LHAPDF6) The modern C++ version of LHAPDF,\n       http://lhapdf.hepforge.org/. Because PDF sets are an integral\n       part of PYTHIA 8, the LHAPDF interface is handled differently\n       than for the other external packages. If LHAPDF5 support is\n       enabled, then the shared library \"lib/pythia8lhapdf5.so\" is\n       built (even for OS X systems because this library is not used\n       for linking). This library is NOT linked with PYTHIA, but\n       rather is dynamically loaded at runtime. Consequently, PYTHIA\n       is no longer linked against LHAPDF, but rather attempts to load\n       it at runtime if an LHAPDF set is requested. Note that the\n       plugin library \"pythia8lhapdf5.so\" must exist along the current\n       library load path. This can be set by the environment variable\n       \"LD_LIBRARY_PATH\" or at compile time using the \"--Wl,-rpath\"\n       linker flag. Versions earlier than 6.2 require BOOST and are\n       not supported.\n   POWHEG) Next-to-leading order matrix element generators,\n       http://powhegbox.mib.infn.it, available for a number of\n       processes. These MEs are written in FORTRAN, but a plugin-style\n       interface is provided for PYTHIA. To link against these MEs,\n       they must be build both as binaries and libraries. See\n       \"examples/main33.cc\" for more details on how to modify the\n       POWHEGBOX make structure accordingly.\n   RIVET) A toolkit for comparing MC and data,\n        https://rivet.hepforge.org/, used in \"examples/main93.cc\" and\n       \"examples/main111.cc\".\n   ROOT) The ROOT HEP package used for data analysis and\n       visualization, http://root.cern.ch. This package is only used\n       for the \"examples/main9[1,2].cc\" examples and is optional for\n       \"examples/main93.cc\".\n   GZIP) Support for the reading of gzipped LHE files. It relies upon\n       zlib to function. The \"--with-gzip=PATH\" provides the location\n       for \"zlib.h\" and \"libz.[so,dylib]\". Note that when compiling a\n       final PYTHIA executable, the zlib library must also be\n       included, e.g.: \"-lz\". This is done automatically for the\n       examples in \"examples/\" when GZIP support is enabled.\n   PYTHON) Provides a Python interface to Pythia. To build this interface,\n       the Python system header \"Python.h\" must be\n       available. Typically this can be found under\n       \"/usr/include/pythonX.Y\". If \"python-config\" is available, the\n       location of this header is determined automatically, otherwise\n       the user will typically need to explicitly set the include path\n       with \"--with-python-include=/usr/include/pythonX.Y\" or\n       something similar. The interface works both with Python 2 and\n       3.\n    MG5MES) Matrix elements automatically generated by MadGraph5 that are\n       interfaced to both the Dire and Vincia parton showers.\n    OPENMP) Enable multi-processing via the OpenMP libraries. Used in some\n       examples.\n    MPICH) Enable multi-threading support via the MPICH implementation of\n       MPI. Needed for HDF5 Les Houches event reader.\n    HDF5) High-performance data management libraries and file format used for\n       reading HDF5 Les Houches files. \n    HighFive) HighFive headers, also needed for reading HDF5 Les Houches\n       files. Currently, v2.2 is supported and is available at\n       https://github.com/BlueBrain/HighFive/tree/v2.2. This can be\n       downloaded on most platforms as:\n         curl -OL https://github.com/BlueBrain/HighFive/archive/v2.2.zip \\\n           \u0026\u0026 unzip v2.2.zip \u0026\u0026 mv HighFive-2.2/include/highfive . \\\n           \u0026\u0026 rm -r HighFive-2.2/ \u0026\u0026 rm v2.2.zip\n    \n----------------------------------------------------------------------\n\n   COMPILING PROGRAMS AGAINST PYTHIA 8\n\nGenerally compiling programs against the PYTHIA 8 libraries requires\nthat the PYTHIA 8 header and library directories be specified via the\nusual -I and -L compiler flags, and that at least the -lpythia8 option\nbe provided to link against the PYTHIA 8 library.\n\nExtra compiler flags will be needed if you are making use of PYTHIA 8's\nexternal package features. To make this simpler,\nand so that an identical compilation recipe can be used with different\nbuilds of PYTHIA (e.g. for inclusion in shared Makefiles), a pythia8-config\nscript is installed into PREFIX_BIN/bin by the \"make install\" build\ntarget. A typical usage of this script is as follows:\n\ng++ myprog.cc -o myprog `pythia8-config --cxxflags --libs`\n\nThe --cxxflags option to this script makes pythia8-config write out\nthe necessary compiler flags, i.e. --std=c++11 or -pthread, and -I flags\ncorresponding to the installed headers, and --libs adds the required\n-L and -l flags.\n\nThe pythia8-config script may also be used at runtime to generate the\ndata directory environment variable if needed, e.g.:\n\nPYTHIA8DATA=`pythia8-config --xmldoc` ./myprog\n\n----------------------------------------------------------------------\n\n   FOR WINDOWS USERS\n\nPYTHIA 8 is primarily intended to be run in a Unix-based environment,\nsuch as Linux or Mac OS X. Unfortunately it is not currently supported\nfor Windows platforms. If you want to experiment, and do not have the\nknowledge to set everything up from scratch yourself, we are aware of\nthree possible approaches to take.\n\n1) Install Linux in a Virtual Machine (VM) on your Windows system,\nand then work within this virtual environment as on any regular\nLinux platform. You could e.g. download the VirtualBox\n    https://www.virtualbox.org/\nand install either Ubuntu or CernVM (Scientific Linux)\n    http://cernvm.cern.ch/\non it. Make sure your installation includes the g++ compiler.\n\n2) Install the Cygwin package, intended to allow Linux apps to run\nunder Windows, see\n    https://www.cygwin.com/\nBe sure to install the Dev tools, which appears in the list of options\nto include, but won't be installed by default. Then put the Pythia\nfolder in the Cygwin/home directory, and compile and work with it\nas usual. (The include/Pythia8Plugins/execinfo.h file provides dummy\nversions of methods needed for proper compilation.)\n\n3) The nuget.org website\n    http://www.nuget.org/packages/Pythia8/\ncontains pre-built PYTHIA packages ready to be used under Windows\nVisual Studio.\n\nWe take no responsibility for either of these solutions.\nAlso note that linking with other libraries may involve further\nproblems, in particular for the dynamic loading of LHAPDF.\n\n----------------------------------------------------------------------\n\n   LEARN MORE\n\nTo learn more about the current program:\n\nA) A brief self-contained introduction is found in the\n   share/Pythia8/pdfdoc/pythia8200.pdf file.\n\nB) Details can be found by opening a web browser on the\n   share/Pythia8/htmldoc/Welcome.html file, and then navigating among\n   the pages in the index there.\n\n----------------------------------------------------------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmups%2Fpythia-fortrajectum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmups%2Fpythia-fortrajectum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmups%2Fpythia-fortrajectum/lists"}