calcFF.py

Python script that computes EM Sachs form factor GE, GM values and uncertainties in user-specified range of momentum transfer Q2.
These form factors use the z expansion with coefficient values from fits to the 2010 A1 (‘Mainz’) and combined world and polarization (‘world’) datasets. 
For more information, see G. Lee, J. Arrington, and R. Hill, Phys.Rev. D92 (2015) no.1, 013013 [arXiv:1505.01489], 
NB: these are results from PRELIMINARY fits to the data.

Files:
- calcFF.py: main Python script, requires numpy.
- fitfile_Mainz.dat: file containing form factor input from fits to the 2010 A1 elastic e-p scattering data.
- fitfile_world.dat: file containing form factor input from fits to the combined world and polarization elastic e-p scattering data.
- readme.txt: this file.

Usage: [] = mandatory input, {} = optional input
python calcFF.py [Q2start] [Q2end] [Q2step] {Q2opt} {inputfile} {outfile}

Mandatory inputs:
Q2start: start value for scan in Q2.
Q2end: end value for scan in Q2.
Q2step: step value for scan in Q2, so form factors calculated at {Q2start, …, Q2start+n*Q2step, …, Q2end}.

Optional inputs:
Q2opt: enter 1 to calculate the form factors at logarithmic steps in Q2, i.e., {10^(Q2start), …, 10^(Q2start+n*Q2step), …, 10^(Q2end)}.
inputfile: enter w for fit world data; by default, Mainz data is used.
outfile: enter file name for form factor output; by default, ‘out.dat’ is used.

Output form: 
[Q2 value] [z value] [GE] [dGE] [GM] [dGM] [R=mu_p*GE/GM] [dR]