Files
geant4/examples/advanced/amsEcal/README
T
2021-12-12 17:16:06 +01:00

132 lines
5.0 KiB
Plaintext

-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
amsEcal
-------
1- GEOMETRY DEFINITION
AMS Ecal calorimeter is described in the joined documument : ams_ecal.pdf
- A single layer is a plane of scintillating fibers within a box of
absorber material.
- Single layers are positionned (eg. placement) within Module
(called SuperLayer in the descriptive document),
alternatively with a relative offset of +- 0.25*distanceInterFibers.
- Modules are positionned within calorimeter, alternatively rotated of
90 deg around beam axis (X_axis).
Therefore all fibers are along Y_axis or Z_axis calorimeter.
The default geometry is constructed in DetectorConstruction class.
In addition a transverse uniform magnetic field can be applied.
2- PHYSICS LISTS
Physics lists can be local (eg. in this example) or from G4 kernel
(physics_lists subdirectory).
- "local" standard EM physics with current 'default' options.
From geant4/source/physics_lists/constructors:
- "emstandard_opt0" standard EM physics with all default options
- "emstandard_opt1" best CPU performance standard physics for LHC
- "emstandard_opt2"
- "emstandard_opt3"
Physics lists and options can be (re)set with UI commands
Please, notice that options set through G4EmProcessOPtions are global, eg
for all particle types. In G4 constructors, it is shown how to set options per
particle type.
3- PRIMARY GENERATOR : mono-energetic pencil beam
The primary kinematic is a single particle which hits the calorimeter
perpendicular to the input face (eg. along X_axis).
The type of particle and its energy are set in the PrimaryGeneratorAction,
and can be changed via the G4 build-in commands of ParticleGun class
(see the macros provided with this example).
One can choose randomly the tranverse position of the incident particle,
eg. the width of the beam. The associated interactive command is built
in PrimaryGeneratorMessenger.
4- DETECTOR RESPONSE
The program computes the 'visible' energy, eg. the energy deposited
in scintillating fibers.
It also computes the total energy deposited per layer, either in absorber
material or in scintillator material.
The list of fibers fired can be written event per event, on an ascii file.
The file is filled at EndOfEvent(); uncomment the function WriteFibers()
See EventAction::WriteFibers() and the format description : eventFormat.txt
NB: visible energy can be corrected for Birk's attenuation:
see the function SteppingAction::BirksAttenuation() (not activated)
5- HISTOGRAMS
The Program contains 5 built-in 1D histograms, managed by G4AnalysisManager.
These histograms can be activated individually with the command :
/analysis/h1/set id nbBins valMin valMax unit
where unit is the desired unit for the histo (MeV, keV, etc..)
(see the macros xxxx.mac).
1 total energy in calorimeter (eg. summed all layers)
2 vsible energy in calorimeter (eg. summed all layers)
3 total energy per layer (eg. longitudinal profile)
4 visible energy per layer (eg. longitudinal profile)
5 visible energy per fiber (eg. lateral profile)
Histograms can be viewed using ROOT.
One can control the name and format of the histograms file with the command:
/analysis/setFileName name (default amsEcal)
/analysis/setFileType type (choice: root(default), XML, csv)
It is also possible to print selected histograms on an ascii file:
/analysis/h1/setAscii id
All selected histos will be written on a file name.ascii (default amsEcal)
6- VISUALIZATION
Visualization Manager is set in the main().
Initialisation of the drawing is done via the commands :
/vis/... in the macro vis.mac. In interactive session:
PreInit or Idle > /control/execute vis.mac
Default view is a longitudinal view of the calorimeter.
Tracks are drawn at end of event, and erased at end of run.
Optionaly one can choose to draw all particles, only charged one, or none.
This command is defined in EventActionMessenger.
7- HOW TO START ?
- compile and link to generate an executable
% cd amsEcal
% gmake
- execute amsEcal in 'batch' mode from macro files
% amsEcal run1.mac
- execute amsEcal in 'interactive mode' with visualization
% amsEcal
....
Idle> type your commands. For instance:
Idle> /control/execute run1.mac
....
Idle> exit
8- HANDLE RANDOM NUMBER SEEDS
The macro rndmSeed.mac shows how to create a set of random number seeds.
Here we save the seed at begin of each run (the number of events per run
is arbitrary). The seeds are stored in subdirectory random.
Macro rndmSeed.mac shows also how to start a run from one of these seeds.