FORMSoft - An automated tool for 1-loop soft anomalous dimension calculation

git clone git://git.bcharge.de/FORMSoft.git

About | Log | Files | Refs

Soft.uutttt.frm (12604B)


#-
#:SmallSize 5000000
#:LargeSize 20000000
#:WorkSpace 50000000
#:MaxTermSize 300000
#:TermsInSmall 30000
*#:ContinuationLines 100000
off stats;
format 75;
auto s sM;
auto i iM;


#define HaveFermions "0"
#define FermionOrder "Automatic"
#define FermionChains "Weyl"
#define Gamma5Test "0"
#define Evanescent "0"
#define HaveSUN "1"
#define SUNN "3"

s pi,Alfa, Alfa2, Alfas, Alfas2, CA, CA2, CB, CB2, CBA, CBA2, CW, CW2, D,
  EL, GS, MA0, MA02, MA0tree, MA0tree2, MB, MB2, MC, MC2, MD, MD2, ME,
  ME2, MGl, MGl2, MH, Mh0, Mh02, Mh0tree, Mh0tree2, MH2, MHH, MHH2,
  MHHtree, MHHtree2, MHp, MHp2, MHptree, MHptree2, Mino3, Mino3C, ML,
  ML2, MM, MM2, MS, MS2, MT, MT2, MU, MU2, MW, MW2, MZ, MZ2, Pi, S,
  S34, T, T14, T24, TB, TB2, U;
cf Den,Denom, dirM, Hel, List, MASf, MASf2, MCha, MCha2, Mf, Mf2, MHiggs,
  MHiggs2, MHiggstree, MHiggstree2, MNeu, MNeu2, MSf, MSf2, pol, polc,
  SUNF, SUND, SUNSum, SUNT, SpinorU, SpinorUb, SpinorV, SpinorVb;
S eps,[L_beta],[alpha_s/pi],[L_1],[L_2],[L_3],[L_4];
S [L_beta_34], [L_beta_35], [L_beta_36], [L_beta_45], [L_beta_46], [L_beta_56];
S gamma,[ln(4*Pi)],[ln(v1.v3)],[ln(v1.v4)],[ln(v2.v3)],[ln(v2.v4)],[ln(v3.v5)],[ln(v4.v5)], [ln(v1.v5)],[ln(v1.v6)],[ln(v2.v5)],[ln(v2.v6)];
S [ln((v1.n)^2/n^2)],[ln((v2.n)^2/n^2)],[ln((v5.n)^2/n^2)],[ln(-v1.v2/2)],[ln(v1.v5/2)],[ln(v2.v5/2)];
S [ln(s/(2*MT^2))], [ln(1/2)], [ln(-1/2)], [ln(2)];
Auto S A;
d 4;



AutoDeclare I Dir=4, iM, Lor=4,ind;

#define LoopMomenta "q1,q2"

#define Vectors "`LoopMomenta',
  eta1,eta2,eta3,eta4,eta5,
  e1,e2,e3,e4,e5,
  ec1,ec2,ec3,ec4,ec5,
  z1,z2,z3,z4,z5,
  zc1,zc2,zc3,zc4,zc5,
  k1,k2,k3,k4,k5"
