The GenieHad Event Generation Framework

GenieHad is an event generator system developed for simulating the hadronic interactions between the proton beam and the nuclear matter of REDTOP target systems. It consists of thirty-one libraries interfacing external event generators which implement various nuclear scattering models.

GenieHad is designed as an add-on to the established Genie event generator framework of which it uses mostly the geometry,  the description of the beam, and the I/O systems (both based on root framework). The add-on consists of several libraries interfacing the generation process to external nuclear scattering engines and to clusterization, evaporation and de-excitation programs. The nuclear model of choice is selected at run time via xml-based input cards. The main advantage of GenieHad is that it offers to the user the ability to compare the outcome of several nuclear scattering and de-excitation models under the exact same geometrical and kinematical conditions. This practice is quite common in the medium-energy environment, where the models available often give inconsistent results.

The rationale behind GenieHad is that the dynamics of the scattering, occurring within the external scattering engines, is too complex to be maintained by small groups or single experiments. Therefore, the modifications and/or upgrades of the scattering engine are left to their respective authors, while the interface requires minor if any, changes. The software development of GenieHad is exclusively restricted to the interfaces between the underlying framework (Genie) and such external scattering engines.

Despite the fact that the description of the physics processes occurring inside a nucleus in an inelastic hadronic scattering is very much model-dependent, the implementation of GenieHad is not tied to a specific hadronic model. Instead, the generation process is interfaced with a list of compatible nuclear models which will be called every time a new event has to be generated. The same is true for the evaporation-deexcitation models.

Rationale for GenieHad

GenieHad is meant to overcome a few important limitations  of  intra-nuclear scattering and transport models available from the nuclear theory community:

1. The target is a standalone nucleus surrounded by vacuum rather than being part of the materials in the apparatus;

2. The target nucleus is positioned in the origin of the reference  frame, rather  than  everywhere in the apparatus;

3 The beam and the target are well-defined species, while the beam  and the materials in the experimental apparatus are composed of multiple species;

4. Except for the Incl++ case, the nucleons in the final state are returned to the user as a list of free (un-aggregated) particles rather than physical fragments.

As a consequence of point 1. the final state particles from the primary interaction are also generated in vacuum. When those particles are propagated throughout the detector during the next step of the simulation (for example by Geant4), an unrealistic situation occurs, caused by the fact that the matter in the target around the struck nucleus is not taken into account. Therefore, the secondary particles generated inside the target are underestimated. A consequence of 2. and  3. is that the scattering does not reflect the real geometry of the apparatus and it does not take into account the density of the nuclear matter in the experiment. A consequence of 4. is that the final state nucleons are not condensed into on-shell ions (deuterium, tritium, alpha, etc.) or stable nuclear remnants but are simply listed in the final state as standalone particles.

On the other side, GenieHad uses the geometry package included in Genie to determine event-by-event the position of the scattered nucleus as well as the species of the particles participating in the scattering (for the beam and the target), as well as the kinematic of the latter. This information is passed to the external scattering engine to simulate the nuclear interaction.

External generators

At present, GenieHad implements interfaces to the most advanced and well-maintained nuclear scattering generators and clusterization-evaporation models. It covers the five most popular models available: INCL, QMD, BUU, LUMD, and HSD.  The scattering process occurs in three steps:

  1. Intranuclear transport  and interaction of the probe inside the nucleus;
  2. Clusterization of the non-spectator nucleons with fragment emission and multi-fragmentation;
  3. De-excitation and evaporation of the remnants.

The following tables summarize the models available within GenieHad for each of the steps above.

Hadronic generators

 

Code

Model

Type

Reference

Urqmd

QMD

Microscopic many-body approach

Phys. G: Nucl.
Part. Phys. 25 (1999) 1859-1896

Dpmjet-III

Dual Parton/ perturbative QCD

Multi-model approach

https://wiki.bnl.gov/eic/index.php/DPMJet

Incl++

INCL

Intranuclear cascade

Phys. Rev. C 101, 014608

Gibuu

BUU

Time evolution of the KadanoffBaym-equations

Phys. Rept. 512 (2012)
1-124

Smash

BUU

Time evolution of the KadanoffBaym-equations

Phys. Rev. C 94, 0549051-124

Jam

Cascade/QMD/BUU

Multi-model approach

EPJ Web Conf. 208 (2019) 11004

Phsd

HSD

