Merge lp:~maddevelopers/mg5amcnlo/1.5.6 into lp:~madteam/mg5amcnlo/trunk

Proposed by Johan Alwall
Status: Merged
Merged at revision: 236
Proposed branch: lp:~maddevelopers/mg5amcnlo/1.5.6
Merge into: lp:~madteam/mg5amcnlo/trunk
Diff against target: 399 lines (+81/-49)
19 files modified
Template/Cards/run_card.dat (+1/-0)
Template/Source/run.inc (+2/-2)
Template/SubProcesses/reweight.f (+3/-1)
UpdateNotes.txt (+14/-0)
madgraph/core/diagram_generation.py (+15/-4)
madgraph/iolibs/template_files/auto_dsig_v4.inc (+3/-2)
madgraph/various/banner.py (+1/-0)
madgraph/various/misc.py (+1/-1)
madgraph/various/rambo.py (+15/-15)
models/sm/restrict_ckm.dat (+2/-2)
models/sm/restrict_default.dat (+2/-2)
models/sm/restrict_lepton_masses.dat (+4/-4)
models/sm/restrict_no_b_mass.dat (+1/-1)
models/sm/restrict_no_masses.dat (+1/-1)
models/sm/restrict_no_tau_mass.dat (+2/-2)
models/sm/restrict_zeromass_ckm.dat (+1/-1)
models/write_param_card.py (+2/-2)
tests/unit_tests/core/test_diagram_generation.py (+7/-5)
tests/unit_tests/various/test_write_param.py (+4/-4)
To merge this branch: bzr merge lp:~maddevelopers/mg5amcnlo/1.5.6
Reviewer Review Type Date Requested Status
Olivier Mattelaer Approve
Review via email: mp+139380@code.launchpad.net

Description of the change

1.5.6 (XX/12/12) JA: Replaced error with warning when there are decay processes
                      without corresponding core processes final state (see
                      Question #216037). If you get this warning, please check
                      carefully the process list and diagrams to make sure you
                      have the processes you were expecting.
                  JA: Included option to set the highest flavor for alpha_s reweighting
                      (useful for 4-flavor matching with massive b:s). Note that
                      this does not affect the choice of factorization scale.
                  JA: Fixed Bug #1089199, where decay processes with symmetric
                      diagrams were missing a symmetry factor.
                      Note that this only affects decay processes (A > B C ..)
                      with multiple identical particles in the final state and
                      some propagators not able to go on the mass shell.

To post a comment you must log in.
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

Perfect Johan :-)

Thanks a lot.

You can do the review.

Cheers,

Olivier

review: Approve
Revision history for this message
Johan Alwall (johan-alwall) wrote :

Hi Olivier,

In fact, there are two parallel tests that are failing (due to the new YUKAWA block values in the SM model):
Failed for processes:
b b~ > t t~ 4.5001550715e-01 4.5003299598e-01 1.9430993254e-05
g g > t t~ h 1.7278775958e-05 1.9110558315e-05 5.0338441022e-02

I'll leave it like this for now since it doesn't have any consequence, but in the next version, could you fix this? (Once you changed the check routine in v. 1.6.0, we can change the default back or change the test.)

