TABLE OF CONTENTS
- 1. /HiLeptonAnalysis
- 1.1. HiLeptonAnalysis/DoTimes
- 1.2. HiLeptonAnalysis/DoOutChannels
- 1.3. HiLeptonAnalysis/DoInvMasses
- 1.4. HiLeptonAnalysis/DoFindRho0
- 1.5. HiLeptonAnalysis/DoClasie
- 1.6. HiLeptonAnalysis/DoBrooks
- 1.7. HiLeptonAnalysis/DoMorrow
- 1.8. HiLeptonAnalysis/DoMandelT
- 1.9. HiLeptonAnalysis/DoCentralN
- 1.10. HiLeptonAnalysis/DoEventAdd
- 1.11. HiLeptonAnalysis/DoFSIsqrts
- 1.12. HiLeptonAnalysis/DoClassifyFirst
- 1.13. HiLeptonAnalysis/DoLeptonKinematics
- 1.14. HiLeptonAnalysis/DoHadronKinematics
- 1.15. HiLeptonAnalysis/tAverage
- 1.16. HiLeptonAnalysis/DoHiLeptonAnalysis
- 1.17. HiLeptonAnalysis/readInput
- 1.18. HiLeptonAnalysis/HiLepton_Analysis
- 1.19. HiLeptonAnalysis/resetBinning
- 1.20. HiLeptonAnalysis/DoBinningLepton
- 1.21. HiLeptonAnalysis/DoBinningHadron
- 1.22. HiLeptonAnalysis/writeBinning
- 1.23. HiLeptonAnalysis/BinCutsJLAB5_R
- 1.24. HiLeptonAnalysis/BinCutsJLAB5_pT2
- 1.25. HiLeptonAnalysis/checkCuts
- 1.26. HiLeptonAnalysis/labrotate
- 1.27. HiLeptonAnalysis/HiLeptonAnalysisPerTime
/HiLeptonAnalysis [ Modules ]
NAME
module HiLeptonAnalysis
PURPOSE
Do the Analysis stuff for HiLepton
INPUTS
(no input)
OUTPUT
cf. "writeBinning"
NOTES
the old routines were replaced by "HistMP" stuff etc.
HiLeptonAnalysis/DoTimes [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoTimes = .false.
PURPOSE
switch on/off: reporting of times
HiLeptonAnalysis/DoOutChannels [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoOutChannels = .false.
PURPOSE
switch on/off: reporting of all final state channels
HiLeptonAnalysis/DoInvMasses [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoInvMasses = .false.
PURPOSE
switch on/off: reporting of pairwise-invariant-masses
HiLeptonAnalysis/DoFindRho0 [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoFindRho0 = .false.
PURPOSE
switch on/off: reconstructing rho0 from final pions
HiLeptonAnalysis/DoClasie [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoClasie = .false.
PURPOSE
switch on/off: Do pion analysis as Clasie et al., arXiv:0701.1481
HiLeptonAnalysis/DoBrooks [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoBrooks = .false.
PURPOSE
switch on/off: Do pi+ pT2 spectra for Brooks delta pT2
HiLeptonAnalysis/DoMorrow [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoMorrow = .false.
PURPOSE
switch on/off: Do pion analysis as Morrow et al., Morrow:2008ek
HiLeptonAnalysis/DoMandelT [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoMandelT = .false.
PURPOSE
switch on/off: Do pion analysis with Mandelstam t.
HiLeptonAnalysis/DoCentralN [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoCentralN = .false.
PURPOSE
switch on/off: Do centrality analysis with slow nucleons
HiLeptonAnalysis/DoEventAdd [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoEventAdd = .true. logical, save :: DoEventAdd2 = .true.
PURPOSE
Decide, whether we have to do an EventArr analysis or not. These flags are not directly eccessible, but computed from other values:
- DoEventAdd = DoOutChannels.or.DoInvMasses.or.DoFindRho0
- DoEventAdd2 = DoOutChannels.or.DoMorrow
HiLeptonAnalysis/DoFSIsqrts [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoFSIsqrts = .false.
PURPOSE
switch on/off: Estimate potential/future final state interactions
Plot the sqrt(s) distribution of potential final state interactions of perturbative particles with the nucleus (real) particles). (The interactions do not happen, this is calculated before every propagation.) In order to select the particle class for which one wants to report the FSI, please change directly the code.
HiLeptonAnalysis/DoClassifyFirst [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoClassifyFirst = .false.
PURPOSE
Classifying 'FirstEvent' into some classes
Needs DoEventAdd.
HiLeptonAnalysis/DoLeptonKinematics [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoLeptonKinematics = .false.
PURPOSE
switch on/off lepton kinematics output
HiLeptonAnalysis/DoHadronKinematics [ Global module-variables ]
[ Top ] [ HiLeptonAnalysis ] [ Global module-variables ]
SOURCE
logical, save :: DoHadronKinematics = .false.
PURPOSE
switch on/off hadron kinematics output
HiLeptonAnalysis/tAverage [ Types ]
[ Top ] [ HiLeptonAnalysis ] [ Types ]
NAME
type tAverage
PURPOSE
Store general averages, as eq. <Q^2>, <W> etc.
SOURCE
type tAverage real :: sum0,sum,W,Q2,nu end type tAverage
HiLeptonAnalysis/DoHiLeptonAnalysis [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine DoHiLeptonAnalysis(realPart,pertPart,MassNum,finalFlag,beforeRUN)
PURPOSE
This is the routine, which does the actual analysis for HiLepton calculations
INPUTS
- type(particle),dimension(:,:) :: realPart -- the real particle vector
- type(particle),dimension(:,:) :: pertPart -- the perturbative particle vector
- integer :: MassNum -- the size of the nucleus
- logical :: finalFlag -- flag, whether it is the final call
- logical, optional :: beforeRUN -- flag, whether this routine is called before all timesteps (i.e. directly after init) or at the end of a run
OUTPUT
(none)
NOTES
If this routine is called with beforeRUN=.true., then production and formation times of the particles produced in the first event are reported. Otherwise, after all timesteps, particle spectra etc are stored.
DoHiLeptonAnalysis/CalculateExclPiP [ Subroutines ]
[ Top ] [ DoHiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine CalculateExclPiP
PURPOSE
Calculate the Cuts according Clasie et al.,arXiv:0701.1481 for exclusive pi plus production (transparency).
INPUTS
- integer :: iHist -- The histogram histMX(iHist) is used
OUTPUT
- The current event is added to histogram histMX(iHist).
NOTES
we use the global variables:
The files fort.1173..1178 are written.
HiLeptonAnalysis/readInput [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Reads input in jobcard out of namelist "HiLepton_Analysis"
HiLeptonAnalysis/HiLepton_Analysis [ Namelists ]
[ Top ] [ HiLeptonAnalysis ] [ Namelists ]
NAME
NAMELIST HiLepton_Analysis
PURPOSE
Includes the switches:
- DoTimes
- DoOutChannels
- DoInvMasses
- DoFindRho0
- DoClasie
- DoMorrow
- DoBrooks
- DoMandelT
- DoClassifyFirst
- DoFSIsqrts
- DoCentralN
- DoLeptonKinematics
- DoHadronKinematics
HiLeptonAnalysis/resetBinning [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine resetBinning
PURPOSE
Reset all Histogramms used.
Allocates all arrays and sets necessary parameters.
INPUTS
---
OUTPUT
---
HiLeptonAnalysis/DoBinningLepton [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine DoBinningLepton(nu,Q2,Weight)
PURPOSE
By calling this routine, the histogramms according the leptons are filled.
INPUTS
- real :: nu -- nu value of Event
- real :: Q2 -- Q**2 value of Event
- real :: Weight -- perturbative weight of Event
OUTPUT
---
HiLeptonAnalysis/DoBinningHadron [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine DoBinningHadron(Part,nu,Q2,Ebeam,phi_Lepton,iPart)
PURPOSE
By calling this routine, the histogramms according the hadron are filled.
INPUTS
- type(particle) :: Part -- the particle
- real :: nu -- nu value of Event
- real :: Q2 -- Q**2 value of Event
- real :: Ebeam -- Energy of the Lepton Beam
- real :: phi_Lepton -- Angle of scattered Lepton
- integer :: iPart -- number of particle in pertPart
OUTPUT
---
HiLeptonAnalysis/writeBinning [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine writeBinning()
PURPOSE
write out all histogramms
INPUTS
(none)
OUTPUT
several files are (re-)written.
NOTES
HiLeptonAnalysis/BinCutsJLAB5_R [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine BinCutsJLAB5_R(nu,Q2,zH, iNu,iQ2,iZH)
PURPOSE
select the histogramm to bin the values of R
HiLeptonAnalysis/BinCutsJLAB5_pT2 [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine BinCutsJLAB5_pT2(nu,Q2,zH, iNu,iQ2,iZH)
PURPOSE
select the histogramm to bin the values of R
HiLeptonAnalysis/checkCuts [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine checkCuts(Part,nu,Q2,Ebeam,phi_Lepton,acceptFlag,weight)
PURPOSE
This routine applies the experimental cuts and returns some weight, which indicate the probability, that the parton is detected.
As a side effect, it calculates the transverse momentum of the particle in respect to the photon direction.
INPUTS
- type(particle) :: Part -- particle to consider
- real :: nu -- nu value of Event
- real :: Q2 -- Q**2 value of Event
- real :: Ebeam -- Energy of the Lepton Beam
- real :: phi_Lepton -- Angle of scattered Lepton
OUTPUT
- logical :: acceptFlag -- true, if particle is detected at all
- real :: weight -- weight of acceptance
- real, OPTIONAL :: pT2 -- transverse momentum according lepton beam
NOTES
phi_Lepton indicates the azimuthal angle of the scattered lepton around the axis, which is determined by the momentum of the incoming lepton. This is normally not the z-axis. (see below)
A particle can be detected, but, e.g. due to rotational systematics around the lepton beam axis, only in 50% of all cases. If the details of the detector are not important, you can then give the particle the acceptance weight 0.5.
Be aware: The events are normally in a system, where the PHOTON determines the z-axis.
HiLeptonAnalysis/labrotate [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine labrotate(alpha,phi_Lepton,p,theta,phi,pT2)
PURPOSE
Because AccWeight is an rotation-averaged value, we have now to choose the "phi" angle.
INPUTS
- alpha : angle to rotate around y-axis
- phi_Lepton : angle to rotate arund z-axis
- p : vector to rotate
OUTPUT
- theta : angle
- phi : angle
- pT2 : transverse momentum (squared) acording lepton axis
NOTES
First the vector is rotated around the y-axis by the angle alpha (i.e. the angle between incoming lepton and photon). Secondly, this vector is rotated around the z-axis by the angle phi_Lepton.
HiLeptonAnalysis/HiLeptonAnalysisPerTime [ Subroutines ]
[ Top ] [ HiLeptonAnalysis ] [ Subroutines ]
NAME
subroutine HiLeptonAnalysisPerTime(Time, pParts)
PURPOSE
produce statistical output after every time step
INPUTS
- real :: Time -- time of time step (in fm)
- type(particle) :: pParts(:,:) -- particle vector of perturbative parts
OUTPUT
internal variables are changed and some output to predefined files.