À la mémoire de Enrico
Enrico Farnea
(1970-2013)
Some generalities
AGATA Code is based fully on GEANT4 transport code. Compile on different GEANT4 version
From Geant4.7 (although not tested recently) up to Geant4.9.6
Since Geant4.9.5, compilation possible with cmake or make
GEANT4.10 is coming soon ~(next month) make may no longer be available for compilation cmake only
The AGATA Simulation team Core team: Cesar Domingo-Pardo, Joa Ljungvall, Johan Nyberg, and myself (convener) Extra support for the different campaigns/ancillary detectors: - At GANIL: Marcin Palazc (N-Wall-NEDA),
Grzegorz Jaworski (EXOGAM), Bart Bruyneel (FATIMA), …
- At GSI: Dan Bloor (LYCCA+AGATA), M. Reese (Ext evt generator for plunger), …
- At Legnaro: Dino Bazzacco, …
The team roles/activities: Develop: - Code general improvement - Integration of Ancillary detectors - Event generators - Background - Preliminary analysis codes Assist: - Installation - Running - Bug fixing Maintain:
- Compatibility with GEANT4 distributions
Perform simulations: - Of general interests (Source or Commissioning runs) - Of experiment proposals, Occasionally
ASC Distribution
Can be checked out here: http://npg.dl.ac.uk/svn/agata
Subversion is used for the control version, so to check out type: svn co http://npg.dl.ac.uk/svn/agata (for the full version)
svn co http://npg.dl.ac.uk/svn/agata/trunk (for the “original” version)
svn co http://npg.dl.ac.uk/svn/agata/branches/GANIL/trunk (for GANIL version)
svn co http://npg.dl.ac.uk/svn/agata/branches/GSI/trunk (for GSI version)
To received updates, the command is:
cd ../trunk/
svn update
To commit changes, you’ll need login & password (just ask me)
AGATA repository structure
Agata/ trunk/
branches/
GSI/
GANIL/
trunk/
trunk/
a_event_generator/
b_event_builder/
c_event_reconstruction/
Other branches can be added
(LYCCA,…) trunk/
Currently each of the trunk/ directories (from top to bottom) are copies of Enrico’s
In preparation
Also distributed:
The repository contains an INSTALL file For both GEANT4 and ASC.
For GEANT4, the easiest way is to download the virtual machine from http://geant4.in2p3.fr
VMWare player or VirtualBox
a new directory with some external basic generators. Produce ASCII input for ASC with gamma-emitter
momentum and gamma-decay cascade
Basic reaction available: Coulex, knockout (fragmentation), fusion-evaporation, transfer, elastic/inelastic
Also valid for multi-layer target (plunger experiment).
See: README, HOWTO
Also distributed: The two tracking algorithms:
BUT no manuals – run with default parameters.
OFT (contact: [email protected])
MGT (contact: Dino.Bazzacco:pd.infn.it)
Both algorithms are in the directory: trunk/analysis
Many examples to run simulation are available in:
trunk/macros/
tunk/macros_ganil/
trunk/macros_pespec/
The ASC manual
In each trunk/docs/ - the ASC manual is available:
agataManual.pdf (Enrico)
It needs to be updated for more recent developments but still completely valid.
The agata/ repository
The branches
The Agata/branches/GANIL/trunk/ directory
Geant4-based AGATA core program (Leave it to the developpers)
Compilation files for make (GNUMakefile) and cmake (CMakeLists.txt, build/)
The AGATA Cmakefile.list Produces the executable file Agata and saves a copy of the
configurations files & macros in a build directory (e.g: build1).
build can be put any where on your system.
you can then work in this directory:
create new macros or config. Files
run your simulations in that build directory.
Suggestion: when a new version of the AGATA code comes along (ie: after an, svn update)
You can create a new build directory (e.g build2) and compile the new version there.
If satisfied, you can delete build1
!! The current Cmakelist.txt works but still under construction
Not all CPPFLAGS are set yet.
The config. & macros files not yet copied to the build directory
The Agata/branches/GANIL/trunk/ directory
Geometry config files for AGATA
The files A180/A180eulerxxx.list
Probably the only file you may want/need to modify To add new Triple clusters (ATC) or double clusters
(ADC) in the geometry
And to position them as you which
Note: For full array use: A180euler.list
Ex: A180/A180euler5D5T.list # The Euler angles (degree) and shifts (mm) of the 15 clusters
# cl cl# psi(Rz) theta(Ry) phi(Rz) dx dy dz
0 0 344.30249 158.03214 43.94942 74.47046 71.78835 -256.43201
1 0 344.30249 158.03214 115.94942 -45.26214 93.00944 -256.43201
2 0 344.30249 158.03214 187.94942 -102.44400 -14.30536 -256.43201
3 0 344.30249 158.03214 259.94942 -18.05173 -101.85064 -256.43201
4 0 344.30249 158.03214 331.94942 91.28742 -48.64179 -256.43201
5 1 203.78938 134.70689 17.72403 187.19053 59.82662 -194.51805
6 1 111.58401 131.66388 54.86230 118.88858 168.92497 -183.81146
7 1 203.78938 134.70689 89.72403 0.94655 196.51622 -194.51805
8 1 111.58401 131.66388 126.86230 -123.91860 165.27045 -183.81146
9 1 203.78938 134.70689 161.72403 -186.60553 61.62708 -194.51805
ATC
ADC
The Agata/branches/GANIL/trunk/ directory
Geometry config files for AGATA Geometry files for some ancillary det.
The Agata/branches/GANIL/trunk/ directory
Geometry config files for AGATA
EXOGAM input configuration file
Geometry files for some ancillary det.
The EXOGAM input file ….
# CONFIGURATION X
CONFIGURATION B
#
# Id Large/Small In/Out T->Ge can Theta Phi
# Clover (cm) (deg.) (deg.)
#
#Flange 2:
0 L 0 14.74 135. 0.
#Flange 4:
1 L 0 14.74 135. 90.
#Flange 3:
2 L 0 14.74 135. 180.
#Flange 5:
3 L 0 14.74 135. 270.
#Flange 10:
4 L 1 14.74 90. 0.
#Flange 11:
5 L 1 14.74 90. 45.
#Flange 12:
6 L 1 14.74 90. 90.
#Flange 13:
7 L 1 14.74 90. 135.
#Flange 6:
8 L 1 14.74 90. 180.
#Flange 7:
9 L 1 14.74 90. 225.
#Flange 8:
10 L 1 14.74 90. 270.
#Flange 9:
11 L 1 14.74 90. 315.
#Flange 15:
12 L 0 14.74 45. 0.
#Flange 1:
13 L 0 14.74 45. 90.
…
In the file Exogam_input :
The Agata/branches/GANIL/trunk/ directory
Geometry config files for AGATA
EXOGAM input configuration file Examples of macros
Geometry files for some ancillary det.
The Agata/branches/GANIL/trunk/ directory
mgt and OFT tracking code
The Agata/branches/GANIL/trunk/ directory
mgt and OFT tracking code Event input file examples
The Agata/branches/GANIL/trunk/ directory
mgt and OFT tracking code
Agata code manual
Event input file examples
The Agata/branches/GANIL/trunk/ directory
mgt and OFT tracking code
Agata code manual
Event input file examples
Compilations with GNUMakefile
In a terminal window or in your .cshrc file, run the commands:
source /usr/local/geant4.9.6.p02/share/Geant4-9.6.2/geant4make/geant4make.csh /usr/local/geant4.9.6.p02/share/Geant4-9.6.2/geant4make/
(Note:there is a space between ../geant4make.csh and /usr/local/….)
unsetenv G4UI_USE_QT
unsetenv G4VIS_USE_OPENGLQT
unsetenv G4UI_USE_XM
unsetenv G4VIS_USE_OPENGLXM
In the trunk/ directory, compile agata with the command:
make clean
make
The executable “Agata” should then be created in the directory $G4WORKDIR/bin/Linux-g++/
To execute the program run:
$G4WORKDIR/bin/Linux-g++/Agata
On t
he G
eant4
VM
only
Compilations with CMakefile on VM
In trunk directory, create a build directory and enter it:
mkdir Build_Agata
cd Build_Agata
Build with cmake:
cmake –DGeant4_DIR=$G4LIB/Geant4-9.6.2 ../
Compile with make:
make
The executable Agata should then be created in this Build_Agata/ directory.
To run the code, from the trunk directory:
./Build_Agata/Agata
Time for a break …
Running the Agata code
The options available
The AGATA commands
With built-in generators What generators?
Simulation Output file description
The other generator options Simulation Input file description
Using Ancillary detectors
The options >$G4WORKDIR/bin/Linux-g++/Agata -h (or ./build/Agata -h)
-g index select geometry (0=AGATA, 1=SHELL, 2=Simple, 3=Geom for test of Physics
4=Orgam (eurogam))
-a N_anc n_1 ... n_N select ancillary devices
-n use also neutrons, protons, ...
-noLE use the standard treatment of the interactions for gamma/e-/e+
-noLowH use the standard treatment of the interactions for hadrons
-p consider the linear polarization of the photons
-Vol enables the use of geantinos for volume and solid angle calculation
-Ext reads the event sequence from file
-Gen uses user-supplied event generation
-Test Event generator using geant4 gun commands
-b file.mac runs in batch mode executing file.mac
-Path <dir> sets base directory to <dir>
-seed uses current time as seed for random number engine
-run r sets first run number to r
-SN Use G4ScreenedNuclear instead of multiplescattering for Generic Ions
-decay zZZ.aAAA make radioactive decayfiles
-AddOn library_name Add some kind of det. via shared lib
-h help, print this list
The AGATA commands
>$G4WORKDIR/bin/Linux-g++/Agata (or ./build/Agata)
Idle> ls
Idle> ls /Agata/
Idle> ls /Agata/generator/
Idle> ls /Agata/generator/gamma/
List of all interactive commands (IC)
List of Agata/ IC
Generators
Built-in >./path_to/Agata
External From event input files
>./path_to/Agata –Ext
From user-defined generators (on-the-fly) >./path_to/Agata -Gen
Built-in generators (1)
Many options (including v/c recoil & polarisation)
For the energy of the emitted g, in CM: 7 ≠types (0 to 6), set with the command:
/Agata/generator/gamma/gunType type
Defined in class src/AgataEmitted.cc type =0 : monochromatic (=default)
type =1 : rotational band
type =2 : discreet energies read from file
type =3 : flat energy distribution
type =4 : sampled from a continuous spectrum
type =5 : same as 2, with intensity normalisation to 1 (100%)
type =6 : monochromatic + E2 angular distribution
Built-in generators (2)
Recoil velocity: v/c value (in %) set with the command:
/Agata/generator/recoil/beta value
Other parameters for /Agata/generator/recoil/ are: sigma * Define sigma of the gaussian distribution of recoil v/c.
openingAngle * Define opening angle for the recoil cone.
gaussAngle * Set opening angle for the recoil cone to a gaussian distribution.
uniformAngle * Set opening angle for the recoil cone to a uniform distribution.
direction * Define a fixed direction of the recoil.
thetaPhi * Define a fixed direction of the recoil.
sourceType * Define behaviour of the source.
positionOfSource * Define initial position of the source.
Output file description (1)
The header file: AGATA 7.3.0
OUTPUT_MASK 11100100
# nDet Energy AbsolutePosition(x y z) RelativePosition(x' y' z')
# RelativePosition for mgs (x'' y'' z'') nSeg time interaction
# 0--> disabled; 1--> enabled
DISTFACTOR 1
ENERFACTOR 1
G4TRACKING 0
DATE Sat Nov 23 21:00:30 2013
GEOMETRY
AGATA
SUMMARY 235.008 329.202 15 3 6 6 6 6 6 6
TRANSFORMATION 0.000 0.000 0.000 0.000 0.000 0.000
PASSIVE 1
CAPSULES 1
ENDGEOMETRY
GENERATOR 0
ENDGENERATOR
GAMMA 1
1332.0000
RECOIL 0.0000 0.0000 0.0000 0.0000 1.0000 0.0000
SOURCE 0 0 0.0000 0.0000 0.0000
$
= Information written for each hits
= Some scaling factors
= Tracking method
= Date & time
BEGINNIN OF GEOMETRY
= Detector name
= Rmax, Rmin, Ncrist., Ncl, Nslice(Ncl) , Nseg(Ncl) , ..
= Translation & Rotation parameters
= Passive material implemented
= Capsule included
END OF GEOMETRY
= Generator type
= emitted particle multiplicity
= kinetic energy
= beta; beta sigma; direction(x,y,z); Op. Angle
= type; motion; position(x,y,z)
Output file description (2) The output events in GammaEvents.xxxx
-1 1332.500 -0.76686 -0.36714 -0.52644 0
-1 1332.500 -0.55906 0.80720 0.18943 1
109 0.129 -149.788 216.269 50.753 21
109 1.402 -154.958 226.318 52.333 31
105 1.255 -110.852 216.898 75.648 13
105 11.067 -110.903 215.571 74.107 12
105 142.780 -110.900 215.558 74.111 12
105 100.330 -110.847 216.900 75.653 13
109 255.340 -155.126 226.493 52.112 31
109 237.367 -155.169 226.530 51.841 31
109 30.759 -155.192 226.516 51.865 31
109 275.694 -155.254 226.467 51.934 31
109 16.156 -155.254 226.466 51.934 31
109 33.819 -149.789 216.268 50.753 21
109 0.015 -156.248 220.392 46.345 21
109 11.067 -156.175 220.215 41.049 22
109 159.863 -156.083 220.146 41.031 22
109 27.167 -156.083 220.146 41.032 22
109 28.286 -156.248 220.391 46.346 21
-1 1332.500 0.85273 0.38946 -0.34810 2
gamma Evt #
Segment #
Crystal #
Deposited energy and absolute Interaction Position
Incident energy and direction (dx,dy,dz)
Using external event input file Can be produced by hand or via gammaWare,
Ext_generators/, …
ASCII format: Example: Events00 file in Agata/events/: FORMAT 0 0 = Emitter info , Emitted info # (Level of detailed information: 0 to 4) # REACTION 6 12 16 32 88.0 = Zbeam, Abeam, Ztarget, ATarget, Ebeam # (Default= 1, 1, 6, 12, 0) # EMITTED 2 1 4 = Ntotal, Typei=0, …, Typei=N-1 # $ = Beginning of event -101 12 26 44. 0. 0. 1. 0. 0. 0. = Emitter: z, A, E, xDir, yDir ,zDir, xS, yS ,zS 1 3000. 0. 1. 0. 0. 0. 0. 0. 0. = 1st emitted: E, xDir, yDir ,zDir, xS, yS ,zS, [t, P] 4 5000. 1. 0. 0. 0. 0. 0. 0.5 1 = 2nd emitted: E, xDir, yDir ,zDir, xS, yS ,zS, [t, P]
index Type
1 gamma
2 neutron
3 proton
4 deuterium
5 Triton
6 3He
7 alpha
8 Generic
ion
97 Electron
98 Positron
99 Geantino
AGATA Ancillary detectors
FATIMA
AIDA
RFD
DIAMANT EUCLIDES
EXOGAM
The list of Ancillaries so far … Ancillaries Index Sensitive Det.
instances
Offset
Koeln Si det. 1 1 1000
Shell (default) 2 1 2000
DANTE 3 1 3000
EUCLIDES 4 2 4000,5000
Brick (PRISMA “dipole”) 6 0 6000
N-Wall 7 1 7000
DIAMANT 8 1 8000
EXOGAM 9 1 9000
HELENA 10 1 10000
RFD 11 1 11000
TRACE ? 12 2 12000,13000
CUP ? 14 1 14000
GASPARD ? 15 1 15000
Cassandra 16 1 16000
AIDA 17 1 17000
FATIMA 18 1 18000
Multi-detector example
By running the command:
Agata –a 3 7 8 9
Nb of
ancillaries
N-Wall id
DIAMANT id
EXOGAM id
Exogam event output description
-1 1000.500 -0.55222 -0.79548 -0.24955 7
9036 1.223 -94.996 -136.842 -42.929 00
9036 0.179 -95.507 -132.001 -40.371 00
9436 0.669 -89.933 -133.310 -50.547 00
9436 37.543 -89.933 -133.310 -50.548 00
9036 76.604 -95.509 -131.998 -40.368 00
9036 187.136 -95.177 -136.852 -43.185 00
9036 222.045 -94.990 -136.783 -43.065 00
9036 137.517 -94.919 -136.785 -43.137 00
9036 129.334 -95.008 -136.775 -43.117 00
9036 108.243 -95.006 -136.778 -43.110 00
9436 13.425 -90.157 -133.347 -50.914 00
9036 1.223 -94.994 -136.820 -42.939 00
9036 8.621 -94.994 -136.820 -42.939 00
9436 76.738 -90.156 -133.347 -50.916 00
9000:
ExoGam offset
400:
BGO shield offset
36:
Flange_ID *4 + Cryst_ID
Seg_ID
(00 to 03)
Energy Dep. position(x,y,z)
Incoming gamma
The EXOGAM input file ….
# CONFIGURATION X
CONFIGURATION B
#
# Id Large/Small In/Out T->Ge can Theta Phi
# Clover (cm) (deg.) (deg.)
#
#Flange 2:
0 L 0 14.74 135. 0.
#Flange 4:
1 L 0 14.74 135. 90.
#Flange 3:
2 L 0 14.74 135. 180.
#Flange 5:
3 L 0 14.74 135. 270.
#Flange 10:
4 L 1 14.74 90. 0.
#Flange 11:
5 L 1 14.74 90. 45.
#Flange 12:
6 L 1 14.74 90. 90.
#Flange 13:
7 L 1 14.74 90. 135.
#Flange 6:
8 L 1 14.74 90. 180.
#Flange 7:
9 L 1 14.74 90. 225.
#Flange 8:
10 L 1 14.74 90. 270.
#Flange 9:
11 L 1 14.74 90. 315.
#Flange 15:
12 L 0 14.74 45. 0.
#Flange 1:
13 L 0 14.74 45. 90.
…
Flange ID of
the first
clover activated
Also, some special ones MINIBALL
Not defined as other ancillaries Close to AGATA design
Just different cluster size & segmentation
Thus = modified AGATA clusters
Use mgt tracking code to analyse MINIBALL data
PRISMA Merging of PRISMA code output and ASC output
grazing code the input file (emitters + g’s)
Same input file used for both simulation codes Coincidences with acceptance effects + Doppler correction
LYCCA Merging of LYCCA Sim. package + ASC code
Contact: Dan Bloor [email protected]