A Geant4 package for R-hadrons and other particles' interaction with matter

About

This Geant4 code allow to include in G4 simulation the interaction of R-hadrons (gluino or stop hadrons) with matter. The code can be easily modified to support other particles (e.g. KK stable coloured states) as long as the phenomenology is comprised of hadrons with a very heavy stable parton.

This webpage is aimed at providing usage documentation of the code and outline the concrete considerations in making the process lists of the use-case examples. For detailed physics argument we refer to our paper Interactions of Coloured Heavy Stable Particles in Matter (in preparation).

Features

Download

Please download the latest verison of the code here.

Usage

In this section we will walk you through the various source and configuration files of this package. Be advised that implementations might already exist for your experiment. For Atlas and CMS specific implementations please contact the authors directly.

We will assume that you are familiar with Geant4 to the level of knowing what a physics list is and how to write one.

Run-directory files

Part of the configuration is done run-time to reduce the amount of recompilation needed. The following files must be placed in the run-directory at run-time.

particles.txt

This file contains the particle definition data in the format

<PDG> <Mass (GeV)> # <Name>

Note that the heavy spectator must be the first particle in the list. The first few lines of the file containing gluino hadron definitions are:

      1000021   300.000   # ~g
      1000993   300.700   # ~g_glueball
      1009213   300.650   # ~g_rho+
      1009313   300.825   # ~g_K*0
      1009323   300.825   # ~g_K*+
      1009113   300.650   # ~g_rho0

The package comes with a set of R-hadron specific text files that can be symlinked to particles.txt.

ProcessList.txt

This file contains the list of all possible processes for your custom particles. Processes are defined using particle names in the format:

<Incident> # <Target> # <Out1> # <Out2> (# <Out3>)

A couple of lines from the gluino hadron case:

~g_rho+ # neutron # ~g_Delta0 # pi+
~g_rho0 # neutron # ~g_Delta- # pi+
~g_rho+ # proton # ~g_rho+ # proton # pi0
~g_rho0 # proton # ~g_rho0 # proton # pi0

PhysicsConfiguration.txt

This file allows for setting some physics switches. These are:

Defaults are:

Resonant = 0.
ResonanceEnergy = 200.
Gamma = 0.1
Amplitude = 100.
ReggeSuppression = 0.

Compile-time Configuration

Not all configuration can normally be done run-time. You need to do a few things in order for this package to do its job.

Physics List

The physics list needs to instantiate the added particles and assign processes. The particles are added simply by including the file CustomParticleFactory.h and calling at the appropriate step of the initialisation of the Geant4 job.

The assignment of processes to particles may be done as in this piece of code:

  theParticleIterator->reset();
  while((*theParticleIterator)())
    {
      G4ParticleDefinition* particle = theParticleIterator->value();
      CustomParticle* cp = dynamic_cast(particle);
      if(CustomParticleFactory::isCustomParticle(particle))
        {
          G4ProcessManager* pmanager = particle->GetProcessManager();
              if(cp!=0) pmanager->AddDiscreteProcess(new FullModelHadronicProcess());
              }
              if(particle->GetPDGCharge()/eplus != 0)
                {
                  pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
                  pmanager->AddProcess(new G4hIonisation,       -1, 2,2);
                }
        }
    }

Note that this example uses the full model. The user may substitute the toy-model. Remember to include the appropriate header file.

CustomPDGParser

You need to make sure that the CustomPDGParser is capable of deducing the some vital information from the PDG code scheme you have chosen to use. Specifically you need to check that the implementation of these methods work for your scenario:

R-hadron Physics Example

The particle and process listings are included in the standard download above. To study "real" events with these particles a few considerations should be added.

Physics Case and Particle Spectrum

The basic assumption is that either the stop or the gluino is long-lived enough to escape whichever detector in which it is produced. We furthermore ignore any oscillations. We limited ourselves to studying states containing u and d quarks and anti quarks but allowed for the treatment of the heavier species of R-hadrons to be treated by simply treating c quarks like u quarks and s quarks like d. Masses of R-hadrons where taken directly from Pythia which uses a constituent mass model. A sparticle mass of 300 GeV leads to the following particle lists: gluino hadrons and stop hadrons.

Process Lists

Process lists for mesons/mesoninos and baryons/sbaryons were built by simple quark counting through reggeon/pomeron exchange with the possibility of pions being created. Anti baryons/sbaryons were treated by allowing for pomeron exchange and quark annihilation. The resulting process lists are given here for u and d quarks only: gluino hadrons and stop hadrons. For users who wish to study full events as they come from an event generator processes need to be added for c and s quarks like:

~g_K*+ + proton --> ~g_rho+ + proton
Notice how we ignore the actual decay of the s quark as it has very little bearing on the phenomenology.

Authors

Rasmus Mackeprang
Andrea Rizzi

Links and references

Paper in European Physical Journal C:, R. Mackeprang and A. Rizzi, "Interactions of Coloured Heavy Stable Particles in Matter", Eur.Phys.J.C50:353-362,2007

R. Mackeprang, "Heavy Stable Hadrons in ATLAS", Ph.D. thesis

Previous work on R-hadrons was published in A. C. Kraan, Interactions of heavy stable hadronizing particles, EPJ C 37 (2004) 91 [arXiv:hep-ex/0404001].

Pythia main programs generating gluino as well as stop hadrons can be found on the Pythia homepage.

Last updated: Tuesday , Jan 25 2024
©2006: R. Mackeprang, A. Rizzi
rasmus.mackeprang@cern.ch, andrea.rizzi@cern.ch