new Code in DHELAS
Hello,
I'm using MadGraph-generated code for calculating matrix elements for different processes. Until now I used Version 1.5.3 and now I implemented code from the newer Version 1.5.11, which gives me totally different results. The difference occures in the subroutines in DHELAS (e.g. FFV2_3.f, VVS2_3.f, ...). Is there somewhere a documentation of this code or of the version changes?
If you need more specific information what I generated then please tell me!
Thank you in advace!
Best regards,
Adam
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Olivier Mattelaer
- Solved:
- Last query:
- Last reply:
Revision history for this message
|
#1 |
Hi Adam,
The routine present in DHELAS are inspire by the following paper: KEK-91-11
The code creating actually the DHELAS routine is ALOHA: ARXIV:1108.2041
That code have been improved and some of the change have been described in the following paper: arxiv:1308.1668
Otherwise all changes to ALOHA code are reported in the UpdateNote of MG5. This is the notes related to ALOHA between your two versions:
1.5.9: OM: Support of new UFO convention allowing to define custom propagator.
1.5.8 (05/05/13) OM: Fix critical bug introduce in 1.5.0. ALOHA was wrongly written
1.5.5: OM: Fixed Bug #1077877. Aloha crashing for pseudo-scalar, 3 bosons
1.5.4: OM: Fix a compilation crash due to aloha (thanks Tim T)
Now note that ALOHA doesn't have any fix convention on the meaning of FFV2_3 for two different model this function can have two different meaning,
so if your model change (or simply the way the code is written for a given model), the meaning of the function can change as well.
> If you need more specific information what I generated then please tell me!
That might be great to know
1) what is your process/ model/cuts/ parameters (i.e. everything I need to reproduce the problem)
2) What do you mean by totally different? Did you compute cross via MG5 and have two different results? or did you play with those files in a non automatic way?
Cheers,
Olivier
On Aug 26, 2013, at 11:21 AM, Adam Kaluza <email address hidden> wrote:
> New question #234650 on MadGraph5:
> https:/
>
> Hello,
>
> I'm using MadGraph-generated code for calculating matrix elements for different processes. Until now I used Version 1.5.3 and now I implemented code from the newer Version 1.5.11, which gives me totally different results. The difference occures in the subroutines in DHELAS (e.g. FFV2_3.f, VVS2_3.f, ...). Is there somewhere a documentation of this code or of the version changes?
>
> If you need more specific information what I generated then please tell me!
> Thank you in advace!
>
> Best regards,
> Adam
>
> --
> You received this question notification because you are a member of
> MadTeam, which is an answer contact for MadGraph5.
Revision history for this message
|
#2 |
Hi Olivier,
thank you very much so far! I will have a look into the papers.
The model I used is heft and the process:
p p > h , h > w+ w- > e+ ve mu- vm~
From my own code I have an adapter to use the MadGraph output as calculator for the matrixelement. So the parameters are the standard ones (the Higgs mass and width can I adjust via my code.) And there are no cuts applied. I deliver only the four momenta of the gluons, leptons and neutrinos and as output I get the matrixelement.
As example the different subroutines for FFV2_3: (diff -yw)
old new
C This File is Automatically generated by ALOHA C This File is Automatically generated by ALOHA
C The process calculated in this file is: C The process calculated in this file is:
C Gamma(3,
C C
SUBROUTINE FFV2_3(F1, F2, COUP, M3, W3, V3) SUBROUTINE FFV2_3(F1, F2, COUP, M3, W3,V3)
IMPLICIT NONE IMPLICIT NONE
DOUBLE COMPLEX F1(*) | COMPLEX*16 CI
DOUBLE COMPLEX F2(*) | PARAMETER (CI=(0D0,1D0))
DOUBLE COMPLEX V3(*) | COMPLEX*16 DENOM
DOUBLE COMPLEX COUP | COMPLEX*16 V3(6)
DOUBLE COMPLEX DENOM | REAL*8 W3
DOUBLE PRECISION M3, W3 | COMPLEX*16 TMP0
DOUBLE COMPLEX OM3 | REAL*8 P3(0:3)
DOUBLE PRECISION P3(0:3) | REAL*8 M3
| COMPLEX*16 F1(*)
V3(5)= -F1(5)+F2(5) | COMPLEX*16 F2(*)
V3(6)= -F1(6)+F2(6) | REAL*8 OM3
P3(0) = - DBLE(V3(5)) | COMPLEX*16 COUP
P3(1) = - DBLE(V3(6)) <
P3(2) = - DIMAG(V3(6)) <
P3(3) = - DIMAG(V3(5)) <
OM3 = 0D0 OM3 = 0D0
IF (M3 .NE. 0D0) OM3=1D0/M3**2 IF (M3.NE.0D0) OM3=1D0/M3**2
| V3(1) = +F1(1)+F2(1)
DENOM =1D0/(( (M3*( -M3+(0, 1)*W3))+( (P3(0)**2)-(P3(1) | V3(2) = +F1(2)+F2(2)
$ -(P3(2)
V3(1)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3( | P3(1) = -DBLE(V3(2))
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)))))+(F1(2) | P3(2) = -DIMAG(V3(2))
$ *( (0, 1)*P3(1)
$ )*P3(0))+( (0, -1)*(F2(
V3(2)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3( | $ +F1(4)*
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)))))+(F1(2) | DENOM = COUP/(P3(
$ *( (0, 1)*P3(1)
$ )*P3(1))+( (0, 1)*(F2(
V3(3)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3( | V3(4)= DENOM*-
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)))))+(F1(2) | V3(5)= DENOM*-
$ *( (0, 1)*P3(1)
$ )*P3(2))+( -(F2(4)
V3(4)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3( <
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)))))+(F1(2) <
$ *( (0, 1)*P3(1)
$ )*P3(3))+( (0, 1)*(F2(
END END
Thank you!
Cheers,
Adam
Revision history for this message
|
#3 |
Sorry, the Code is displayed badly...
Old:
C This File is Automatically generated by ALOHA
C The process calculated in this file is:
C Gamma(3,
C
SUBROUTINE FFV2_3(F1, F2, COUP, M3, W3, V3)
IMPLICIT NONE
DOUBLE COMPLEX F1(*)
DOUBLE COMPLEX F2(*)
DOUBLE COMPLEX V3(*)
DOUBLE COMPLEX COUP
DOUBLE COMPLEX DENOM
DOUBLE PRECISION M3, W3
DOUBLE COMPLEX OM3
DOUBLE PRECISION P3(0:3)
V3(5)= -F1(5)+F2(5)
V3(6)= -F1(6)+F2(6)
P3(0) = - DBLE(V3(5))
P3(1) = - DBLE(V3(6))
P3(2) = - DIMAG(V3(6))
P3(3) = - DIMAG(V3(5))
OM3 = 0D0
IF (M3 .NE. 0D0) OM3=1D0/M3**2
DENOM =1D0/(( (M3*( -M3+(0, 1)*W3))+( (P3(0)*
$ -(P3(2)
V3(1)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3(1)
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)
$ *( (0, 1)*P3(1)
$ )*P3(0))+( (0, -1)*(F2(
V3(2)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3(1)
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)
$ *( (0, 1)*P3(1)
$ )*P3(1))+( (0, 1)*(F2(
V3(3)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3(1)
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)
$ *( (0, 1)*P3(1)
$ )*P3(2))+( -(F2(4)
V3(4)= COUP*DENOM*( (OM3*( (F1(1)*( (F2(4)*( (0, 1)*P3(1)
$ -P3(2)))+(F2(3)*( (0, 1)*P3(0)+(0, 1)*P3(3)
$ *( (0, 1)*P3(1)
$ )*P3(3))+( (0, 1)*(F2(
END
new:
C This File is Automatically generated by ALOHA
C The process calculated in this file is:
C Gamma(3,
C
SUBROUTINE FFV2_3(F1, F2, COUP, M3, W3,V3)
IMPLICIT NONE
COMPLEX*16 CI
PARAMETER (CI=(0D0,1D0))
COMPLEX*16 DENOM
COMPLEX*16 V3(6)
REAL*8 W3
COMPLEX*16 TMP0
REAL*8 P3(0:3)
REAL*8 M3
COMPLEX*16 F1(*)
COMPLEX*16 F2(*)
REAL*8 OM3
COMPLEX*16 COUP
OM3 = 0D0
IF (M3.NE.0D0) OM3=1D0/M3**2
V3(1) = +F1(1)+F2(1)
V3(2) = +F1(2)+F2(2)
P3(0) = -DBLE(V3(1))
P3(1) = -DBLE(V3(2))
P3(2) = -DIMAG(V3(2))
P3(3) = -DIMAG(V3(1))
TMP0 = (F1(3)*
$ +F1(4)*
DENOM = COUP/(P3(
$ -CI* W3))
V3(3)= DENOM*-
V3(4)= DENOM*-
V3(5)= DENOM*-
$ *TMP0)
V3(6)= DENOM*-
END
Revision history for this message
|
#4 |
Hi,
Yes all those changes are done on purpose.
1) the momenta are now the two first component (easier to handle for loop computation)
2) the convention for the momentum of fermion change
3) the expression is compute in a nicer way.
The point is that the matrix-element should be the same at the end. isn't it?
Revision history for this message
|
#5 |
Thank you for you help. The matrix elements are the same now (I found a small bug in the implementation).
Cheers,
Adam