I have written a Mathematica program called
Package-X that can help you with your Dirac traces and loop calculation. I suggest after completing the calculation by hand, you check it with the output of Package-X.
Here is what the calculation might look like in your Mathematica notebook.
Copy the following into a blank Mathematica notebook for editable code:
[CODE title="Trace-PackageX.nb"]Notebook[{
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"<<", "X`"}]], "Input",
CellLabel->"In[1]:=",ExpressionUUID->"d68acd69-9e6f-4b16-be40-73037f22b7d6"],
Cell[BoxData["\<\"\\!\\(\\*TemplateBox[List[\\\"\\\\\\\"Package-X v2.1.1, by \
Hiren H. Patel\\\\\\\\nFor more information, see the \\\\\\\"\\\", \
TemplateBox[List[\\\"\\\\\\\"guide\\\\\\\"\\\", \\\"paclet:X/guide/PackageX\\\
\"], \\\"HyperlinkPaclet\\\"]], \\\"RowDefault\\\"]\\)\"\>"], "Print",
CellLabel->
"During evaluation of \
In[1]:=",ExpressionUUID->"befefef7-2330-4488-a63e-82744427c722"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"Spur", "[",
RowBox[{
SubscriptBox["\[Gamma]", "\[Mu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "-",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m1", " ", "\[DoubleStruckOne]"}]}], ",",
SubscriptBox["\[Gamma]", "\[Nu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "+",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m2", " ", "\[DoubleStruckOne]"}]}]}], "]"}]], "Input",
CellLabel->"In[2]:=",ExpressionUUID->"c1fd717f-9d65-4d47-8be3-7152b8684d0b"],
Cell[BoxData[
RowBox[{
RowBox[{"8", " ",
SubscriptBox["k", "\[Mu]"], " ",
SubscriptBox["k", "\[Nu]"]}], "-",
RowBox[{"2", " ",
SubscriptBox["q", "\[Mu]"], " ",
SubscriptBox["q", "\[Nu]"]}], "+",
RowBox[{"4", " ", "m1", " ", "m2", " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}], "-",
RowBox[{"4", " ",
RowBox[{"k", ".", "k"}], " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}], "+",
RowBox[{
RowBox[{"q", ".", "q"}], " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}]}]], "Output",
CellLabel->"Out[2]=",ExpressionUUID->"c7080a80-df67-433a-9f81-e826e245e4c9"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"%", "//", "TraditionalForm"}]], "Input",
CellLabel->"In[3]:=",ExpressionUUID->"a01137ae-5895-4b17-bb2d-77e1b5d0a83c"],
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"8", " ",
SuperscriptBox["k", "\[Mu]"], " ",
SuperscriptBox["k", "\[Nu]"]}], "-",
RowBox[{"4", " ",
SuperscriptBox["k", "2"], " ",
SuperscriptBox["\[ScriptG]",
RowBox[{"\[Mu]", "\[InvisibleComma]", "\[Nu]"}]]}], "+",
RowBox[{"4", " ", "m1", " ", "m2", " ",
SuperscriptBox["\[ScriptG]",
RowBox[{"\[Mu]", "\[InvisibleComma]", "\[Nu]"}]]}], "-",
RowBox[{"2", " ",
SuperscriptBox["q", "\[Mu]"], " ",
SuperscriptBox["q", "\[Nu]"]}], "+",
RowBox[{
SuperscriptBox["q", "2"], " ",
SuperscriptBox["\[ScriptG]",
RowBox[{"\[Mu]", "\[InvisibleComma]", "\[Nu]"}]]}]}],
TraditionalForm]], "Output",
CellLabel->
"Out[3]//TraditionalForm=",ExpressionUUID->"26103d2a-5388-4778-ab7e-\
3f50f76001f2"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"LoopIntegrate", "[",
RowBox[{
RowBox[{"Spur", "[",
RowBox[{
SubscriptBox["\[Gamma]", "\[Mu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "-",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m1", " ", "\[DoubleStruckOne]"}]}], ",",
SubscriptBox["\[Gamma]", "\[Nu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "+",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m2", " ", "\[DoubleStruckOne]"}]}]}], "]"}], ",", "k", ",",
RowBox[{"{",
RowBox[{
RowBox[{"k", "-",
RowBox[{"q", "/", "2"}]}], ",", "m1"}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"k", "+",
RowBox[{"q", "/", "2"}]}], ",", "m2"}], "}"}]}], "]"}], "/.",
RowBox[{
RowBox[{"m2", "|", "m1"}], "\[Rule]", "m"}]}], "//",
"LoopRefine"}]], "Input",
CellLabel->"In[4]:=",ExpressionUUID->"26c2c3b2-c443-45d6-985b-d7d5004495c0"],
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"-",
FractionBox[
RowBox[{"4", " ",
RowBox[{"DiscB", "[",
RowBox[{
RowBox[{"q", ".", "q"}], ",", "m", ",", "m"}], "]"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"2", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"q", ".", "q"}]}], ")"}]}],
RowBox[{"3", " ",
RowBox[{"q", ".", "q"}]}]]}], "-",
FractionBox[
RowBox[{"4", " ",
RowBox[{"(",
RowBox[{
RowBox[{"12", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"5", " ",
RowBox[{"q", ".", "q"}]}]}], ")"}]}],
RowBox[{"9", " ",
RowBox[{"q", ".", "q"}]}]], "-",
RowBox[{
FractionBox["4", "3"], " ",
RowBox[{"(",
RowBox[{
FractionBox["1", "\[Epsilon]"], "+",
RowBox[{"Log", "[",
FractionBox[
SuperscriptBox["\[Micro]", "2"],
SuperscriptBox["m", "2"]], "]"}]}], ")"}]}]}], ")"}], " ",
SubscriptBox["q", "\[Mu]"], " ",
SubscriptBox["q", "\[Nu]"]}], "+",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{
FractionBox["4", "3"], " ",
RowBox[{"DiscB", "[",
RowBox[{
RowBox[{"q", ".", "q"}], ",", "m", ",", "m"}], "]"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"2", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"q", ".", "q"}]}], ")"}]}], "+",
RowBox[{
FractionBox["4", "9"], " ",
RowBox[{"(",
RowBox[{
RowBox[{"12", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"5", " ",
RowBox[{"q", ".", "q"}]}]}], ")"}]}], "+",
RowBox[{
FractionBox["4", "3"], " ",
RowBox[{"q", ".", "q"}], " ",
RowBox[{"(",
RowBox[{
FractionBox["1", "\[Epsilon]"], "+",
RowBox[{"Log", "[",
FractionBox[
SuperscriptBox["\[Micro]", "2"],
SuperscriptBox["m", "2"]], "]"}]}], ")"}]}]}], ")"}], " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}]}]], "Output",
CellLabel->"Out[4]=",ExpressionUUID->"b84b5d35-33bc-4be1-97fe-7f6dcc187173"]
}, Open ]]
},
WindowSize->{676, 876},
WindowMargins->{{Automatic, 626}, {Automatic, 156}},
FrontEndVersion->"12.0 for Mac OS X x86 (64-bit) (April 8, 2019)",
StyleDefinitions->"Default.nb"
]
[/CODE]