Date: 11/04/15-06:58:32 PM Z

Am 04.11.2015 um 18:45 schrieb Xing:
> Thank you very much.
> But TID reduces everything into scalar integrals, which could be sort of lengthy. I wonder if there is a function other than the "legacy" OneLoop that can give tensor coefficients instead of scalar integrals.

Of course. This is what the option UsePaVeBasis and the function ToPaVe
are for.

In your example there is nothing to reduce, since the q1^2 term in the
nominator can be knocked off by trivial partial fractioning. Hence,
your result consists of only Passarino-Veltman *scalar* functions (e.g.
A0,B0,C0,D0) .

If you want, you can convert the resulting scalar integrals to this form
explicitly:

TID[SP[q1, q1] FAD[{q1, m1}, {q1 + kk1, m2}, {q1 + kk2, m3}], q1] //
ToPaVe[#, q1] &

Now suppose that you would have a q1.q1^3 there. Then you need a proper
reduction. As you wrote, the reduction into scalar integrals is quite
lengthy. With

TID[SP[q1, q1]^3 FAD[{q1, m1}, {q1 + kk1, m2}, {q1 + kk2, m3}], q1,
UsePaVeBasis -> True] // ToPaVe[#, q1] &

you get the quick result entirely in terms of the PaVe coefficient
functions.

Notice that the result also contains some non-loop terms, because
FeynCalc knows some relations between different PaVe functions (there
are plenty of those described in papers by Denner and Dittmaier, see
https://github.com/FeynCalc/feyncalc/wiki/Literature). You can "disable"
this "knowledge" by setting \$LimitTo4 = False:

\$LimitTo4 = False
TID[SP[q1, q1]^3 FAD[{q1, m1}, {q1 + kk1, m2}, {q1 + kk2, m3}], q1,
UsePaVeBasis -> True] // ToPaVe[#, q1] &

gives a very compact result.

Cheers,