covariant transport approach based on NJL-type Lagrangian

Nucl.Phys.A 602 (1996)
449-486

Pythia

LUND

string hadronization model

Phys. Rep. 97 (2–3): 31–145

IAEA

LUT of measured cross sections

Look-up tables based on Evaluated Nuclear Data File (by IAEA)

https://www-nds.iaea.org/

Gibuu LUT h

BUU

Look-up table for GIBUU cross-sections

Phys. Rept. 512 (2012)
1-124

Genie Intranuke

LUT

Adapted from Genie’s Intranuke model

http://genie.hepforge.org/

JAM is largely in use at J-PARC (where it has been developed). Furthermore, within its microscopic transport model, three different modes are available: cascade, hadronic mean-field, and a new model with modified equations of state. The DPMJET-III framework is the underlying scattering model used in Fluka and it is the official event generator for the EIC. An interface toi QGSM is also planned as soon as the source code will become publicly available and redistributable.  QGSM is at the core of MARS15. The interface to IAEA’s ENDF data allows to simulate a nuclear process based on the experimentally evaluated cross section tables.

Electromagnetic generators

Code

Algorithm

Reference

Geant4 EM

Geant4 EM physics

https://geant4.web.cern.ch/collaboration/working_groups/electromagnetic

LELAPS

Parametrized shower simulation

https://arxiv.org/abs/physics/0508126

Clusterization models

The clusterization models  available in GenieHad are summarized in the table below.

Code

Algorithm

Reference

Coalescence

GEM based Phase-Space Coalescence

https://gibuu.hepforge.org/

KAW

Urqmd based Phase-Space Coalescence

https://arxiv.org/pdf/1203.3877

De-excitation, evaporation, fission

The list of the evaporation code currently available in GenieHad is shown in the table below. Also listed are the models used to evaluate the de-excitation channels.

Code

g

N,p,He

IMF

Fission

Reference

Abla07

yes

Weisskopf-Erwig

no

Fokker-Plank

arXiv_nucl-th/0906.4193v1

AblaS++

yes

Weisskopf-Erwig

no

Fokker-Plank

PHYSICAL REVIEW C 92, 044612 (2015)

GEM

no

Weisskopf-Erwig

Weisskopf-Erwig

parametric

Nucl. Instr. Meth. B 171 (2000) 252–258

GEMINI++

no

Hauser-Feshbach

Transition state model

Transition state model

Phys. Rev. C 63, 024611 (2001)

Evapor

no

Weisskopf-Erwig

no

parametric

https://arxiv.org/abs/1203.3877

SMM

no

Weisskopf-Erwig

Weisskopf-Erwig

parametric

A. Botvina

Physics BSM models

Furthermore, interfaces to some other generators are available:

Code

Algorithm

Reference

ALPACA

ALPS Bremsstrahlung

L.A. Harland-Lang, J. Jaeckel, M. Spannowsky. arXiv:1902.04878

This is a new, recent model implementing the beamsstrahlung of Axion-Like-Particles (ALPs) from protons scattering on nuclear matter has been implemented (Alpaca). The model will be used, among other things,  to study the capability of PIP-II to explore physics beyond the Standard Model at beam energies of the order of the GeV.

Finally, a special meson decayer has been implemented in order to generate events with special topologies or requiring custom decay matrices. It will be employed for REDTOP studies to generate non-standard decays of the eta/eta’ mesons. The meson decayer is highly configurable by allowing any particle to be custom decayed.

 

Cross-section models

The scattering processes implemented in the external generators always assume that the hadronic probe interacts with the target with 100% probability. In order to normalize the event sample, the scattering probability has to be evaluated. The latter is obtained from two pieces of information:

  1. The material present on the trajectory of the beam;
  2. The cross-section of the probe on each nucleus of that material.

The material budget is computed using the TGeo class available in root and interfaced in Genie. The program analyzes the geometry of the detector and extracts the probability that a particle in the beam encounters a particular nucleus. The cross-section needs to be calculated with an analytical formula or obtained by interpolation from a LUT of experimental data, once the specific kinematics of the event is defined. Some models are included in the external generators while others are defined internally in GenieHad.

The following tables summarize the cross-section models available within GenieHad.

Cross-section models

 

Code

Model

Type

Reference

Internal

Axen-Wellisch

Analytical

Phys.Rev.C54:1329-1332,1996

