====== Overview ======
Here we give some information and explanations about the important features of PEGASUS.
===== Physical problem and solution =====
Experimental investigations of hadron scattering processes at
high energy colliders, such as the Large Hadron Collider (LHC), usually
imply multiparticle final states and implement complex kinematical
restrictions on the fiducial phase space.
The multi-purpose Monte-Carlo event generators are commonly used tools for
theoretical description of the collider measurements.
Most of them (for example, [[http://home.thep.lu.se/Pythia|PYTHIA 8.2]],
[[https://mcfm.fnal.gov|MCFM 9.0]] and other) use conventional,
or collinear QCD factorization, which is based on the Dokshitzer-Gribov-Lipatov-Altarelli-Parisi resummation.
However, theoretical description of a number of high energy processes proceeding with large momentum
transfer and containing multiple hard scales needs for transverse momentum dependent (TMD) parton (quark
or gluon) distributions in a proton and nuclei. These quantities encode the nonperturbative information on hardon structure, including transverse momentum and polarization degrees of freedom and satisfy the
Balitsky-Fadin-Kuraev-Lipatov (BFKL) or Catani-Ciafaloni-Fiorani-Marchesini (CCFM) evolution equations.
The hadron-level Monte-Carlo event generator [[https://cascade.hepforge.org|CASCADE]] and
parton-level generator [[https://bitbucket.org/hameren/katie/src/master|KATIE]] can deal with non-zero
transverse momenta of incoming off-shell partons. In particular, CASCADE employs
the CCFM equation for initial state gluon evolution.
PEGASUS is a newly developed parton-level Monte-Carlo event generator
designed to calculate cross sections for a wide range of hard QCD processes,
which incorporates the TMD gluon dynamics in a proton and nuclei.
It provides all necessary components, including
off-shell (dependent on the transverse momenta) production
amplitudes and grid files for TMD gluon
densities, interpolated automatically.
PEGASUS offers an intuitive and
extremely user friendly interface, which allows one
to easily implement various kinematical cuts into the calculations.
Generated events (weighted or unweighted) can be stored in the [[https://arxiv.org/abs/hep-ph/0609017|Les Houches Event]] file or presented "on the fly" with convenient
built-in tool [[pegasus:plotter|PEGASUS Plotter]].
The underlying physics in [[https://cascade.hepforge.org|CASCADE]],
[[https://bitbucket.org/hameren/katie/src/master|KATIE]] and PEGASUS is
basically the same. However, PEGASUS simplifies setting
the parameters and kinematic constraints (through the menu, with
no programming); it can switch between the collinear and TMD modes;
it provides a choice between weighted and unweighted events;
and it operates with a graphics interface, which is detached in the
console version (if a long-time calculation is needed). These features
make PEGASUS more flexible and better adjustable to the user's needs.
===== Calculation steps =====
The calculations using PEGASUS include a few general steps common for all of the processes.
When PEGASUS is running, one can select the colliding particles, proton-proton, proton-antiproton, proton-nucleus or electron-proton,
and set beam energies. The default setting corresponds to the LHC Run II setup.
Then one can select factorization scheme (TMD or collinear one) for each of the colliding particles, choose corresponding parton density function and set the parameters, important
for further Monte-Carlo simulation, namely, number of iterations and number of simulated events per iteration.
Next steps could be as follows (note that all these steps do not
depend on each other and can be done in different order):
* From the list of available processes one can select the necessary process and then (optionally) correct the default kinematical restrictions, flux definition, list of requested observables and corresponding binnings etc. This can be done by double clicking on the requested process or via main menu (using //Edit -> Task// option).
* For each of the observables one can manually edit the default binning according to own wishes. As another option, the binning can be uploaded immediately from the data file. Several commonly used formats (such as ''.yoda'', ''.yaml'', ''.csv'' or plain data format, compatible with [[http://www.gnuplot.info|Gnuplot]] tool) as provided by [[https://www.hepdata.net|HEPData]] repository are supported.
* The user-defined setup for any process (total center-of-mass energy, selected parton densities, kinematical restrictions, binnings etc) can be saved to a configuration file in some internal format (''*.pegasus''). This can be done via the main menu (using //File -> Save// or //File -> Save As// options) or via the popup menu available on right mouse button click or via appropriate button in the button panel. Of course, the configuration file can be loaded and a user-defined setup can be used in further applications. This can be done via main menu (with //File -> Open// option) or via popup menu or via //Open// button on the button panel.
* Weighted or unweighted events can be generated. This option is available via main menu //Edit -> Settings -> Generated events// or via popup menu.
* If one needs to generate the [[https://arxiv.org/abs/hep-ph/0609017|Les Houches Event]] file, one has to mark corresponding option before the calculation starts. Note that this option affects the speed of the calculations.
* The calculation will start by choosing the corresponding option in main menu (//Calculation -> Start//), popup menu or pressing //Start// button on the button panel. The numerical results for requested observables will be immediately presented "on the fly" with built-in tool [[pegasus:plotter|PEGASUS Plotter]]. The calculations can be paused or even stopped (using main menu options //Calculation -> Pause//, //Calculation -> Stop//, corresponding buttons on the button panel or options in popup menu).
* If there are several contributing subprocesses, there is a possibility to immediately jump to the next one (via //Calculation -> Next// option in main menu or appropriate button on button panel or popup menu) during the calculations.
The generated events can be accumulated in a Les Houches Event (''*.lhe'') file and/or presented in [[pegasus:plotter|PEGASUS Plotter]]. Using the latter, one can save the results in a some internal format (''*.pplot'') or as a simple plain data (compatible, for example, with [[http://www.gnuplot.info|Gnuplot]] package) or export them to an image (''*.pdf'', ''*.png'', ''*.jpg'' or ''*.bmp'').
===== Implemented TMD gluon densities in a proton =====
^ Set ^ Order of as ^ Nf ^ QCD scale [MeV] ^ Reference ^
| LLM (CCFM) | 2 | 4 | 200 | [[https://arxiv.org/abs/2211.03727|A.V. Lipatov, G.I. Lykasov, M.A. Malyshev]] |
| A0 (CCFM) | 1 | 4 | 250 | [[https://arxiv.org/abs/hep-ph/0411287|H. Jung]] |
| B0 (CCFM) | 1 | 4 | 250 | [[https://arxiv.org/abs/hep-ph/0411287|H. Jung]] |
| JH'2013 set 1 (CCFM) | 2 | 4 | 200 | [[https://arxiv.org/abs/1312.7875|F. Hautmann, H. Jung]] |
| JH'2013 set 2 (CCFM) | 2 | 4 | 200 | [[https://arxiv.org/abs/1312.7875|F. Hautmann, H. Jung]] |
| KLSZ'2020 (KMR) | 1 | 4 | 143 | [[https://arxiv.org/abs/1911.01445|A.V. Kotikov, A.V. Lipatov, B.G. Shaikhatdenov, P. Zhang]] |
| PB NLO set 1 | 2 | 4 | 118 | [[https://arxiv.org/abs/1804.11152|F. Hautmann, H. Jung, A. Lelek, V. Radescu, R. Zlebcik]] |
| PB NLO set 2 | 2 | 4 | 118 | [[https://arxiv.org/abs/1804.11152|F. Hautmann, H. Jung, A. Lelek, V. Radescu, R. Zlebcik]] |
The A0+, A0-, B0+, B0-, JH'2013 set 1(2)+ and JH'2013 set 1(2)- distributions, needed
to estimate the scale uncertainties of the CCFM-based calculations, are not shown in the Table.
In principle, any other TMD gluon density in a proton could be used:
one just have to upload it from the separate data file prepared in the standard [[https://arxiv.org/abs/1407.5935|uPDFevolv]] routine format.
===== Strong coupling and masses of particles =====
The strong coupling can be calculated in one-loop or two-loop approximation
with respect to the number of active flavors and QCD scale.
This choice is done automatically with the choice of the TMD and/or conventional
parton densities. There is no possibility to change it manually since this setup is essential for determination of corresponding parton distributions.
The masses of all particles (quarks, gauge bosons, heavy quarkonia etc),
their branching ratios and decay widths are fixed according to
[[http://pdg.lbl.gov/|Particle Data Group]].
Any of these parameters can be easily changed using the convenient
built-in Particle Data tool, which is available via main menu (// Edit -> Settings -> Particle data//)
or popup menu or appropriate button on the button panel.
===== Generation of Les Houches Event file =====
PEGASUS is supplied with a tool to construct event files in the [[https://arxiv.org/abs/hep-ph/0609017|Les Houches Event format]]. This is a widely accepted format to present events, which is compatible with the majority of modern general purpose Monte-Carlo generators.
The Les Houche Event ''*.lhe'' file, generated by the PEGASUS, consists of two main blocks: the first one contains the information about the number of the recorded events, the PDFs used, the colliding hadrons and their energies. Also the total cross section is shown. The second block represents a list of events, including the data on the interacting partons, their 4-momenta and color structure of the event.
We mention the basic features of the ''*.lhe'' file, generated by PEGASUS:
* The generated events could be weighted or unweighted. In first case, the sum of all the weights is the total cross section of the subprocess.
* Polarization information is not preserved.
* A parton carries a tag according to the standard [[http://pdg.lbl.gov/|Particle Data Group]] numbering scheme.
* Conventional (collinear) parton densities in a proton and nuclei are numbered according to the [[https://lhapdf.hepforge.org|LHAPDF]] scheme, while TMD parton distributions are numbered according to the [[https://tmdlib.hepforge.org|TMDLib]] package.
The produced ''*.lhe'' file can then be processed with an external program to introduce some peculiar event selection, [[pegasus:showering| to include parton showers, to hadronize the final particles]], etc. It is found
to be compatible with such Monte Carlo generators as [[http://home.thep.lu.se/Pythia|PYTHIA 8.2]] and [[https://cascade.hepforge.org|CASCADE]].
===== Random number generator =====
Since all the internal variables in PEGASUS are declared as double precision ones, double precision random numbers have to be generated in the Monte-Carlo simulations. The random number generator [[http://luscher.web.cern.ch/luscher/ranlux|RanLux]] is well suited for these purposes. It has a long period, solid theoretical foundations and is commonly used in computational physics. This random number generator is implemented into PEGASUS.
===== References =====
* A.V. Lipatov, M.A. Malyshev, S.P. Baranov, [[https://doi.org/10.1140/epjc/s10052-020-7898-6|Eur. Phys. J. C 80, 330 (2020) ]]
===== Acknowledgements ======
We would like to thank all our colleages and friends, who supported us during work on this program. We thank Victor Savrin and Edward Boos for their encouraging interest and creating comfortable and friendly atmosphere in SINP MSU. Special thanks to Elena Boos. Without her the way of this program to the release would be much longer.
A part of the work was done during author's visits in DESY (Hamburg, Germany). We are grateful the DESY Directorate for the support in the framework of the Cooperation Agreement between MSU and DESY. We thank specially Hannes Jung and DESY CMS QCD group for warm hospitability and valuable feedback.
We are also grateful to Maria Mikova, Natalia Ovechkina and Anastasia Zotova for their support and help for the design of the program.
Contributions to the physics in PEGASUS were provided by Anatoly Kotikov (JINR, Dubna),
Gennady Lykasov (JINR, Dubna) and Nizami Abdulov. We thank Vladimir Lyubushkin (JINR, Dubna) and Alsu Bagdatova (LPI, Moscow), who contributed significantly to the functionality and stability of PEGASUS.
We are especially grateful to Nikolai Zotov, who guided and supervised our first steps in High Energy Physics,
who encouraged our progress in kt-factorization and whose enthusiasm consolidated our group. Nikolai Zotov passed away on January 2016. Our work is dedicated to his memory.