Thanks,
Johan

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Template/Cards/run_card.dat'
2--- Template/Cards/run_card.dat 2012-09-13 03:14:43 +0000
3+++ Template/Cards/run_card.dat 2012-12-12 04:09:21 +0000
4@@ -68,6 +68,7 @@
5 1 = alpsfact ! scale factor for QCD emission vx
6 F = chcluster ! cluster only according to channel diag
7 T = pdfwgt ! for ickkw=1, perform pdf reweighting
8+ 5 = asrwgtflavor ! highest quark flavor for a_s reweight
9 #*********************************************************************
10 # Automatic ptj and mjj cuts if xqcut > 0
11 # (turn off for VBF and single top processes)
12
13=== modified file 'Template/Source/run.inc'
14--- Template/Source/run.inc 2010-10-30 03:26:37 +0000
15+++ Template/Source/run.inc 2012-12-12 04:09:21 +0000
16@@ -6,9 +6,9 @@
17 c
18 real*8 scale,scalefact,alpsfact
19 logical fixed_ren_scale,fixed_fac_scale,fixed_couplings,hmult
20- integer ickkw,nhmult
21+ integer ickkw,nhmult,asrwgtflavor
22 common/to_scale/scale,scalefact,alpsfact,fixed_ren_scale,fixed_fac_scale,
23- $ fixed_couplings,ickkw,nhmult,hmult
24+ $ fixed_couplings,ickkw,nhmult,hmult,asrwgtflavor
25 c
26 c Collider
27 c
28
29=== modified file 'Template/SubProcesses/reweight.f'
30--- Template/SubProcesses/reweight.f 2012-11-16 06:49:40 +0000
31+++ Template/SubProcesses/reweight.f 2012-12-12 04:09:21 +0000
32@@ -170,13 +170,15 @@
33 implicit none
34
35 include 'cuts.inc'
36+ include 'run.inc'
37
38 integer ipdg, irfl
39
40 isparton=.true.
41
42 irfl=abs(ipdg)
43- if (irfl.gt.5.and.irfl.ne.21) isparton=.false.
44+ if (irfl.gt.max(asrwgtflavor,maxjetflavor).and.irfl.ne.21)
45+ $ isparton=.false.
46 c write(*,*)'isparton? pdg = ',ipdg,' -> ',irfl,' -> ',isparton
47
48 return
49
50=== modified file 'UpdateNotes.txt'
51--- UpdateNotes.txt 2012-11-18 05:41:03 +0000
52+++ UpdateNotes.txt 2012-12-12 04:09:21 +0000
53@@ -1,5 +1,19 @@
54 Update notes for MadGraph 5 (in reverse time order)
55
56+1.5.6 (XX/12/12) JA: Replaced error with warning when there are decay processes
57+ without corresponding core processes final state (see
58+ Question #216037). If you get this warning, please check
59+ carefully the process list and diagrams to make sure you
60+ have the processes you were expecting.
61+ JA: Included option to set the highest flavor for alpha_s reweighting
62+ (useful for 4-flavor matching with massive b:s). Note that
63+ this does not affect the choice of factorization scale.
64+ JA: Fixed Bug #1089199, where decay processes with symmetric
65+ diagrams were missing a symmetry factor.
66+ Note that this only affects decay processes (A > B C ..)
67+ with multiple identical particles in the final state and
68+ some propagators not able to go on the mass shell.
69+
70 1.5.5 (18/11/12) JA: Fixed Bug #1078168, giving asymmetries in X+gamma generation
71 (e.g. Z+gamma) when ickkw=1 and pdfwgt=T. Thanks Irakli!
72 JA: Ensure that t-channel single top gives non-zero cross section
73
74=== modified file 'madgraph/core/diagram_generation.py'
75--- madgraph/core/diagram_generation.py 2012-09-29 03:58:00 +0000
76+++ madgraph/core/diagram_generation.py 2012-12-12 04:09:21 +0000
77@@ -409,7 +409,7 @@
78 if len(filter(lambda leg: model.get('particle_dict')[\
79 leg.get('id')].is_fermion(), legs)) % 2 == 1:
80 self['diagrams'] = res
81- raise InvalidCmd, 'The number of fermion is odd'
82+ raise InvalidCmd, 'The number of fermions is odd'
83 return res
84
85 # Then check same number of incoming and outgoing fermions (if
86@@ -1038,9 +1038,20 @@
87 decay_ids.remove(l.get('id'))
88
89 if decay_ids:
90- raise InvalidCmd, \
91- "Decay without corresponding particle in core process. " + \
92- "Please check your process definition."
93+ logger.warning("Warning: " + \
94+ "Decay without corresponding particle in core process found. " + \
95+ "Please check your process definition carefully.")
96+
97+ # Remove unused decays from the process list
98+ for dc in reversed(self['decay_chains']):
99+ for a in reversed(dc.get('amplitudes')):
100+ # Remove the amplitudes from this decay chain
101+ if a.get('process').get('legs')[0].get('id') in decay_ids:
102+ dc.get('amplitudes').remove(a)
103+ if not dc.get('amplitudes'):
104+ # If no amplitudes left, remove the decay chain
105+ self['decay_chains'].remove(dc)
106+
107
108 elif argument != None:
109 # call the mother routine
110
111=== modified file 'madgraph/iolibs/template_files/auto_dsig_v4.inc'
112--- madgraph/iolibs/template_files/auto_dsig_v4.inc 2012-10-05 04:07:13 +0000
113+++ madgraph/iolibs/template_files/auto_dsig_v4.inc 2012-12-12 04:09:21 +0000
114@@ -37,7 +37,7 @@
115 INTEGER I,ITYPE,LP,IPROC
116 %(pdf_vars)s
117 DOUBLE PRECISION XPQ(-7:7),PD(0:MAXPROC)
118- DOUBLE PRECISION DSIGUU,R
119+ DOUBLE PRECISION DSIGUU,R,RCONF
120 INTEGER LUN,ICONF,IFACT,NFACT
121 DATA NFACT/1/
122 SAVE NFACT
123@@ -75,7 +75,8 @@
124 NFACT=1
125 OPEN(UNIT=LUN,FILE='../symfact.dat',STATUS='OLD',ERR=20)
126 DO WHILE(.TRUE.)
127- READ(LUN,*,ERR=10,END=10) ICONF, IFACT
128+ READ(LUN,*,ERR=10,END=10) RCONF, IFACT
129+ ICONF=INT(RCONF)
130 IF(ICONF.EQ.MAPCONFIG(MINCFIG))THEN
131 NFACT=IFACT
132 ENDIF
133
134=== modified file 'madgraph/various/banner.py'
135--- madgraph/various/banner.py 2012-11-11 10:05:15 +0000
136+++ madgraph/various/banner.py 2012-12-12 04:09:21 +0000
137@@ -449,6 +449,7 @@
138 self.add_line('ickkw', 'int', 0)
139 self.add_line('chcluster', 'bool', False)
140 self.add_line('ktscheme', 'int', 1)
141+ self.add_line('asrwgtflavor', 'int', 5)
142 if int(self['ickkw'])>0:
143 self.add_line('alpsfact', 'float', 1.0)
144 self.add_line('pdfwgt', 'bool', True)
145
146=== modified file 'madgraph/various/misc.py'
147--- madgraph/various/misc.py 2012-10-03 15:25:35 +0000
148+++ madgraph/various/misc.py 2012-12-12 04:09:21 +0000
149@@ -189,7 +189,7 @@
150 error_text += "In general this means that your computer is not able to compile."
151 if sys.platform == "darwin":
152 error_text += "Note that MacOSX doesn\'t have gmake/gfortan install by default.\n"
153- error_text += "Xcode3 contains those require program"
154+ error_text += "Xcode3 contains those required programs"
155 raise MadGraph5Error, error_text
156
157 if p.returncode:
158
159=== modified file 'madgraph/various/rambo.py'
160--- madgraph/various/rambo.py 2012-06-22 22:19:35 +0000
161+++ madgraph/various/rambo.py 2012-12-12 04:09:21 +0000
162@@ -96,15 +96,15 @@
163
164 # INITIALIZATION STEP: FACTORIALS FOR THE PHASE SPACE WEIGHT
165 if not ibegin:
166- ibegin = 1
167- twopi = 8 * math.atan(1)
168- po2log = math.log(twopi/4)
169- Z[2] = po2log
170- for k in range(3, N+1):
171- Z[k] = Z[k-1] + po2log - 2.*math.log(k-2) - math.log(k-1)
172+ ibegin = 1
173+ twopi = 8 * math.atan(1)
174+ po2log = math.log(twopi/4)
175+ Z[2] = po2log
176+ for k in range(3, N+1):
177+ Z[k] = Z[k-1] + po2log - 2.*math.log(k-2) - math.log(k-1)
178
179 # CHECK ON THE NUMBER OF PARTICLES
180- assert 1 < N < 101
181+ assert 1 < N < 101
182
183 # CHECK WHETHER TOTAL ENERGY IS SUFFICIENT; COUNT NONZERO MASSES
184 xmt = 0
185@@ -157,12 +157,12 @@
186 wt = po2log
187 if N != 2:
188 wt = (2 * N-4) * math.log(ET) + Z[N]
189- if wt < -180 and IWARN[1] < 5:
190+ if wt < -180 and iwarn[1] < 5:
191 print "RAMBO WARNS: WEIGHT = EXP(%f20.9) MAY UNDERFLOW" % wt
192- IWARN[1] += 1
193- if wt > 174 and IWARN[2] < 5:
194+ iwarn[1] += 1
195+ if wt > 174 and iwarn[2] < 5:
196 print " RAMBO WARNS: WEIGHT = EXP(%f20.9) MAY OVERFLOW" % wt
197- IWARN[2] += 1
198+ iwarn[2] += 1
199
200
201 # RETURN FOR WEIGHTED MASSLESS MOMENTA
202@@ -175,7 +175,7 @@
203 for i in range(1,N+1):
204 XM2[i] = XM[i] **2
205 P2[i] = P[(4,i)]**2
206- iter = 0
207+ n_iter = 0
208 x= xmax
209 accu = ET * acc
210
211@@ -189,10 +189,10 @@
212 g0 += P2[i]/E[i]
213 if abs(f0) <= accu:
214 break
215- iter += 1
216- if iter > itmax:
217+ n_iter += 1
218+ if n_iter > itmax:
219 print "RAMBO WARNS: %s ITERATIONS DID NOT GIVE THE DESIRED ACCURACY = %s" \
220- %(iter, f0)
221+ %(n_iter , f0)
222 break
223 x=x-f0/(x*g0)
224 for i in range(1, N+1):
225
226=== modified file 'models/sm/restrict_ckm.dat'
227--- models/sm/restrict_ckm.dat 2012-02-14 17:53:55 +0000
228+++ models/sm/restrict_ckm.dat 2012-12-12 04:09:21 +0000
229@@ -46,8 +46,8 @@
230 ###################################
231 Block YUKAWA
232 4 0.000000e+00 # ymc
233- 5 4.200000e+00 # ymb
234- 6 1.645000e+02 # ymt
235+ 5 4.700000e+00 # ymb
236+ 6 1.730000e+02 # ymt
237 11 0.000000e+00 # yme
238 13 0.000000e+00 # ymm
239 15 1.777000e+00 # ymtau
240
241=== modified file 'models/sm/restrict_default.dat'
242--- models/sm/restrict_default.dat 2012-02-14 17:53:55 +0000
243+++ models/sm/restrict_default.dat 2012-12-12 04:09:21 +0000
244@@ -46,8 +46,8 @@
245 ###################################
246 Block YUKAWA
247 4 0.000000e+00 # ymc
248- 5 4.200000e+00 # ymb
249- 6 1.645000e+02 # ymt
250+ 5 4.700000e+00 # ymb
251+ 6 1.730000e+02 # ymt
252 11 0.000000e+00 # yme
253 13 0.000000e+00 # ymm
254 15 1.777000e+00 # ymtau
255
256=== modified file 'models/sm/restrict_lepton_masses.dat'
257--- models/sm/restrict_lepton_masses.dat 2012-05-03 06:03:00 +0000
258+++ models/sm/restrict_lepton_masses.dat 2012-12-12 04:09:21 +0000
259@@ -46,8 +46,8 @@
260 ###################################
261 Block YUKAWA
262 4 0.000000e+00 # ymc
263- 5 4.200000e+00 # ymb
264- 6 1.645000e+02 # ymt
265- 11 0.000000e+00 # yme
266- 13 0.000000e+00 # ymm
267+ 5 4.700000e+00 # ymb
268+ 6 1.730000e+02 # ymt
269+ 11 5.110000e-04 # yme
270+ 13 1.056600e-01 # ymm
271 15 1.777000e+00 # ymtau
272
273=== modified file 'models/sm/restrict_no_b_mass.dat'
274--- models/sm/restrict_no_b_mass.dat 2012-02-14 17:53:55 +0000
275+++ models/sm/restrict_no_b_mass.dat 2012-12-12 04:09:21 +0000
276@@ -47,7 +47,7 @@
277 Block YUKAWA
278 4 0.000000e+00 # ymc
279 5 0.000000e+00 # ymb
280- 6 1.645000e+02 # ymt
281+ 6 1.730000e+02 # ymt
282 11 0.000000e+00 # yme
283 13 0.000000e+00 # ymm
284 15 1.777000e+00 # ymtau
285
286=== modified file 'models/sm/restrict_no_masses.dat'
287--- models/sm/restrict_no_masses.dat 2012-02-14 17:53:55 +0000
288+++ models/sm/restrict_no_masses.dat 2012-12-12 04:09:21 +0000
289@@ -47,7 +47,7 @@
290 Block YUKAWA
291 4 0.000000e+00 # ymc
292 5 0.000000e+00 # ymb
293- 6 1.645000e+02 # ymt
294+ 6 1.730000e+02 # ymt
295 11 0.000000e+00 # yme
296 13 0.000000e+00 # ymm
297 15 0.000000e+00 # ymtau
298
299=== modified file 'models/sm/restrict_no_tau_mass.dat'
300--- models/sm/restrict_no_tau_mass.dat 2012-02-14 17:53:55 +0000
301+++ models/sm/restrict_no_tau_mass.dat 2012-12-12 04:09:21 +0000
302@@ -46,8 +46,8 @@
303 ###################################
304 Block YUKAWA
305 4 0.000000e+00 # ymc
306- 5 4.200000e+00 # ymb
307- 6 1.645000e+02 # ymt
308+ 5 4.700000e+00 # ymb
309+ 6 1.730000e+02 # ymt
310 11 0.000000e+00 # yme
311 13 0.000000e+00 # ymm
312 15 0.000000e+00 # ymtau
313
314=== modified file 'models/sm/restrict_zeromass_ckm.dat'
315--- models/sm/restrict_zeromass_ckm.dat 2012-02-14 17:53:55 +0000
316+++ models/sm/restrict_zeromass_ckm.dat 2012-12-12 04:09:21 +0000
317@@ -47,7 +47,7 @@
318 Block YUKAWA
319 4 0.000000e+00 # ymc
320 5 0.000000e+00 # ymb
321- 6 1.645000e+02 # ymt
322+ 6 1.730000e+02 # ymt
323 11 0.000000e+00 # yme
324 13 0.000000e+00 # ymm
325 15 0.000000e+00 # ymtau
326
327=== modified file 'models/write_param_card.py'
328--- models/write_param_card.py 2012-10-02 19:07:11 +0000
329+++ models/write_param_card.py 2012-12-12 04:09:21 +0000
330@@ -263,9 +263,9 @@
331 if not text:
332 return
333
334- pretext = "## Not dependent paramater.\n"
335+ pretext = "## Dependent parameters, given by model restrictions.\n"
336 pretext += "## Those values should be edited following the \n"
337- pretext += "## analytical expression. MG5 ignore those values \n"
338+ pretext += "## analytical expression. MG5 ignores those values \n"
339 pretext += "## but they are important for interfacing the output of MG5\n"
340 pretext += "## to external program such as Pythia.\n"
341 self.fsock.write(pretext + text)
342
343=== modified file 'tests/unit_tests/core/test_diagram_generation.py'
344--- tests/unit_tests/core/test_diagram_generation.py 2012-09-30 00:27:37 +0000
345+++ tests/unit_tests/core/test_diagram_generation.py 2012-12-12 04:09:21 +0000
346@@ -2370,8 +2370,8 @@
347 l.get('number') in external))
348 external.add(l.get('number'))
349
350- def test_failed_decay_chain_pp_jj(self):
351- """Test exception for decay chain qq > qq, j > jj
352+ def test_unused_decays_in_decay_chain_pp_jj(self):
353+ """Test removal of unused decays in decay chain qq > qq, j > jj
354 """
355
356 p = [1, -1, 2, -2, 21]
357@@ -2399,9 +2399,11 @@
358 base_objects.ProcessDefinitionList(\
359 [my_decay_processes]))
360
361- self.assertRaises(InvalidCmd,
362- diagram_generation.DecayChainAmplitude,
363- my_process_definition)
364+ decay_chain = diagram_generation.DecayChainAmplitude(\
365+ my_process_definition)
366+ # Check that all decays are quarks, no gluons
367+ for dc_amp in decay_chain.get('decay_chains')[0].get('amplitudes'):
368+ self.assertTrue(dc_amp.get('process').get('legs')[0].get('id') in q)
369
370 def test_forbidden_s_channel_decay_chain(self):
371 """Test decay chains with forbidden s-channel particles.
372
373=== modified file 'tests/unit_tests/various/test_write_param.py'
374--- tests/unit_tests/various/test_write_param.py 2012-10-02 19:07:11 +0000
375+++ tests/unit_tests/various/test_write_param.py 2012-12-12 04:09:21 +0000
376@@ -254,9 +254,9 @@
377 6 1.720000e+02 # MT
378 15 1.777000e+00 # MTA
379 23 9.118800e+01 # set of param :1*MZ, 1*MH
380-## Not dependent paramater.
381+## Dependent parameters, given by model restrictions.
382 ## Those values should be edited following the
383-## analytical expression. MG5 ignore those values
384+## analytical expression. MG5 ignores those values
385 ## but they are important for interfacing the output of MG5
386 ## to external program such as Pythia.
387 1 0.000000 # d : 0.0
388@@ -294,9 +294,9 @@
389 ###################################
390 DECAY 23 2.441404e+00 # set of param :1*WZ, 1*WH
391 DECAY 24 3.000000e+00 # WW
392-## Not dependent paramater.
393+## Dependent parameters, given by model restrictions.
394 ## Those values should be edited following the
395-## analytical expression. MG5 ignore those values
396+## analytical expression. MG5 ignores those values
397 ## but they are important for interfacing the output of MG5
398 ## to external program such as Pythia.
399 DECAY 1 0.000000 # d : 0.0

Subscribers

People subscribed via source and target branches