Internal

Barashenkov elastic

LUT + interpolation

Preprint JINR P2-89-770, p. 12, Dubna 1989

Internal

Barashenkov inelastic

LUT + interpolation

Preprint JINR P2-89-770, p. 12, Dubna 1989
Internal

Barashenkov total

LUT + interpolation

Preprint JINR P2-89-770, p. 12, Dubna 1989

Internal

Barashenkov, Glauber , Gribov

Parametric

NIM Vol. 506, Issue 3, 2003

Internal

Kox et. al.

Analytical

Phys. Rev. C 35 1678 (1987)

Internal

Shen et. al.

Analytical

Nuc. Phys. A 491 130 (1989)

Internal

Sihver et. al.

Analytical

Phys. Rev. C 47 1225 (1993)

Internal Tripathi et al.

Analytical

NASA technical paper 3621

Internal Tripathi, Cucinotta and Wilson Analytical (for light nuclei) NASA Technical Paper TP-1999-209726
External nucleon-nucleon Analytical (generator-dependent)

The cross-section model is user-selectable via GenieHad configuration files. The most appropriate model can be chosen, depending on the probe, target composition and kinematics.

Utility modules

Input file reader

A utility module to read hepevt or stdhep files has been implemented. It appears as an external generator, but it reads the event from disk, rather than generating them from scratch.  It contains a filter for selecting events with user-specified particles in the final state. When coupled to other modules, the event is modified accordingly. It can be used to reprocess files already generated, where, for example, a specific particle is a decayed trough a different process.

Particle decayer

A module which decays particles trough a user-defined process has been implemented. When coupled to one of the generators, it detects such particles in the final states and it decays them into a user-specified final state. Several, η-related, specific processes have been implemented, where the kinematics of the particles is managed by a matrix element (for example, in the case of η→3  pions with CP-violation).

Output file formats

GenieHad is able to store the events in four different formats, all selectable by the user through a switch:

  1. Native Genie format, organized in trees in a root file;
  2. Hepevt format, purely text-based;
  3. Stdhep format;
  4. Slcio format (for use with LCIO based interfaces to Geant4).

Multiple formats can be specified. In that case,  all corresponding files are produced, storing the exact same events.

 

The architecture of GenieHad

The base architecture of GenieHad is entirely based on the original Genie package. Some internal structures had to be modified to accommodate the handling of non-neutrino beams (i.e. massive particles). Please refer to the official Genie website for any further insights or its documentation for information not found below. Details on GenieHad  are available in GenieHad User’s  Guide .

Those models are, in general, only capable of describing the intra-nuclear interactions between the incoming particle (namely, the beam) and one, isolated nucleus (in the target). In other words, the scattering occurs in vacuum and between a predefined scatterer and target nucleus. On the other side, GenieHad will take care of preparing the environment for the specific beam-particle scattering, by analyzing the materials on the path of the beam. The parameters of the materials are extracted from the geometry of the apparatus and a probability for a particular interaction is calculated from the table of cross-sections.

Once the event topology is prepared, the calculation is passed to the nuclear model engine which will return a final state based on its internal calculations. GenieHad is also responsible for the I/O and general services of the framework.

The advantages of such architecture are several. First of all, the user can repeat the same simulation multiple times adopting different models and compare the physics results obtained. This is particularly useful in the energy range of interest for REDTOP, since that range corresponds to a transition between a scattering occurring via the formation of intra-nuclear resonances or via fragmentation. Consequently, the outcome of the event generation is very dependent on the nuclear model applied and comparing multiple models gives a better idea of what to be expected. Furthermore, GenieHad provides only an interface the model and does not need to be updated as often as the model itself. When a nuclear model has changed by its authors, maintaining GenieHad framework, in most cases, means to recompile the updated library.

Another advantage of GenieHad is that the scattering is geometry-aware; the process does not occur in the vacuum (as for the vast majority of intranuclear scattering simulations) but, rather, inside a physical volume. When the list of final state particles is passed to Geant4 for their propagation in the detector, the origin of those particle corresponds to a position inside the target. Consequently Geant4 knows that it has to propagate them inside the matter (rather than in vacuum), by applying the interactions appropriate for that case.

GenieHad output is in root , hepevt, and stdhep format (user selectable with a switch in the command line). The entire package is under development: the source code will be available in the near future.

Instructions for installing and running GenieHad

