TABLE OF CONTENTS
- 1. /HeavyIonAnalysis
- 1.1. HeavyIonAnalysis/flag_outputReal
- 1.2. HeavyIonAnalysis/flag_outputPert
- 1.3. HeavyIonAnalysis/flag_outputDetailed
- 1.4. HeavyIonAnalysis/pionAnalysis
- 1.5. HeavyIonAnalysis/etaAnalysis
- 1.6. HeavyIonAnalysis/rapBinningMode
- 1.7. HeavyIonAnalysis/rapBinning
- 1.8. HeavyIonAnalysis/KaonAnalysis
- 1.9. HeavyIonAnalysis/nPartAnalysis
- 1.10. HeavyIonAnalysis/DensityPlot
- 1.11. HeavyIonAnalysis/NucleonMassPlot
- 1.12. HeavyIonAnalysis/do_Tmunu
- 1.13. HeavyIonAnalysis/do_Spectra
- 1.14. HeavyIonAnalysis/do_QRvector
- 1.15. HeavyIonAnalysis/do_Glauber
- 1.16. HeavyIonAnalysis/BarMes_Tmunu
- 1.17. HeavyIonAnalysis/rotateZ_Tmunu
- 1.18. HeavyIonAnalysis/correctPot_Tmunu
- 1.19. HeavyIonAnalysis/selectTmunuFormat
- 1.20. HeavyIonAnalysis/useSet
- 1.21. HeavyIonAnalysis/init
- 1.22. HeavyIonAnalysis/HICanalysis_Input
- 1.23. HeavyIonAnalysis/DoHeavyIonAnalysis
- 1.24. HeavyIonAnalysis/DoHIA.dat
- 1.25. HeavyIonAnalysis/DoHIA_pert.dat
- 1.26. HeavyIonAnalysis/DoHeavyIonAnalysisTime
- 1.26.1. DoHeavyIonAnalysisTime/writeParticleVectorHI
- 1.26.2. DoHeavyIonAnalysisTime/RapiditySpectra
- 1.26.3. DoHeavyIonAnalysisTime/InvariantMassSpectra
- 1.27. HeavyIonAnalysis/DoHIATime___.dat
- 1.28. HeavyIonAnalysis/HeavyIon_evol
- 1.29. HeavyIonAnalysis/IsFree
- 1.30. HeavyIonAnalysis/countParts
- 1.31. HeavyIonAnalysis/Mult_SetX.dat
- 1.32. HeavyIonAnalysis/Final_Mult_SetX.dat
- 1.33. HeavyIonAnalysis/doTmunu
- 1.34. HeavyIonAnalysis/doQRvector
- 1.35. HeavyIonAnalysis/getRapBinning
- 1.36. HeavyIonAnalysis/calcGlauber
/HeavyIonAnalysis [ Modules ]
NAME
module HeavyIonAnalysis
PURPOSE
Contains output routines for heavy ion collisions.
HeavyIonAnalysis/flag_outputReal [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
If .true., then the output of the real particle vector will be written to the file 'DoHIA.dat'.
SOURCE
logical, save :: flag_outputReal = .false.
HeavyIonAnalysis/flag_outputPert [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
If .false., then the output of the perturbative particle vector will be written to the file 'DoHIA_pert.dat'.
SOURCE
logical, save :: flag_outputPert = .false.
HeavyIonAnalysis/flag_outputDetailed [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
Print out more detailed information at each time step from subroutine HeavyIon_evol:
- rhorad_*.dat
- rhoz_*.dat
- rhozx_*.dat
- Fields_*.dat
- pauli_*.dat
- dens_max.dat
SOURCE
logical, save :: flag_outputDetailed = .false.
HeavyIonAnalysis/pionAnalysis [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
This flag generates various pion spectra (p_T, m_T, y, etc). The analysis operates under the assumption of a fixed target, and expects the collision to be performed in the CMS system (cf. cmsFlag in namelist /heavyIon/). The analysis matches the one applied to the HADES data in Agakishiev et al., Eur.Phys.J. A40 (2009) 45-49.
SOURCE
logical, save :: pionAnalysis = .false.
HeavyIonAnalysis/etaAnalysis [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
This flag generates various eta spectra and eta-related analyses.
SOURCE
logical, save :: etaAnalysis = .false.
HeavyIonAnalysis/rapBinningMode [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
Select the variable the 'rapBinning' is given for:
SOURCE
integer, save :: rapBinningMode = 1
HeavyIonAnalysis/rapBinning [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
Rapidity binning for the pion and eta analysis (only used if pionAnalysis = .true. or etaAnalysis = .true. ). The numbers represent the binning borders in y (or y0, see rapBinningMode). For each of the bins, a separate pT and/or mT spectrum will be generated.
Only bins, where the upper bound is larger than the lower one are considered
SOURCE
real, dimension(0:13), save :: rapBinning = (/ -0.75, -0.45, -0.15, 0.15, 0.45, 0.75, 1.05, 1.35, -99.9, -99.9, -99.9, -99.9, -99.9, -99.9 /)
NOTES
- for the Hades AuAu analysis, you should set the bins to -0.65,-0.55,...0.75
HeavyIonAnalysis/KaonAnalysis [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
This flag generates various Kaon spectra and Kaon-related analyses.
SOURCE
logical, save :: KaonAnalysis = .false.
HeavyIonAnalysis/nPartAnalysis [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
This flag generates output about impact parameter and N_part
SOURCE
logical, save :: nPartAnalysis = .false.
HeavyIonAnalysis/DensityPlot [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
This flag select printing the density for several time steps
SOURCE
logical, save :: DensityPlot = .false.
HeavyIonAnalysis/NucleonMassPlot [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
PURPOSE
This flag select printing the (invariant) mass of the nucleons for several time steps
SOURCE
logical, save :: NucleonMassPlot = .false.
HeavyIonAnalysis/do_Tmunu [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical,save :: do_Tmunu=.false.
PURPOSE
Switch for Tmunu output.
HeavyIonAnalysis/do_Spectra [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical,save :: do_Spectra=.false.
PURPOSE
Switch for general spectra output.
HeavyIonAnalysis/do_QRvector [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical,save :: do_QRvector=.false.
PURPOSE
Switch for QRvector output.
HeavyIonAnalysis/do_Glauber [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical,save :: do_Glauber=.false.
PURPOSE
Switch for Glauber-MC analysis at timestep 0
HeavyIonAnalysis/BarMes_Tmunu [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical,save :: BarMes_Tmunu=.false.
PURPOSE
If .true., then Tmunu is calculated for baryons and mesons separately.
HeavyIonAnalysis/rotateZ_Tmunu [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical,save :: rotateZ_Tmunu=.false.
PURPOSE
select, whether the particles are first rotated to be aligned to the z-axis
HeavyIonAnalysis/correctPot_Tmunu [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
integer,save :: correctPot_Tmunu = 0
PURPOSE
select, whether the energy is corrected for the potential or not:
- 0: no correction
- 1: full potential added to p0
- 2: only U_b/2+U_r added to p0
- 3: U_b/2+U_r added to p0 in the LRF
HeavyIonAnalysis/selectTmunuFormat [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
integer,save :: selectTmunuFormat = 2
PURPOSE
select output format of Tmunu (binary encoded):
- 1: ASCII
- 2: Binary
- 3: ASCII + Binary
HeavyIonAnalysis/useSet [ Global module-variables ]
[ Top ] [ HeavyIonAnalysis ] [ Global module-variables ]
SOURCE
logical, dimension(nSet), save :: useSet = (/ .false., .true., .false., .true., .true. /)
PURPOSE
Array to indicate, which particle set will be used for output
HeavyIonAnalysis/init [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine init
PURPOSE
Reads in the namelist "HICanalysis_Input"
INPUTS
- (none)
OUTPUT
- Initializes global module variables
HeavyIonAnalysis/HICanalysis_Input [ Namelists ]
[ Top ] [ HeavyIonAnalysis ] [ Namelists ]
NAME
NAMELIST /HICanalysis_Input/
PURPOSE
Includes the switches:
- flag_outputReal
- flag_outputPert
- flag_outputDetailed
- pionAnalysis
- etaAnalysis
- rapBinningMode
- rapBinning
- KaonAnalysis
- DensityPlot
- NucleonMassPlot
- do_Spectra
- do_QRvector
- do_Glauber
- do_Tmunu
- BarMes_Tmunu
- rotateZ_Tmunu
- correctPot_Tmunu
- selectTmunuFormat
- useSet
- nPartAnalysis
HeavyIonAnalysis/DoHeavyIonAnalysis [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine DoHeavyIonAnalysis(realParts,pertParts,finalFlag)
PURPOSE
Does some analysis at the end of the run.
INPUTS
- type(particle), dimension(:,:), :: realParts -- real particle vector
- type(particle), dimension(:,:), :: pertParts -- perturb. particle vector
- logical, intent(in) :: finalFlag -- if .true., it is the last run for one specific energy, therefore final output must be done.
RESULT
some files written to disk
HeavyIonAnalysis/DoHIA.dat [ Output files ]
[ Top ] [ HeavyIonAnalysis ] [ Output files ]
NAME
file DoHIA.dat
PURPOSE
Contains the full dump of the real particle vector at the end of the simulation, including particle ID, charge, position, momentum, etc.
HeavyIonAnalysis/DoHIA_pert.dat [ Output files ]
[ Top ] [ HeavyIonAnalysis ] [ Output files ]
NAME
file DoHIA_pert.dat
PURPOSE
Contains the full dump of the perturbative particle vector at the end of the simulation, including particle ID, charge, position, momentum, etc.
HeavyIonAnalysis/DoHeavyIonAnalysisTime [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine DoHeavyIonAnalysisTime(realParts, time)
PURPOSE
Do some analysis for every time step
INPUTS
DoHeavyIonAnalysisTime/writeParticleVectorHI [ Subroutines ]
[ Top ] [ DoHeavyIonAnalysisTime ] [ Subroutines ]
NAME
subroutine writeParticleVectorHI()
PURPOSE
write out the particle vectors in the format used for HI analysis
HeavyIonAnalysis/DoHIATime___.dat [ Output files ]
[ Top ] [ HeavyIonAnalysis ] [ Output files ]
NAME
file DoHIATime___.dat
PURPOSE
Contains the full dump of the real particle vector at a certain time step. The time is given in the file name and in the first line of the file. The columns have the following meaning:
- 1 = particle ID
- 2 = charge
- 3 = vac. mass in GeV
- 4 = (eff. mass)**2 in GeV^2
- 5 = isFree (particle is bound or free?)
- 6-8 = position (x,y,z) in fm
- 9-11 = momentum (px,py,pz) in GeV
- 12 = ensemble no.
- 13 = run no.
- 14 = impact parameter in fm
DoHeavyIonAnalysisTime/RapiditySpectra [ Subroutines ]
[ Top ] [ DoHeavyIonAnalysisTime ] [ Subroutines ]
NAME
subroutine RapiditySpectra()
PURPOSE
generate and write out some rapidity spectra
DoHeavyIonAnalysisTime/InvariantMassSpectra [ Subroutines ]
[ Top ] [ DoHeavyIonAnalysisTime ] [ Subroutines ]
NAME
subroutine InvariantMassSpectra()
PURPOSE
generate and write out invariant mass spectra of some particles
HeavyIonAnalysis/HeavyIon_evol [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine HeavyIon_evol(realParts, time, timestep)
PURPOSE
time evolution of some global observables
INPUTS
- type(particle), dimension(:,:) :: realParts --- real particle vector
- real :: time --- actual time
- integer :: timestep --- number of time step
HeavyIonAnalysis/IsFree [ Functions ]
[ Top ] [ HeavyIonAnalysis ] [ Functions ]
NAME
logical function IsFree(realParts,i,j,teilchen)
PURPOSE
Determine whether j-th particle of i-th parallel ensemble is free or not
HeavyIonAnalysis/countParts [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine countParts(Parts,time,prefix)
PURPOSE
This counts and prints the number of particles at a specific time step or at the end (final).
NOTES
This routine does not work with multiple events per energy, but only prints the results of the latest run. So you may average (at least for the final output) over all lines of the file.
HeavyIonAnalysis/Mult_SetX.dat [ Output files ]
[ Top ] [ HeavyIonAnalysis ] [ Output files ]
NAME
file Mult_SetX.dat, X = 1 - 5
PURPOSE
This file reports the multiplicity or the inclusive cross section (depending of initialization type) for different particle sets as function of time.
The value X is the particle set (cf. histMP.f90):
- 1: pi, K, N
- 2: pi, rho, (div. mes.), K, N, Delta
- 3: pi, eta, omega, phi, J/psi, K, D
- 4: "all mesons"
- 5: "all stable hadrons": pi,K,N,Lambda,Sigma,Xi,Omega
Entries:
- Column #1: dummy
- Column #2-...: Final state particles.
- Last Column: sum of all particles
NOTES
The selection, which sets are printed is done by setting the corresponding flag in HeavyIonAnalysis/useSet
See also Final_Mult_SetX.dat
HeavyIonAnalysis/Final_Mult_SetX.dat [ Output files ]
[ Top ] [ HeavyIonAnalysis ] [ Output files ]
NAME
file Final_Mult_SetX.dat, X = 1 - 5
PURPOSE
This file reports the multiplicity or the inclusive cross section (depending of initialization type) for different particle sets at the end of the run.
The value X is the particle set (cf. histMP.f90):
- 1: pi, K, N
- 2: pi, rho, (div. mes.), K, N, Delta
- 3: pi, eta, omega, phi, J/psi, K, D
- 4: "all mesons"
- 5: "all stable hadrons": pi,K,N,Lambda,Sigma,Xi,Omega
Entries:
- Column #1: time step (fm)
- Column #2-...: Final state particles.
- Last Column: sum of all particles
NOTES
The selection, which sets are printed is done by setting the corresponding flag in HeavyIonAnalysis/useSet
See also Mult_SetX.dat
HeavyIonAnalysis/doTmunu [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine doTmunu(realParts,timestep)
PURPOSE
do the Tmunu analysis
HeavyIonAnalysis/doQRvector [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine doQRvector
PURPOSE
calculate the Q- and R-vectors
HeavyIonAnalysis/getRapBinning [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine getRapBinning(nBins, Bins)
PURPOSE
return the array RapBinning and its size
HeavyIonAnalysis/calcGlauber [ Subroutines ]
[ Top ] [ HeavyIonAnalysis ] [ Subroutines ]
NAME
subroutine calcGlauber(realParts)
PURPOSE
This routine uses the initialized particles to do a Glauber-MC calculation of nPart.
This routine should be called directly after the initialization in timestep 0
NOTES
We are doing a very bad trick in abusing the flag %anti of the particles in order to indicate, whether the particle is wounded. After the calculation, all flags are reset to .false.