Møller scattering

To leading order in QED

Configuration: "QED"
Lagrangian: QED[1]

$Configuration="QED";
$Lagrangians={"QED"[1]};

Needs["HighEnergyPhysics`FeynCalc`"];

Loading FeynCalc from /opt/cvs/HighEnergyPhysics

Loading TARCER /opt/cvs/HighEnergyPhysics/Tarcer/tarcer06.mx

FeynCalc 4.9.0.2beta For help, type ?FeynCalc, use the built-in help system or visit www.feyncalc.org

Loading PHI

Loading FeynArts, see www.feynarts.de for documentation

FeynArts 3.2 patched for use with Phi and FeynCalc loaded

The three-vertex Feynman rule

The QED lagrangian:

lag=ArgumentsSupply[Lagrangian[QED[1]],x,RenormalizationState[0]]

Calculation of the Feynman rule with FeynCalc:

fields={QuantumField[Particle[Electron,RenormalizationState[0]]][p1],QuantumField[DiracBar[Particle[Electron,RenormalizationState[0]]]][p2],QuantumField[Particle[Photon,RenormalizationState[0]],LorentzIndex[μ3]][p3]}

melsimplified=Simplify[FeynRule[lag,fields]]

Coupling files

The coupling vectors for the FeynArts model files are generated and saved:

gencoup=GenericCoupling[melsimplified];gencoup//InputForm

classcoup=ClassesCoupling[melsimplified]//Together;classcoup//InputForm

$VeryVerbose=2;

CheckF[gencoup,XName[VertexFields->{Electron[0],Electron[0],Photon[0]},PerturbationOrder->1,PhiModel->QED]<>".Gen"];

CheckF[classcoup,XName[VertexFields->{Electron[0],Electron[0],Photon[0]},PerturbationOrder->1,PhiModel->QED]<>".Mod"];

$VeryVerbose=0;

Topologies and fields insertion

Construction of topologies:

tops=CreateTopologies[0,2->2,Adjacencies->{3},ExcludeTopologies->{SelfEnergies,WFCorrections},CTOrder->0];

Paint[tops,ColumnsXRows->{3,1},AutoEdit->False];

Field insertion:

inserttops=InsertFields[tops,{Electron[0],Electron[0]}->{Electron[0],Electron[0]},Model->"Automatic",GenericModel->"Automatic",InsertionLevel->Classes];

Graphical representation of the process:

treegraphs=Paint[inserttops,PaintLevel->{Classes},AutoEdit->False,SheetHeader->False,Numbering->False,ColumnsXRows->{2,1}];

The amplitude

We can safely set the photon mass to zero:

ParticleMass[Photon,___]:=0;

Calculation of the amplitude:

ampFC=Plus@@CreateFCAmp[inserttops]//Contract

The differential cross section

Squaring the amplitude, transforming the spin sums into traces and evaluating the traces:

ampFC

squaredamp=FermionSpinSum[ampFC ComplexConjugate[ampFC/.{μ1->ν1,μ2->ν2}]/.D->4//Expand]/.DiracTrace->Tr//DiracSimplify//Simplify

squaredampfinal=squaredamp//Contract//Simplify

samp=squaredampfinal//PropagatorDenominatorExplicit//MandelstamReduce[#,Masses->{ParticleMass[Electron,RenormalizationState[0]],ParticleMass[Electron,RenormalizationState[0]],ParticleMass[Electron,RenormalizationState[0]],ParticleMass[Electron,RenormalizationState[0]]},MandelstamCancel->MandelstamU]&//Simplify

The kinematical factor in the center of mass frame:

kinfac=(1/(64 (π^2)s));

The full differential cross section in the center of mass frame expressed in terms of Mandelstam variables:

dcrosssection[s_,t_,u_]:=(1/4)kinfac*samp/.{MandelstamS->s,MandelstamU->u,MandelstamT->t};

dcrosssection[s,t,u]

The formula usually quoted:

MoellerFormula=dcrosssection[s,t,u]/.{s->4 (ω^2),t->-2 q2(1-(Sqrt[1-((sin[θ])^2)]))}/.q2->(ω^2)-((ParticleMass[Fermion[7],RenormalizationState[0]])^2)//Simplify

TimeUsed[]