Installing GenieHad

Only Windows 7 binaries are supported at present times (Linux binaries will be available soon). Prerequisites are Visual C++ 2010 Runtime Libraries and Microsoft .net4 libraries. If they are not already installed on the system, the setup process will prompt you accordingly. The installation instructions are listed below.

1. Download the zipped setup file from REDTOP repository. You will be asked for your Fermilab credentials. You need to connect to Fermilab VPN if you are outside of Fermilab’s firewall. The related instructions are at the following link. An alternate download link is here (ask your P.I. for login and password).

2. Unpack the zipped file in a temporary directory;

3. Double-click on the file >setup.exe to launch the installation;

4. If the setup prompts to install or repair the Visual C++ 2010 Runtime Libraries, accept the installation (repair) and let it finish;

5. When the GenieHad setup wizard starts, keep pressing next until the installation is complete. It is safer to leave all options and paths unchanged;

6. When the GenieHad setup wizard informs you that the installation is complete, close the Whizard.

When the setup is complete the framework and the libraries for the supported hadron models are also installed. You are ready to run GenieHad. The present GenieHad distribution installs .gdml files on your computer (in the C:\slic_3_1_6-VC10\REDTOP directory) with the geometry of the detector. If you have installed slic on your computer, all the latest .gdml files for REDTOP will be already available (and in the right path).

Running GenieHad

The event generation in GenieHad is controlled via two text based sources:

The batch file used to launch the simulation;

The .xml files contained in the directory config.

Batch file

The command line specified in the batch file used to launch GenieHad contains all the information necessary to configure the experiment. The options are selected trough switches used as arguments in the command. A detailed description of those switches is found here. Before running GenieHad, the batch file has to be edited to reflect the correct configuration of the simulation (i.e. all paths are correct and the files exist). Once that has been done, open a cmd window, cd into the genie directory (most likely, C:\genie2_8_6-VC10) and execute the batch file.

Xml config files

These configuration files are necessary to define the physics processes to be simulated as well as to pass some parameters to the underlying nuclear model engines. The physics processes to study are passed to GenieHad in the command line, through the switch: –event-generator-list. The string passed to GenieHad corresponds to an entry block into with the list of all the generators to be included in the process.

Refer to the specific nuclear model documentation on how to set those parameters. A list of reference is found below. The parameters related to the functioning of the genie framework are documented in the official Genie web site

GenieHad User’s Guide

Please, refer to the GenieHad User’s guide for more detailed instruction on how to run GenieHad. A summary of the command line switches is available at the following link.

Examples

The distribution has one  examples: example_urqmd.bat which can be run out of the box. To run it, open a  cmd window and type the following:

  •  user> cd C:\genie2_8_6-VC10
  •  user> example_urqmd.bat

The output file example.1800mev.urqmd.1001.hepevt will be located in your C:\ genie2_8_6-VC10 directory. The user can browse through the events using any text editor. On some systems, GenieHad does not exit gracefully. Nonetheless, if it had run correctly and it informs that the generation is done, just disregard the error message. In the example_urqmd.bat case there is only one entry in the \config\EventGeneratorListAssembler.xml file (genie::EventGenerator/REDTOP_URQMD) which corresponds to the REDTOP_URQMD event generator modules in the \config\EventGenerator.xml. There are five modules in that list:

  • <param type=”alg”    name=”Module-0″>   genie::InitialStateAppender/Default            </param>
  • <param type=”alg”    name=”Module-1″>   genie::VertexGenerator/Default                    </param>
  • <param type=”alg”    name=”Module-2″>   genie::UrqmdGenerator/Default                   </param>
  • <param type=”alg” name=”Module-3″>genie::UnstableParticleDecayer/AfterHadronTransport </param>
  • <param type=”alg”    name=”Module-4″>   genie::NucBindEnergyAggregator/Default  </param>

each one corresponding to a specific physics process. The specific process is controlled through a .xml file with the same name. For example, the UrqmdGeneratormodule is controlled by the \config\UrqmdGenerator.xml file, carrying specific parameters to be passed to the Urqmd engine. In the example_urqmd.bat case the UrqmdGenerator is configured in >default mode, corresponding to a very generic, inelastic hadron scattering (no specific final state is selected).

Documentation of the hadronic models in GenieHad

The documentation listed below should be used whenever the user wants to change the parameters of the model in the corresponding xml configuration file :