Name: Vladyslav Shtabovenko Date: 02/02/17-04:49:09 PM Z
Hi Peter,
TID does not single out matrix elements like OneLoop. However, one can
easily do this afterwards.
If you want to have output like in OneLoop, just use
$BreitMaison = True;
num1 := SpinorUBar[p3, ms].GA[6].(GS[q] +
mt).GA[
7].PolarizationVector[
p2, \[Mu]].(2*FV[q, \[Mu]] +
2*FV[p1, \[Mu]] +
FV[p2, \[Mu]]).SpinorU[p1, mb] //
DiracSimplify
amp1 = num1*FAD[{q, mt}, {q + p1, mh}, {q + p1 + p2, mh}]
res1 = -I/Pi^2*TID[amp1, q, UsePaVeBasis -> True, ToPaVe -> True]
res2 = FCDiracIsolate[res1, Head -> StandardMatrixElement] //
Expand2[#, {StandardMatrixElement, Pair}] & //
ReplaceRepeated[#,
a_Pair StandardMatrixElement[b_] :>
StandardMatrixElement[a b]] & //
Collect2[#, StandardMatrixElement] &
var = Select[Variables[res2], (Head[#] ===
StandardMatrixElement) \&]
Some explanations: UsePaveBasis forces TID to decompose tensor loop
integrals in terms of PaVe coefficients functions. This makes the
result
more compact and is more convenient for numerical evaluation.
By default, TID tries to break everything down to the scalar integrals
A0, B0, C0, D0 etc. This is more convenient for analytic evaluation
but
takes more time and you may end up with huge kinematic prefactors.
FCDiracIsolate wraps all the Dirac structures in your expression with
the head StandardMatrixElement. Then a simple replacement rule is used
to pull scalar products inside StandardMatrixElement head. After that
your command works as expected. However,
Cases2[res2, StandardMatrixElement]
is actually faster to write.
BTW, note that unlike OneLoop, TID does not attempt to change the
dimension of your input expression. So when you write a GS[q],
it will
indeed be treated as a 4-dim Dirac slash, not a D-dim one. So always
make sure that the input expression is written with all dimensions
correct, as one would do it by hand.
Oh yeah, and don’t forget to check out
https://github.com/FeynCalc/feyncalc/commits/hotfix-stable
from time to time and reinstall the stable version of FeynCalc via the
automatic installer when there are fixes available, as explained in
https://github.com/FeynCalc/feyncalc/wiki/Installation#stable-version
If you are signed up on GitHub, one can watch the repository to be
notified about new commits (which is what I do for FORM, to know when
I
have to compile a new binary :) ).
Cheers,
Vladyslav
Am 02.02.2017 um 14:45 schrieb Peter Meinzinger:
> Hello,
> i’ve got a question regarding the “Head StandardMatrixElement”.
> I’m doing a one loop calculation and want to select the coefficients
of the matrix elements in a list.
> I solve the problem using the function TID and got information that
formerly, using the function OneLoop, it was possible to access the
coefficients by something like
>
>
var=Select[Variables[ans1],(Head[#]===StandardMatrixElement)\&]
>
> now this gives no output, though.
> Could you explain what has changed in TID’s output in regard to
OneLoop’s?
>
> Kind regards,
> Peter
>
> PS: I’m using version 9.2 (development version) and a example code
would be
>
>
> $BreitMaison = True
> num1 := SpinorUBar[p3, ms].GA[6].(GS[q] +
mt).GA[7].PolarizationVector[p2,
\[Mu]].(2*FV[q, \[Mu]] + 2*FV[p1,
\[Mu]] + FV[p2, \[Mu]]).SpinorU[p1,
mb] // DiracSimplify
>
> amp1 = num1*FAD[{q, mt}, {q + p1, mh}, {q + p1 + p2,
mh}]
>
> res1 = -I/Pi\.b2*TID[amp1 , q]
>
> var = Select[Variables[res1], (Head[#] ===
StandardMatrixElement) \&]
>