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

For the old version of this package and documentation please follow this link.

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 the papers Interactions of Coloured Heavy Stable Particles in Matter and An Updated Description of Heavy Hadron Interaction

The code and documentation found here is an update on the previous version with a wider variety of possible physics assumptions. The old version is still obtainable, although it can also be run directly from the new version of the code by disabling the Regge model run-time. Configuration files necessary for an exact replication of results from the previous version are included.

News

Recently, a new calculation of the gluino R-hadron spectrum has become available. This may be used by running this software package with this process list and this spectrum. The calculation is described in this paper. Any results given there are using the "old" scattering model.

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 Rasmus Mackeprang (ATLAS) or Andrea Rizzi (CMS) 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.

In general configuration files related to the previous (generic) model are included under data/Generic while the assumptions used in the update paper are mirrored in the files found under data/Regge.

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.0     # ~g
	      1000993   300.700   # ~g_glueball
	      1009213   300.700   # ~g_rho+
	      1009113   300.700   # ~g_rho0
	      1093122   300.700   # ~g_Lambda0
	    

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_Lambda0 # pi+
	      ~g_rho+ # proton # ~g_rho+ # proton # pi0
	      ~g_rho0 # proton # ~g_rho0 # proton # pi0
	    

Process lists based on different scenarios are found under data.

PhysicsConfiguration.txt

This file allows for setting some physics switches. The ones pertaining to the generic model are:

Defaults are:

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

The new switches are:

Different physics configurations with descriptive names are supplied with the package.

decays.txt

This file specifies the possible decays of particles listed in particles.txt. The life time is assumed to be universal as it is governed by the life time of the heavy parton. The format is:

	      ~g_Lambda0 neutron Neutralino 0.5
	      ~g_Lambda0 neutron pi0 Neutralino 0.5
	    
signifying the decay of a ~g_uds0 state to two different final states with equal branching ratio. Note that the underlying decay process is a pure phase space decay and that only two- and three-body decays are allowed.

As the decay products must be known to Geant 4, one needs to make sure that a particle definition exists for all decay products. The simplest way to do this is to add in the particles in particles.txt as exemplified in data/Regge/particles_gluino_300_GeV_with_Neutralino.txt:

	            1000021   300.0     # ~g
		    1000022   150.0     # Neutralino
		    1000993   300.700   # ~g_glueball
	    

As the Neutralino is not an R-hadron, it will not be assigned any other process than transportation..

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 G4hMultipleScattering,-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. These are addressed in publications (see below) and embodied in the exampe package containing code.

See the README file included with the package for concrete instructions on how to run an example.

Links and references

Current version

Paper in preparation: R. Mackeprang and D.A. Milstead, "An Updated Description of Heavy Hadron Interactions"

Previous version:

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
©2009: R. Mackeprang, A. Rizzi
rasmus.mackeprang@cern.ch, andrea.rizzi@cern.ch