In general, subtractions are needed to remove the infrared divergences from loop integrals. The required subtractions are described in Z. Nagy and D. E. Soper, ``General subtraction method for numerical calculation of one-loop QCD matrix elements,'' JHEP 0309, 055 (2003) [arXiv:hep-ph/0308127]. The N-photon case with a massless electron loop has infrared singularities, but they are integrable singularities. Thus no subtractions are needed.
The basic method is described in Z. Nagy and D. E. Soper, "Numerical integration of one-loop Feynman diagrams for N-photon amplitudes," arXiv:hep-ph/0610028. There is also a set of implementation notes in pdf format. These notes describe the method for choosing points in the Monte Carlo style numerical integration.
There are three program files. The top level routines in Nphoton.cpp can be easily modified by the user. The definitions in Nphoton.h and the subroutines in Nphotonsubs.cpp should not be modified.
We recommend compiling these with c++ -O3 Nphoton.cpp Nphotonsubs.cpp.
The basic method is described in W. Gong, Z. Nagy and D. E. Soper, "Direct numerical integration of one-loop Feynman diagrams for N-photon amplitudes," arXiv:hep-ph/0812.3686, published in Phys. Rev. D 79, 033005 (2009). There is also a set of implementation notes in pdf format. These notes describe the method for choosing points in the Monte Carlo style numerical integration.
There are three program files. The top level routines in NphotonD.cpp can be easily modified by the user. The definitions in NphotonD.h and the subroutines in NphotonDsubs.cpp should not be modified.
We recommend compiling these with c++ -O3 NphotonD.cpp NphotonDsubs.cpp.
Last updated 4 February, 2009
Davison E. Soper