Vacuum Polarization

It is necessary to have the photon polarization operator in many applications. The vacuum polarization can't be calculated from the first principals. It must be used experimental data from e+e- annihilation to hadrons as input for calculation. Vacuum polarization effects in propagator of virtual photon was evaluated with accuracy better than 0.06 % up to 2 GeV (except ω, φ resonances, where precision is 0.08 and 0.2% respectively) - in cross-section normalisation factor.

Vacuum Polarization up to 15 GeV Vacuum Polarization up to 2 GeV

Information with details of the vacuum polarization calculation:

The used hadron cross-sections are shown at this page.

The text file with the vacuum polarization table for s from -1 TeV2 to 1 TeV2:

ver. Dec. 2022
vpol_all_bare_sum_v2.9.dat
vpol_bare_lept_v2.9.dat
vpol_bare_adler_v2.9.dat

Number of points was chosen to keep desired precision (ReP<1e-4,ImP<1e-3) with linear interpolation between points.
The format of file:

s, GeV2; Re P(-s) ; Re P(s); Im P(s); s(Re P(-s)); s(Re P(s)); s(Im P(s)); cov[Re P(s),Im P(s)]/(sRe sIm)



To operate with VP table, you can use this example ( ROOT must be installed):

 wget http://cmd.inp.nsk.su/~ignatov/vpl/vpllite.tar.gz
 wget http://cmd.inp.nsk.su/~ignatov/vpl/vpol_all_bare_sum_v2.9.dat
 tar -zxf vpllite.tar.gz
 cd vpllite/
 make
 root

and ROOT macro:

{
  gSystem->Load("libVpol.so");
  TFilePolarization f;
  f.LoadData("../vpol_all_bare_sum_v2.9.dat");
  f.PDraw(-3.,3.,311,"","",10000);
  f.Show(1.);
  cout<<f.Polarization(1.)<<endl;
}

lepton contribution : vpol_bare_lept.dat

ver. March 2009 full P : vpol_all_bare_sum_v1.dat

ver. Feb. 2016 full P : vpol_all_bare_sum_v2.dat

ver. Oct. 2019 full P : vpol_all_bare_sum_v2.7.dat

Please contact me for any comments and suggestions, e-mail: ignatov_at_inp.nsk.su