•Generation of coupling files

The amplitude is transformed to FeynArts notation:

mfa = FCToFA[melsimplified]

1/(12 f _ π^(ó    )) (p _ 2 _ μ _ 1 (5 δ _ (I _ 1  I _ 4) δ _ (I _ 2  I _ 3) + 5 δ _ (I _ 1  I _ 3) δ _ (I _ 2  I _ 4) - 10 δ _ (I _ 1  I _ 2) δ _ (I _ 3  I _ 4) - 3 f _ (I _ 1  I _ 4  k1) f _ (I _ 2  I _ 3  k1) - 3 f _ (I _ 1  I _ 3  k1) f _ (I _ 2  I _ 4  k1)) + p _ 3 _ μ _ 1 (5 δ _ (I _ 1  I _ 4) δ _ (I _ 2  I _ 3) - 10 δ _ (I _ 1  I _ 3) δ _ (I _ 2  I _ 4) + 5 δ _ (I _ 1  I _ 2) δ _ (I _ 3  I _ 4) + 3 f _ (I _ 1  I _ 4  k1) f _ (I _ 2  I _ 3  k1) - 3 f _ (I _ 1  I _ 2  k1) f _ (I _ 3  I _ 4  k1)) + p _ 4 _ μ _ 1 (-10 δ _ (I _ 1  I _ 4) δ _ (I _ 2  I _ 3) + 5 δ _ (I _ 1  I _ 3) δ _ (I _ 2  I _ 4) + 5 δ _ (I _ 1  I _ 2) δ _ (I _ 3  I _ 4) + 3 f _ (I _ 1  I _ 3  k1) f _ (I _ 2  I _ 4  k1) + 3 f _ (I _ 1  I _ 2  k1) f _ (I _ 3  I _ 4  k1)))

Terms are collected according to momenta:

mfacoll = MomentaCollect[mfa // Expand, ParticlesNumber -> 1, PerturbationOrder -> 1]

p _ 2 _ μ _ 1 ((5 δ _ (I _ 1  I _ 4) δ _ (I _ 2  I _ 3))/(12 f _ π^(ó    )) + (5 δ _ (I _ 1  I _ 3) δ _ (I _ 2  I _ 4))/(12 f _ π^(ó    )) - (5 δ _ (I _ 1  I _ 2) δ _ (I _ 3  I _ 4))/(6 f _ π^(ó    )) - (f _ (I _ 1  I _ 4  k1) f _ (I _ 2  I _ 3  k1))/(4 f _ π^(ó    )) - (f _ (I _ 1  I _ 3  k1) f _ (I _ 2  I _ 4  k1))/(4 f _ π^(ó    ))) + p _ 3 _ μ _ 1 ((5 δ _ (I _ 1  I _ 4) δ _ (I _ 2  I _ 3))/(12 f _ π^(ó    )) - (5 δ _ (I _ 1  I _ 3) δ _ (I _ 2  I _ 4))/(6 f _ π^(ó    )) + (5 δ _ (I _ 1  I _ 2) δ _ (I _ 3  I _ 4))/(12 f _ π^(ó    )) + (f _ (I _ 1  I _ 4  k1) f _ (I _ 2  I _ 3  k1))/(4 f _ π^(ó    )) - (f _ (I _ 1  I _ 2  k1) f _ (I _ 3  I _ 4  k1))/(4 f _ π^(ó    ))) + p _ 4 _ μ _ 1 (-(5 δ _ (I _ 1  I _ 4) δ _ (I _ 2  I _ 3))/(6 f _ π^(ó    )) + (5 δ _ (I _ 1  I _ 3) δ _ (I _ 2  I _ 4))/(12 f _ π^(ó    )) + (5 δ _ (I _ 1  I _ 2) δ _ (I _ 3  I _ 4))/(12 f _ π^(ó    )) + (f _ (I _ 1  I _ 3  k1) f _ (I _ 2  I _ 4  k1))/(4 f _ π^(ó    )) + (f _ (I _ 1  I _ 2  k1) f _ (I _ 3  I _ 4  k1))/(4 f _ π^(ó    )))

The coupling vectors are generated and saved:

gencoup = GenericCoupling[mfacoll] ; gencoup

{p _ 2 _ μ _ 1, p _ 3 _ μ _ 1, p _ 4 _ μ _ 1}

classcoup = ClassesCoupling[mfacoll] // Together ; classcoup // StandardForm

{{(5 SUNDelta[I1, I4] SUNDelta[I2, I3] + 5 SUNDelta[I1, I3] SUNDelta[I2, I4] - 10 SUNDelta[I1, I2] SUNDelta[I3, I4] - 3 SUNF[I1, I4, k1] SUNF[I2, I3, k1] - 3 SUNF[I1, I3, k1] SUNF[I2, I4, k1])/(12 DecayConstant[PseudoScalar[2], RenormalizationState[0]])}, {(5 SUNDelta[I1, I4] SUNDelta[I2, I3] - 10 SUNDelta[I1, I3] SUNDelta[I2, I4] + 5 SUNDelta[I1, I2] SUNDelta[I3, I4] + 3 SUNF[I1, I4, k1] SUNF[I2, I3, k1] - 3 SUNF[I1, I2, k1] SUNF[I3, I4, k1])/(12 DecayConstant[PseudoScalar[2], RenormalizationState[0]])}, {(-10 SUNDelta[I1, I4] SUNDelta[I2, I3] + 5 SUNDelta[I1, I3] SUNDelta[I2, I4] + 5 SUNDelta[I1, I2] SUNDelta[I3, I4] + 3 SUNF[I1, I3, k1] SUNF[I2, I4, k1] + 3 SUNF[I1, I2, k1] SUNF[I3, I4, k1])/(12 DecayConstant[PseudoScalar[2], RenormalizationState[0]])}}

With XFileName->Automatic, the coupling vectors are saved under names generated from the options specified or defaults.

$VeryVerbose = 2 ;

CheckF[gencoup, XName[VertexFields -> {AxialVector[0][0], PseudoScalar[2][0], PseudoScalar[2][0], PseudoScalar[2][0]}, PerturbationOrder -> 2, PhiModel -> ChPT2, XFileName -> Automatic] <> ".Gen"] ;

Using file name D:\\Program Files\\Wolfram Research\\Mathematica\\4.1\\AddOns\\Applications\\HighEnergyPhysics\\Phi\\CouplingVectors\\ChPT2A00P20P20P20o2.Gen

File exists, loading

CheckF[classcoup, XName[VertexFields -> {AxialVector[0][0], PseudoScalar[2][0], PseudoScalar[2][0], PseudoScalar[2][0]}, PerturbationOrder -> 2, PhiModel -> ChPT2, XFileName -> Automatic] <> ".Mod"] ;

Using file name D:\\Program Files\\Wolfram Research\\Mathematica\\4.1\\AddOns\\Applications\\HighEnergyPhysics\\Phi\\CouplingVectors\\ChPT2A00P20P20P20o2.Mod

File exists, loading

$VeryVerbose = 0 ;


Converted by Mathematica  (July 10, 2003)