Merge lp:~maddevelopers/mg5amcnlo/2.2.0_last_minute_fix into lp:~maddevelopers/mg5amcnlo/2.2.0

Proposed by Valentin Hirschi
Status: Merged
Merged at revision: 340
Proposed branch: lp:~maddevelopers/mg5amcnlo/2.2.0_last_minute_fix
Merge into: lp:~maddevelopers/mg5amcnlo/2.2.0
Diff against target: 408 lines (+103/-23)
11 files modified
Template/NLO/SubProcesses/check_poles.f (+13/-3)
madgraph/iolibs/template_files/loop/check_sa.inc (+9/-2)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/check_sa.f (+9/-2)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/check_sa.f (+9/-2)
To merge this branch: bzr merge lp:~maddevelopers/mg5amcnlo/2.2.0_last_minute_fix
Reviewer Review Type Date Requested Status
Rikkert Frederix Approve
Olivier Mattelaer Pending
Review via email: mp+235735@code.launchpad.net

Description of the change

Both check_sa.f (for MadLoop standalone runs) and check_poles.f fail and crash for processes with external particles whose mass sum to an energy larger than the one hardcoded in these two files.

This fix solves this issue by dynamically choosing the relevant energy for the RAMBO generation based on the sum of external particle masses (for check_sa.f) and also the beam energy in the run_card (for check_poles.f). It is also desirable in check_poles.f to generate phase-space points as characteristic of the actual run as possible, because this is where the Helicity filter is setup and they must be applicable for the actual run as well.

Anyway, it is a small change but since we had decided to have 2.2.0 frozen for release of friday, I propose the merging of the quick fix so that you can reject it if you find it not safe enough.
I put you Olivier and Rik as reviewers, since you have been the one actively involved in the testing of 2.2.0 and therefore most concerned by this last minute change.

To post a comment you must log in.
Revision history for this message
Rikkert Frederix (frederix) wrote :

I'm okay with the merge, but this should really be the very last fix... We have to get 2.2.0 out asap. It's been way too long.

Olivier, if you approve as well, can you create the release?

Cheers,
Rik

review: Approve
Revision history for this message
Valentin Hirschi (valentin-hirschi) wrote :