v `Vectors';

v k;
s m;
f g,g1,g2,dummy;
v g6,g7;

cf rat;

V v1,v2,v3,v4,v5,v6,l,n;
cf Ngluon;

S u;

Tensor Tr(cyclic),Tp,f(antisymmetric),ff(rcyclic), d(symmetric);
Function TM,TT;
Symbols a,nf,NF,NA,cF,cA,[cF-cA/6];
Dimension NA;
AutoDeclare  I j=NA,Glu=NA;
AutoDeclare  I n1=NA,m1=NA;
Dimension NF;
AutoDeclare I i=NF,Col=NF;
I iA=NF,iB=NF,iAb=NF,iBb=NF;

***************************************************
*  ____      _              _               _     *
* / ___|___ | | ___  _ __  | |__   __ _ ___(_)___ *
*| |   / _ \| |/ _ \| '__| | '_ \ / _` / __| / __|*
*| |__| (_) | | (_) | |    | |_) | (_| \__ \ \__ \*
* \____\___/|_|\___/|_|    |_.__/ \__,_|___/_|___/*
***************************************************

#define ColBasDim "6"
L proj1 = d_(Col1999,Col2999)*d_(Col3999,Col4999)*d_(Col5999,Col6999);
L proj2 = d_(Col1999,Col2999)*SUNT(Glu100,Col4999,Col3999)*SUNT(Glu100,Col6999,Col5999);
L proj3 = SUNT(Glu100,Col1999,Col2999)*d_(Col3999,Col4999)*SUNT(Glu100,Col6999,Col5999);
L proj4 = SUNT(Glu100,Col1999,Col2999)*SUNT(Glu100,Col4999,Col3999)*d_(Col5999,Col6999);
L proj5 = SUNT(Glu100,Col1999,Col2999)*SUNT(Glu101,Col4999,Col3999)*SUNT(Glu102,Col6999,Col5999)*SUND(Glu100,Glu101,Glu102);
L proj6 = SUNT(Glu100,Col1999,Col2999)*SUNT(Glu101,Col4999,Col3999)*SUNT(Glu102,Col6999,Col5999)*i_*SUNF(Glu100,Glu101,Glu102);

.sort
Skip;
#do i=1,`ColBasDim'
	L proj`i'b = proj`i';
#enddo
Multiply replace_(Col1999,Col1,Col2999,Col2,Col3999,Col3,Col4999,Col4,Col5999,Col5,Col6999,Col6,Glu100,Glu200,Glu101,Glu201,Glu102,Glu202);
id SUNT(Glu?,Col1?,Col2?) = SUNT(Glu,Col2,Col1);
id i_ = -i_;
.sort
#call SUn
id a = 1/2;
id NA = NF^2-1;
.sort

#do i=1,`ColBasDim'
#do j=1,`ColBasDim'
	G P`i'x`j' =
			proj`i' * proj`j'b*d_(Col1999,Col1)*d_(Col2999,Col2)*d_(Col3999,Col3)*d_(Col4999,Col4)*d_(Col5999,Col5)*d_(Col6999,Col6);
#enddo
#enddo
L t = d_(Col1,Col2)*d_(Col3,Col4)*d_(Col5,Col6)*d_(Col1,Col2)*SUNT(Glu300,Col4,Col3)*SUNT(Glu300,Col6,Col5);

#call SUn
id a = 1/2;
id NA = NF^2-1;
.sort
*******************************************
* !!!ONLY TRUE FOR THE DIAGONAL MATRIX!!! *
*******************************************
#do i=1,`ColBasDim'
#do j=1,`ColBasDim'
	L invP`i'x`j' = Denom(P`i'x`j');
#enddo
#enddo
id Denom(0) = 0;

.sort
Print;
.sort
Skip;

*
* partial amplitudes (kinematical parts)
*
*L A1x2 = (+v1(n1))/(-v1.l)*(-v2(m1))/(+v2.l)*Ngluon(n1,m1)/l.l;
*L A1x3 = (+v1(n1))/(+v1.l)*(+v3(m1))/(-v3.l)*Ngluon(n1,m1)/l.l;
*L A1x4 = (+v1(n1))/(+v1.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l;
*L A1x5 = (+v1(n1))/(+v1.l)*(+v5(m1))/(-v5.l)*Ngluon(n1,m1)/l.l;
*L A1x6 = (+v1(n1))/(+v1.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;
*L A2x3 = (-v2(n1))/(+v2.l)*(+v3(m1))/(-v3.l)*Ngluon(n1,m1)/l.l;
*L A2x4 = (-v2(n1))/(+v2.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l;
*L A2x5 = (-v2(n1))/(+v2.l)*(+v5(m1))/(-v5.l)*Ngluon(n1,m1)/l.l;
*L A2x6 = (-v2(n1))/(+v2.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;
*L A3x4 = (+v3(n1))/(+v3.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l;
*L A3x5 = (+v3(n1))/(+v3.l)*(+v5(m1))/(-v5.l)*Ngluon(n1,m1)/l.l;
*L A3x6 = (+v3(n1))/(+v3.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;
*L A4x5 = (-v4(n1))/(+v4.l)*(+v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l;
*L A4x6 = (-v4(n1))/(+v4.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;
*L A5x6 = (+v5(n1))/(+v5.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;

L   A1x2 = v1(n1)/(-v1.l)*(-v2(m1))/(v2.l)*Ngluon(n1,m1)/l.l;
L   A1x3 = v1(n1)/(v1.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l;
L   A1x4 = v1(n1)/(v1.l)*(-v4(m1))/(v4.l)*Ngluon(n1,m1)/l.l;
L   A1x5 = v1(n1)/(v1.l)*v5(m1)/(v5.l)*Ngluon(n1,m1)/l.l;
L   A1x6 = v1(n1)/(v1.l)*(-v6(m1))/(v6.l)*Ngluon(n1,m1)/l.l;
L   A2x3 = (-v2(n1))/(-v2.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l;
L   A2x4 = (-v2(n1))/(-v2.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l;
L   A2x5 = (-v2(n1))/(-v2.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l;
L   A2x6 = (-v2(n1))/(-v2.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;
L   A3x4 = v3(n1)/(-v3.l)*(-v4(m1))/(v4.l)*Ngluon(n1,m1)/l.l;
L   A3x5 = v3(n1)/(-v3.l)*(v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l;
L   A3x6 = v3(n1)/(-v3.l)*(-v6(m1))/(v6.l)*Ngluon(n1,m1)/l.l;
L   A4x5 = (-v4(n1))/(-v4.l)*(v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l;
L   A4x6 = (-v4(n1))/(-v4.l)*(-v6(m1))/(v6.l)*Ngluon(n1,m1)/l.l;
L   A5x6 = (+v5(n1))/(+v5.l)*(-v6(m1))/(-v6.l)*Ngluon(n1,m1)/l.l;


L   Self1 = v3(n1)/(v3.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l;
L   Self2 = (-v4(n1))/(v4.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l;
L   Self3 = v5(n1)/(v5.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l;
L   Self4 = v6(n1)/(v6.l)*v6(m1)/(-v6.l)*Ngluon(n1,m1)/l.l;


L C1x2 = SUNT(Glu99,Col1999,Col1)*SUNT(Glu99,Col2,Col2999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col5,Col5999)*d_(Col6,Col6999)*1;
L C1x3 = SUNT(Glu99,Col1999,Col1)*SUNT(Glu99,Col3,Col3999)*d_(Col2,Col2999)*d_(Col4,Col4999)*d_(Col5,Col5999)*d_(Col6,Col6999)*1;
L C1x4 = SUNT(Glu99,Col1999,Col1)*SUNT(Glu99,Col4999,Col4)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col5,Col5999)*d_(Col6,Col6999)*1;
L C1x5 = SUNT(Glu99,Col1999,Col1)*SUNT(Glu99,Col5,Col5999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col6,Col6999)*1;
L C1x6 = SUNT(Glu99,Col1999,Col1)*SUNT(Glu99,Col6999,Col6)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col5,Col5999)*1;
L C2x3 = SUNT(Glu99,Col2,Col2999)*SUNT(Glu99,Col3,Col3999)*d_(Col1,Col1999)*d_(Col4,Col4999)*d_(Col5,Col5999)*d_(Col6,Col6999)*1;
L C2x4 = SUNT(Glu99,Col2,Col2999)*SUNT(Glu99,Col4999,Col4)*d_(Col1,Col1999)*d_(Col3,Col3999)*d_(Col5,Col5999)*d_(Col6,Col6999)*1;
L C2x5 = SUNT(Glu99,Col2,Col2999)*SUNT(Glu99,Col5,Col5999)*d_(Col1,Col1999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col6,Col6999)*1;
L C2x6 = SUNT(Glu99,Col2,Col2999)*SUNT(Glu99,Col6999,Col6)*d_(Col1,Col1999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col5,Col5999)*1;
L C3x4 = SUNT(Glu99,Col3,Col3999)*SUNT(Glu99,Col4999,Col4)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col5,Col5999)*d_(Col6,Col6999)*1;
L C3x5 = SUNT(Glu99,Col3,Col3999)*SUNT(Glu99,Col5,Col5999)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col4,Col4999)*d_(Col6,Col6999)*1;
L C3x6 = SUNT(Glu99,Col3,Col3999)*SUNT(Glu99,Col6999,Col6)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col4,Col4999)*d_(Col5,Col5999)*1;
L C4x5 = SUNT(Glu99,Col4999,Col4)*SUNT(Glu99,Col5,Col5999)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col6,Col6999)*1;
L C4x6 = SUNT(Glu99,Col4999,Col4)*SUNT(Glu99,Col6999,Col6)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col5,Col5999)*1;
L C5x6 = SUNT(Glu99,Col5,Col5999)*SUNT(Glu99,Col6999,Col6)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col4,Col4999)*1;
L CSelf1 = SUNT(Glu99,Col203,Col3999)*SUNT(Glu99,Col3,Col203)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col4,Col4999)*d_(Col5,Col5999)*d_(Col6,Col6999);
L CSelf2 = SUNT(Glu99,Col204,Col4999)*SUNT(Glu99,Col4,Col204)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col5,Col5999)*d_(Col6,Col6999);
L CSelf3 = SUNT(Glu99,Col205,Col5999)*SUNT(Glu99,Col5,Col205)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col6,Col6999);
L CSelf4 = SUNT(Glu99,Col206,Col6999)*SUNT(Glu99,Col6,Col206)*d_(Col1,Col1999)*d_(Col2,Col2999)*d_(Col3,Col3999)*d_(Col4,Col4999)*d_(Col5,Col5999);


*id SUNT(Glu?,Col1?,Col2?) = SUNT(Glu,Col2,Col1);
.sort

#do i=1,`ColBasDim'
#do j=1,`ColBasDim'
L [S(alpha_s)_`i'x`j'] =  proj`i' * proj`j'b *
(
	+C1x2*A1x2
	+C1x3*A1x3
	+C1x4*A1x4
	+C1x5*A1x5
	+C1x6*A1x6
	+C2x3*A2x3
	+C2x4*A2x4
	+C2x5*A2x5
	+C2x6*A2x6
	+C3x4*A3x4
	+C3x5*A3x5
	+C3x6*A3x6
	+C4x5*A4x5
	+C4x6*A4x6
	+C5x6*A5x6
	+CSelf1*Self1/2
	+CSelf2*Self2/2
	+CSelf3*Self3/2
	+CSelf4*Self4/2
);
#enddo
#enddo

L test = Self1;
id Ngluon(n1?,m1?) = d_(n1,m1)-(l(n1)*n(m1)/n.l + n(n1)*l(m1)/n.l);
*                   +l(n1)*l(m1)/n.l^2*n.n;
.sort
*
*
* substituition of integrals; measure d^Dl/(2*Pi)^D;
* it als involves the prefactor (-i)*g^2 to obtain the powers of alpha_s
*
* the substitutions below assume:
* vA.vA=0, vB.vB=0, v1.v1=1, v2.v2=1
*

id v1.v2*l.l^-1*v1.l^-1*v2.l^-1 = + [alpha_s/pi] *
		( 2*eps^-2 - eps^-1*([ln(-v1.v2/2)] + gamma - [ln(4*Pi)]) );

id v1.v3*l.l^-1*v1.l^-1*v3.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v1.v3)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v1.v4*l.l^-1*v1.l^-1*v4.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v1.v4)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v1.v5*l.l^-1*v1.l^-1*v5.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v1.v5)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v1.v6*l.l^-1*v1.l^-1*v6.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v1.v6)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v2.v3*l.l^-1*v2.l^-1*v3.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v2.v3)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v2.v4*l.l^-1*v2.l^-1*v4.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v2.v4)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v2.v5*l.l^-1*v2.l^-1*v5.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v2.v5)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v2.v6*l.l^-1*v2.l^-1*v6.l^-1 =  + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*(2*[ln(v2.v6)]+[ln(s/(2*MT^2))] + gamma - [ln(4*Pi)]) );

id v3.v4*l.l^-1*v3.l^-1*v4.l^-1 = + [alpha_s/pi] * eps^-1 * [L_beta_34];

id v3.v5*l.l^-1*v3.l^-1*v5.l^-1 = + [alpha_s/pi] * eps^-1 * [L_beta_35];

id v3.v6*l.l^-1*v3.l^-1*v6.l^-1 = + [alpha_s/pi] * eps^-1 * [L_beta_36];

id v4.v5*l.l^-1*v4.l^-1*v5.l^-1 = + [alpha_s/pi] * eps^-1 * [L_beta_45];

id v4.v6*l.l^-1*v4.l^-1*v6.l^-1 = + [alpha_s/pi] * eps^-1 * [L_beta_46];

id v5.v6*l.l^-1*v5.l^-1*v6.l^-1 = + [alpha_s/pi] * eps^-1 * [L_beta_56];


id v1.n*l.l^-1*v1.l^-1*n.l^-1 = + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*([ln((v1.n)^2/n^2)] + gamma - [ln(4*Pi)]) );

id v2.n*l.l^-1*v2.l^-1*n.l^-1 = + [alpha_s/pi]/2 *
		( 2*eps^-2 - eps^-1*([ln((v2.n)^2/n^2)] + gamma - [ln(4*Pi)]) );

id v3.n*l.l^-1*v3.l^-1*n.l^-1 = - [alpha_s/pi] * eps^-1 * [L_1];

id v4.n*l.l^-1*v4.l^-1*n.l^-1 = - [alpha_s/pi] * eps^-1 * [L_2];

id v5.n*l.l^-1*v5.l^-1*n.l^-1 = - [alpha_s/pi] * eps^-1 * [L_3];

id v6.n*l.l^-1*v6.l^-1*n.l^-1 = - [alpha_s/pi] * eps^-1 * [L_4];


id v3.v3*l.l^-1*v3.l^-2 = - [alpha_s/pi] * eps^-1;

id v4.v4*l.l^-1*v4.l^-2 = - [alpha_s/pi] * eps^-1;

id v5.v5*l.l^-1*v5.l^-2 = - [alpha_s/pi] * eps^-1;

id v6.v6*l.l^-1*v6.l^-2 = - [alpha_s/pi] * eps^-1;

id n.n*l.l^-1*n.l^-2 = - [alpha_s/pi] * eps^-1;
.sort;

#do i=1,`ColBasDim'
#do j=1,`ColBasDim'
	#$summ = 0;
	#do k=1,`ColBasDim'
		#$summ = `$summ'+invP`i'x`k'*[S(alpha_s)_`k'x`j']*(-eps);
	#enddo
	G [G^qqttg_`i'x`j'] = `$summ';
#enddo
#enddo


#call SUn
id a = 1/2;
id NA = NF^2-1;
*id Denom(?k) = exp_(?k,-1);
.sort
Bracket Denom;
.sort
id NF^m? = dummy(NF^m);
repeat id m?*dummy(?k) = dummy(exp_(m,1)*exp_(?k,1));
*collect dummy;
.sort
PolyRatFun rat;
id dummy(?num)*Denom(?den)=rat(?num,?den);
.sort
PolyRatFun;
id rat(S?,T?) = S/T;
.sort
*B u;
*.sort
*L t = [Gamma(alpha_s)_1x1][u^10];
id dummy(?k) = exp_(?k,1);

id [ln((v1.n)^2/n^2)] = [ln(1/2)];
id [ln((v2.n)^2/n^2)] = [ln(1/2)];
id [ln(-v1.v2/2)] = [ln(-1/2)];

id [ln(1/2)] = -[ln(2)];
id [ln(-1/2)] = i_*pi-[ln(2)];

.sort
Print;
*B [L_1],[L_2],[L_3],[L_4];
AntiBracket NF;
.sort

.store

save Soft.sav;
.end