XEM_model is a Fortran script used to generate inclusive scattering cross-sections from nuclei. The inelastic cross-section is produced using the F1F2## model of world data produced by Eric Christy. The quasi-elastic contribution is produced using a Y-scaling fit to 6GeV Hall C X>1 data.
There are two main uses for this code:
1.) Create Standalone Cross-Section Tables
2.) Inject the XEM_model into rc_externals via the SIGMODEL_CALC routine
You'll need to add a few directories in the parent directory including:
input
output
output/figures
To compile on a JLab computer, simply type make
in the XEM_model directory. This will create an executable called XEM_model, which is called by run_XEM_model
and run_many_XEM_model
.
To create a standalone cross-section table, one must first generate an input table. This can be done using the jupyter notebook MakeTbl.ipynb
. Alternatively, you can create your own routine as long as the input file generated follows the format, {:6.3f} {:6.3f} {:6.3f} {:d} {:d}
, which is: E_beam (GeV) E_prime (GeV) Theta (degree) A Z
.
The output file has the following columns:
y - y-scaling variable
A - Atomic Mass
Z - Atomic Number
Theta - Angle from input file (degrees)
E_prime - Scattered electron energy (GeV)
x - Bjorken Scaling variable
inelastic cross-section - Calculated from smearing the F1F2## model for nuclei (nb/MeV/sr)
quasi-elastic cross-section - Calculated using y-scaling (nb/MeV/sr)
The inclusion of the XEM_model in rc_externals is straight-forward, but requires more details to set up the rc-externals makefile. This discussion is left for in person discussion, but generally rc-externals makes use of SIGMODEL_CALC. One has to be careful with the fortran REAL and REAL*8 types as they are not cast directly to the correct type in most cmpilers.