I proceeded with the merge, but I can very easily revert things if you vote against it Olivier.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Template/NLO/SubProcesses/check_poles.f'
2--- Template/NLO/SubProcesses/check_poles.f 2014-09-02 12:20:56 +0000
3+++ Template/NLO/SubProcesses/check_poles.f 2014-09-24 01:10:08 +0000
4@@ -17,8 +17,6 @@
5 double precision accuracy
6 parameter (tolerance_default = 1d-5)
7 double precision ren_scale, energy
8- parameter (ren_scale = 1d2)
9- parameter (energy = 1d3)
10 include 'genps.inc'
11 include 'nexternal.inc'
12 include 'nFKSconfigs.inc'
13@@ -30,6 +28,7 @@
14 double precision, allocatable :: virt_wgts(:,:)
15 double precision double, single, finite
16 double complex born(2)
17+ double precision totmass
18 logical calculatedborn
19 common/ccalculatedborn/calculatedborn
20 logical fksprefact
21@@ -72,7 +71,18 @@
22 call printout !Prints out a summary of paramaters
23 call run_printout !Prints out a summary of the run settings
24 include 'pmass.inc'
25-
26+
27+
28+c Set the energy to be characteristic of the run
29+ totmass = 0.0d0
30+ do i=1,nexternal
31+ totmass = totmass + pmass(i)
32+ enddo
33+ energy = max((ebeam(1)+ebeam(2))/2.0d0,2.0d0*totmass)
34+c Set the renormalization scale to be of the order of sqrt(s) but
35+c not equal to it so as to be sensitive to all logs in the check.
36+ ren_scale = energy/2.0d0
37+
38 write(*,*)' Insert the number of points to test'
39 read(*,*) npoints
40 write(*,*)'Insert the relative tolerance'
41
42=== modified file 'madgraph/iolibs/template_files/loop/check_sa.inc'
43--- madgraph/iolibs/template_files/loop/check_sa.inc 2014-05-28 22:06:22 +0000
44+++ madgraph/iolibs/template_files/loop/check_sa.inc 2014-09-24 01:10:08 +0000
45@@ -40,7 +40,7 @@
46 REAL*8 P(0:3,NEXTERNAL)
47 INTEGER MATELEM_ARRAY_DIM
48 REAL*8 , allocatable :: MATELEM(:,:)
49- REAL*8 SQRTS,AO2PI
50+ REAL*8 SQRTS,AO2PI,TOTMASS
51 C sqrt(s)= center of mass energy
52 REAL*8 PIN(0:3), POUT(0:3)
53 CHARACTER*120 BUFF(NEXTERNAL)
54@@ -129,8 +129,12 @@
55 IF(nincoming.EQ.1) THEN
56 SQRTS=PMASS(1)
57 ELSE
58+ TOTMASS = 0.0d0
59+ DO I=1,NEXTERNAL
60+ TOTMASS = TOTMASS + PMASS(I)
61+ ENDDO
62 C CMS energy in GEV
63- SQRTS=1000d0
64+ SQRTS=max(1000d0,2.0d0*TOTMASS)
65 ENDIF
66
67 call printout()
68@@ -343,6 +347,9 @@
69 C write (*,*) "Matrix element = ", MATELEM(1), " GeV^",-(2*nexternal-8)
70 C write (*,*) "-------------------------------------------------"
71
72+ DEALLOCATE(MATELEM)
73+ DEALLOCATE(PREC_FOUND)
74+
75 end
76
77
78
79=== modified file 'tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%check_sa.f'
80--- tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%check_sa.f 2014-08-01 02:42:59 +0000
81+++ tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%check_sa.f 2014-09-24 01:10:08 +0000
82@@ -44,7 +44,7 @@
83 REAL*8 P(0:3,NEXTERNAL)
84 INTEGER MATELEM_ARRAY_DIM
85 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
86- REAL*8 SQRTS,AO2PI
87+ REAL*8 SQRTS,AO2PI,TOTMASS
88 C sqrt(s)= center of mass energy
89 REAL*8 PIN(0:3), POUT(0:3)
90 CHARACTER*120 BUFF(NEXTERNAL)
91@@ -140,8 +140,12 @@
92 IF(NINCOMING.EQ.1) THEN
93 SQRTS=PMASS(1)
94 ELSE
95+ TOTMASS = 0.0D0
96+ DO I=1,NEXTERNAL
97+ TOTMASS = TOTMASS + PMASS(I)
98+ ENDDO
99 C CMS energy in GEV
100- SQRTS=1000D0
101+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
102 ENDIF
103
104 CALL PRINTOUT()
105@@ -409,6 +413,9 @@
106 C l-8)
107 C write (*,*) "-------------------------------------------------"
108
109+ DEALLOCATE(MATELEM)
110+ DEALLOCATE(PREC_FOUND)
111+
112 END
113
114
115
116=== modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f'
117--- tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f 2014-05-30 22:18:01 +0000
118+++ tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f 2014-09-24 01:10:08 +0000
119@@ -44,7 +44,7 @@
120 REAL*8 P(0:3,NEXTERNAL)
121 INTEGER MATELEM_ARRAY_DIM
122 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
123- REAL*8 SQRTS,AO2PI
124+ REAL*8 SQRTS,AO2PI,TOTMASS
125 C sqrt(s)= center of mass energy
126 REAL*8 PIN(0:3), POUT(0:3)
127 CHARACTER*120 BUFF(NEXTERNAL)
128@@ -140,8 +140,12 @@
129 IF(NINCOMING.EQ.1) THEN
130 SQRTS=PMASS(1)
131 ELSE
132+ TOTMASS = 0.0D0
133+ DO I=1,NEXTERNAL
134+ TOTMASS = TOTMASS + PMASS(I)
135+ ENDDO
136 C CMS energy in GEV
137- SQRTS=1000D0
138+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
139 ENDIF
140
141 CALL PRINTOUT()
142@@ -399,6 +403,9 @@
143 C l-8)
144 C write (*,*) "-------------------------------------------------"
145
146+ DEALLOCATE(MATELEM)
147+ DEALLOCATE(PREC_FOUND)
148+
149 END
150
151
152
153=== modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/check_sa.f'
154--- tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/check_sa.f 2014-05-30 22:18:01 +0000
155+++ tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/check_sa.f 2014-09-24 01:10:08 +0000
156@@ -44,7 +44,7 @@
157 REAL*8 P(0:3,NEXTERNAL)
158 INTEGER MATELEM_ARRAY_DIM
159 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
160- REAL*8 SQRTS,AO2PI
161+ REAL*8 SQRTS,AO2PI,TOTMASS
162 C sqrt(s)= center of mass energy
163 REAL*8 PIN(0:3), POUT(0:3)
164 CHARACTER*120 BUFF(NEXTERNAL)
165@@ -140,8 +140,12 @@
166 IF(NINCOMING.EQ.1) THEN
167 SQRTS=PMASS(1)
168 ELSE
169+ TOTMASS = 0.0D0
170+ DO I=1,NEXTERNAL
171+ TOTMASS = TOTMASS + PMASS(I)
172+ ENDDO
173 C CMS energy in GEV
174- SQRTS=1000D0
175+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
176 ENDIF
177
178 CALL PRINTOUT()
179@@ -399,6 +403,9 @@
180 C l-8)
181 C write (*,*) "-------------------------------------------------"
182
183+ DEALLOCATE(MATELEM)
184+ DEALLOCATE(PREC_FOUND)
185+
186 END
187
188
189
190=== modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/check_sa.f'
191--- tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/check_sa.f 2014-05-30 22:18:01 +0000
192+++ tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/check_sa.f 2014-09-24 01:10:08 +0000
193@@ -44,7 +44,7 @@
194 REAL*8 P(0:3,NEXTERNAL)
195 INTEGER MATELEM_ARRAY_DIM
196 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
197- REAL*8 SQRTS,AO2PI
198+ REAL*8 SQRTS,AO2PI,TOTMASS
199 C sqrt(s)= center of mass energy
200 REAL*8 PIN(0:3), POUT(0:3)
201 CHARACTER*120 BUFF(NEXTERNAL)
202@@ -140,8 +140,12 @@
203 IF(NINCOMING.EQ.1) THEN
204 SQRTS=PMASS(1)
205 ELSE
206+ TOTMASS = 0.0D0
207+ DO I=1,NEXTERNAL
208+ TOTMASS = TOTMASS + PMASS(I)
209+ ENDDO
210 C CMS energy in GEV
211- SQRTS=1000D0
212+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
213 ENDIF
214
215 CALL PRINTOUT()
216@@ -401,6 +405,9 @@
217 C l-8)
218 C write (*,*) "-------------------------------------------------"
219
220+ DEALLOCATE(MATELEM)
221+ DEALLOCATE(PREC_FOUND)
222+
223 END
224
225
226
227=== modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/check_sa.f'
228--- tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/check_sa.f 2014-05-30 22:18:01 +0000
229+++ tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/check_sa.f 2014-09-24 01:10:08 +0000
230@@ -44,7 +44,7 @@
231 REAL*8 P(0:3,NEXTERNAL)
232 INTEGER MATELEM_ARRAY_DIM
233 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
234- REAL*8 SQRTS,AO2PI
235+ REAL*8 SQRTS,AO2PI,TOTMASS
236 C sqrt(s)= center of mass energy
237 REAL*8 PIN(0:3), POUT(0:3)
238 CHARACTER*120 BUFF(NEXTERNAL)
239@@ -140,8 +140,12 @@
240 IF(NINCOMING.EQ.1) THEN
241 SQRTS=PMASS(1)
242 ELSE
243+ TOTMASS = 0.0D0
244+ DO I=1,NEXTERNAL
245+ TOTMASS = TOTMASS + PMASS(I)
246+ ENDDO
247 C CMS energy in GEV
248- SQRTS=1000D0
249+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
250 ENDIF
251
252 CALL PRINTOUT()
253@@ -401,6 +405,9 @@
254 C l-8)
255 C write (*,*) "-------------------------------------------------"
256
257+ DEALLOCATE(MATELEM)
258+ DEALLOCATE(PREC_FOUND)
259+
260 END
261
262
263
264=== modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/check_sa.f'
265--- tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/check_sa.f 2014-05-30 22:18:01 +0000
266+++ tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/check_sa.f 2014-09-24 01:10:08 +0000
267@@ -44,7 +44,7 @@
268 REAL*8 P(0:3,NEXTERNAL)
269 INTEGER MATELEM_ARRAY_DIM
270 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
271- REAL*8 SQRTS,AO2PI
272+ REAL*8 SQRTS,AO2PI,TOTMASS
273 C sqrt(s)= center of mass energy
274 REAL*8 PIN(0:3), POUT(0:3)
275 CHARACTER*120 BUFF(NEXTERNAL)
276@@ -140,8 +140,12 @@
277 IF(NINCOMING.EQ.1) THEN
278 SQRTS=PMASS(1)
279 ELSE
280+ TOTMASS = 0.0D0
281+ DO I=1,NEXTERNAL
282+ TOTMASS = TOTMASS + PMASS(I)
283+ ENDDO
284 C CMS energy in GEV
285- SQRTS=1000D0
286+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
287 ENDIF
288
289 CALL PRINTOUT()
290@@ -399,6 +403,9 @@
291 C l-8)
292 C write (*,*) "-------------------------------------------------"
293
294+ DEALLOCATE(MATELEM)
295+ DEALLOCATE(PREC_FOUND)
296+
297 END
298
299
300
301=== modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/check_sa.f'
302--- tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/check_sa.f 2014-05-30 22:18:01 +0000
303+++ tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/check_sa.f 2014-09-24 01:10:08 +0000
304@@ -44,7 +44,7 @@
305 REAL*8 P(0:3,NEXTERNAL)
306 INTEGER MATELEM_ARRAY_DIM
307 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
308- REAL*8 SQRTS,AO2PI
309+ REAL*8 SQRTS,AO2PI,TOTMASS
310 C sqrt(s)= center of mass energy
311 REAL*8 PIN(0:3), POUT(0:3)
312 CHARACTER*120 BUFF(NEXTERNAL)
313@@ -140,8 +140,12 @@
314 IF(NINCOMING.EQ.1) THEN
315 SQRTS=PMASS(1)
316 ELSE
317+ TOTMASS = 0.0D0
318+ DO I=1,NEXTERNAL
319+ TOTMASS = TOTMASS + PMASS(I)
320+ ENDDO
321 C CMS energy in GEV
322- SQRTS=1000D0
323+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
324 ENDIF
325
326 CALL PRINTOUT()
327@@ -399,6 +403,9 @@
328 C l-8)
329 C write (*,*) "-------------------------------------------------"
330
331+ DEALLOCATE(MATELEM)
332+ DEALLOCATE(PREC_FOUND)
333+
334 END
335
336
337
338=== modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/check_sa.f'
339--- tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/check_sa.f 2014-05-30 22:18:01 +0000
340+++ tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/check_sa.f 2014-09-24 01:10:08 +0000
341@@ -44,7 +44,7 @@
342 REAL*8 P(0:3,NEXTERNAL)
343 INTEGER MATELEM_ARRAY_DIM
344 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
345- REAL*8 SQRTS,AO2PI
346+ REAL*8 SQRTS,AO2PI,TOTMASS
347 C sqrt(s)= center of mass energy
348 REAL*8 PIN(0:3), POUT(0:3)
349 CHARACTER*120 BUFF(NEXTERNAL)
350@@ -140,8 +140,12 @@
351 IF(NINCOMING.EQ.1) THEN
352 SQRTS=PMASS(1)
353 ELSE
354+ TOTMASS = 0.0D0
355+ DO I=1,NEXTERNAL
356+ TOTMASS = TOTMASS + PMASS(I)
357+ ENDDO
358 C CMS energy in GEV
359- SQRTS=1000D0
360+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
361 ENDIF
362
363 CALL PRINTOUT()
364@@ -401,6 +405,9 @@
365 C l-8)
366 C write (*,*) "-------------------------------------------------"
367
368+ DEALLOCATE(MATELEM)
369+ DEALLOCATE(PREC_FOUND)
370+
371 END
372
373
374
375=== modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/check_sa.f'
376--- tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/check_sa.f 2014-05-30 22:18:01 +0000
377+++ tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/check_sa.f 2014-09-24 01:10:08 +0000
378@@ -44,7 +44,7 @@
379 REAL*8 P(0:3,NEXTERNAL)
380 INTEGER MATELEM_ARRAY_DIM
381 REAL*8 , ALLOCATABLE :: MATELEM(:,:)
382- REAL*8 SQRTS,AO2PI
383+ REAL*8 SQRTS,AO2PI,TOTMASS
384 C sqrt(s)= center of mass energy
385 REAL*8 PIN(0:3), POUT(0:3)
386 CHARACTER*120 BUFF(NEXTERNAL)
387@@ -140,8 +140,12 @@
388 IF(NINCOMING.EQ.1) THEN
389 SQRTS=PMASS(1)
390 ELSE
391+ TOTMASS = 0.0D0
392+ DO I=1,NEXTERNAL
393+ TOTMASS = TOTMASS + PMASS(I)
394+ ENDDO
395 C CMS energy in GEV
396- SQRTS=1000D0
397+ SQRTS=MAX(1000D0,2.0D0*TOTMASS)
398 ENDIF
399
400 CALL PRINTOUT()
401@@ -401,6 +405,9 @@
402 C l-8)
403 C write (*,*) "-------------------------------------------------"
404
405+ DEALLOCATE(MATELEM)
406+ DEALLOCATE(PREC_FOUND)
407+
408 END
409
410

Subscribers

People subscribed via source and target branches

to all changes: