Day 2 - Exercise on Hadronic Physics

Geant4 and Calorimetry in HEP

OBJECTIVE

SETUP

The setup is defined in exercises of the previous day and consists of a single box containing 10 sandwich layers of 5mm Lead and 10mm Scintillator (z direction). 10 interaction lengths wide and long. The x and y dimensions are 50 cm.

HOW

To compile the code

        % gmake

Test that everything works executing:

        % $G4WORKDIR/bin/$G4SYSTEM/muonDecay

Type exit at G4 prompt to exit appliction:

        ....
        Idle> # type your commands. example:
        Idle> /run/beamOn 1
        ....
        Idle> exit

PRACTICE

Exercise 3.2.1 : Use the physics list QGSP_BERT

Hint: substitute local physics list by the reference physics list QGSP_BERT.

Solution: in the main(), add

  #include "QGSP_BERT.hh"
  ...
  QGSP_BERT *thePL = new QGSP_BERT;
  runManager->SetUserInitialization( thePL );
  ...

Exercise 3.2.2 Learn about processes

Try to understand the processes attached to pi-, proton, and neutron. Are there differences, if so why?

The command /process/list will show processes for all particles. To see processes fro a single particle, run task5, and study the commands /particles/process/dump, and /particle/select. To inspect the processes assigned to pi-, use

	Idle> /particle/select pi-
	Idle> /particle/process/dump -1
     

As and example, the difference of processes between pi+ and pi- is the additional CaptureAtRest process for the negative pion.

Exercise 3.2.3 Models within processes

The Geant4 particle and process commands do not (yet) allow to inspect the models and cross-section used within the process. This information is printed by default at the start of a run, for selected particles. Locate this output searching for "HADRONIC PROCESSES SUMMARY". For a pion, understand which models are used for inelastic interactions. To get this output, you have to start a run:
        Idle> /run/beamOn 0
     

Exercise 3.2.4 Change Physics List QGSP_BERT

Hint: G4PhysListFactory class allowing to build any reference Physics List using environment variable PHYSLIST

Solution: add in the main() :

  #include "G4PhysListFactory.hh"
  ...
  G4PhysListFactory factory;
  G4VModularPhysicsList* thePL = factory.ReferencePhysicsList();
  ...
        % gmake -j2
        % setenv PHYSLIST FTFP_BERT
        % $G4WORKDIR/bin/$G4SYSTEM/muonDecay
        ....
        Idle> # type your commands. example:
        Idle> /run/initialise
        Idle> /particle/list
        Idle> /run/beamOn 0
        ....

Exercise 3.2.5 Add radioactive decay to the physics list

Hint: look at the class
  G4RadioactiveDecayPhysics
and use the method
  G4VModularPhysicsList::RegisterPhysics(G4VPhysicsConstructor* );

Solution: add in the main()

  #include "G4RadioactiveDecayPhysics.hh"
  ...
  thePL->RegisterPhysics( new G4RadioactiveDecayPhysics );
  ...

To see that it works, you can add in the main()

  ...
  if ( thePL->GetPhysics( "raddecay" ) ) {
    G4cout << "***RADDECAY YES***" << G4endl;
  } else {
    G4cout << "***RADDECAY NO*** " << G4endl;
  }
  ...

Exercise 3.2.6 Activate synchrotron radiation in the physics list

(by default it is switched off)

Hint: use the UI command /physics_engine/tailor ...

Solution:

  Idle> /physics_engine/tailor/SyncRadiation on

To verify that it works:

  Idle> /particle/select e-
  Idle> /particle/process/dump

Note: a strong magnetic field is needed in order to produce a gamma via synchrotron radiation.


Generated on Thu May 12 14:04:13 2011