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

Proposed by Johan Alwall
Status: Merged
Merged at revision: 164
Proposed branch: lp:~maddevelopers/mg5amcnlo/improved_survey
Merge into: lp:~madteam/mg5amcnlo/trunk
Diff against target: 690 lines (+147/-93) (has conflicts)
14 files modified
Template/Source/dsample.f (+12/-10)
Template/Source/gen_ximprove.f (+6/-6)
Template/Source/run_config.inc (+1/-1)
Template/SubProcesses/addmothers.f (+12/-6)
Template/SubProcesses/cuts.f (+4/-5)
Template/SubProcesses/myamp.f (+47/-34)
Template/SubProcesses/symmetry.f (+12/-11)
Template/SubProcesses/unwgt.f (+5/-4)
Template/bin/generate_events (+15/-9)
Template/bin/refine (+4/-2)
Template/bin/survey (+4/-2)
UpdateNotes.txt (+17/-0)
madgraph/VERSION (+5/-0)
tests/acceptance_tests/test_cmd.py (+3/-3)
Text conflict in UpdateNotes.txt
Text conflict in madgraph/VERSION
To merge this branch: bzr merge lp:~maddevelopers/mg5amcnlo/improved_survey
Reviewer Review Type Date Requested Status
Olivier Mattelaer Approve
Tim Stelzer Pending
Review via email: mp+70688@code.launchpad.net

Description of the change

- Improved precision of "survey" by allowing 4th iteration if accuracy after 3 iterations < 10%
- Subdivide BW in phase space integration for conflicting BWs also for forced decays, to improve generation with large bwcutoff in e.g. W+ W- production with decays.

To post a comment you must log in.
166. By Johan Alwall

Take into account BW also when there is no minimum, and modify transpole to allow shat below xo. Doesn't seem to work very well however, so will remove this commit.

167. By Johan Alwall

Reverted the setting based on BW also in general case, since it doesn't seem to work well

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

You can merge.

The only point that need to be change, is the parralel test which is not working anymore.
(I think that this is due to a previous version modification)

review: Approve
168. By Johan Alwall

Use luminocity instead of number of events for refine (to allow for changing cross sections during run). Don't allow using stored events from previous iteration. Allow up to 5 iterations in survey.

169. By Johan Alwall

Fixed some typos in myamp.f (xe->xm) and added some printouts in scripts

170. By Johan Alwall

Improve treatment of heavy resonances >> s, so that BW is used only if peak available

171. By Johan Alwall

Simplified expression for shat BW check, updated UpdateNotes.

172. By Johan Alwall

Fixed insertion of colors for octet resonances decaying to octet+singlet

173. By Johan Alwall

Updated UpdateNotes and VERSION since Olivier has an intermediate version 1.3.10

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Template/Source/dsample.f'
2--- Template/Source/dsample.f 2011-05-29 17:34:09 +0000
3+++ Template/Source/dsample.f 2011-08-26 14:32:33 +0000
4@@ -227,9 +227,9 @@
5 if (accur .ge. 0d0 .or. cur_it .gt. itmax+3) then
6 return
7 endif
8-c Check for neventswritten and chi2
9- if (neventswritten .gt. -accur .and. chi2 .lt. 10d0) then
10- write(*,*) "We found enough events",neventswritten, -accur*1000*tmean
11+c Check for neventswritten and chi2 (JA 8/17/11 lumi*mean xsec)
12+ if (neventswritten .gt. -accur*tmean .and. chi2 .lt. 10d0) then
13+ write(*,*) "We found enough events",neventswritten, -accur*tmean
14 return
15 endif
16
17@@ -1888,18 +1888,19 @@
18 c Update weights in dsig (needed for subprocess group mode)
19 xdum=dsig(0,0,2)
20 c
21-c Add test to see if we have achieved desired accuracy
22+c Add test to see if we have achieved desired accuracy
23+c JA 8/17/2011 allow minimum 3 iterations instead of 5
24 c
25- if (tsigma .gt. 0d0 .and. cur_it .gt. 5 .and. accur .gt. 0d0) then
26+ if (tsigma .gt. 0d0 .and. cur_it .gt. 3 .and. accur .gt. 0d0) then
27
28 xmean = tmean/tsigma
29 xchi2 = (chi2/xmean/xmean-tsigma)/dble(cur_it-2)
30- write(*,'(a,4f8.3)') 'We got it',sqrt(xchi2/tsigma),
31+ write(*,'(a,4f8.3)') ' Accuracy: ',sqrt(xchi2/tsigma),
32 & accur,1/sqrt(tsigma),xchi2
33 c write(*,*) 'We got it',1d0/sqrt(tsigma), accur
34 c if (1d0/sqrt(tsigma) .lt. accur) then
35 if (sqrt(xchi2/tsigma) .lt. accur) then
36- write(*,*) 'Finished due to accuracy',sqrt(xchi2/tsigma), accur
37+ write(*,*) 'Finished due to accuracy ',sqrt(xchi2/tsigma), accur
38 tmean = tmean / tsigma
39 if (cur_it .gt. 2) then
40 chi2 = (chi2/tmean/tmean-tsigma)/dble(cur_it-2)
41@@ -1929,7 +1930,7 @@
42 c
43 c New check to see if we need to keep integrating this one or not.
44 c
45- if (cur_it .gt. 3 .and. accur .lt. 0d0) then !Check # unweighted
46+ if (cur_it .gt. 3 .and. accur .lt. 0d0) then !Check luminocity
47 c
48 c Lets get the actual number instead
49 c tjs 5/22/2007
50@@ -1953,9 +1954,10 @@
51 chi2tmp = chi2tmp+(ymean(i)-tmeant)**2/ysigma(i)**2
52 enddo
53 chi2tmp = chi2tmp/2d0 !Since using only last 3, n-1=2
54- write(*,*) "Checking number of events",accur,nun,' chi2: ',chi2tmp
55+c JA 8/17/2011 Redefined -accur as lumi, so nevents is -accur*cross section
56+ write(*,*) "Checking number of events",-accur*tmeant,nun,' chi2: ',chi2tmp
57 c Check nun and chi2 (ja 03/11)
58- if (nun .gt. -accur .and. chi2tmp .lt. 10d0)then
59+ if (nun .gt. -accur*tmeant .and. chi2tmp .lt. 10d0)then
60 tmean = tmean / tsigma
61 if (cur_it .gt. 2) then
62 chi2 = (chi2/tmean/tmean-tsigma)/dble(cur_it-2)
63
64=== modified file 'Template/Source/gen_ximprove.f'
65--- Template/Source/gen_ximprove.f 2011-06-01 21:18:40 +0000
66+++ Template/Source/gen_ximprove.f 2011-08-26 14:32:33 +0000
67@@ -658,11 +658,11 @@
68 write(26,'(9x,a,2i8,a)') 'echo "',npoints,max_iter,
69 $ '" >& input_sg.txt'
70 c
71-c tjs 8/7/2007 Allow stop when have enough events
72+c tjs 8/7/2007-JA 8/17/11 Allow stop when have enough luminocity
73 c
74 write(*,*) "Cross section",i,io(np),xsec(io(np)),mfact(io(np))
75- write(26,'(9x,a,f11.3,a)') 'echo "',-goal_lum*xsec(io(np))*1000/mjobs,
76- $ '" >> input_sg.txt' !Accuracy
77+ write(26,'(9x,a,e13.5,a)') 'echo "',-goal_lum*1000/mjobs,
78+ $ '" >> input_sg.txt' !Luminocity
79 write(26,'(9x,a)') 'echo "2" >> input_sg.txt' !Grid Adjustment
80 write(26,'(9x,a)') 'echo "1" >> input_sg.txt' !Suppression
81 write(26,'(9x,a,i4,a)') 'echo "',nhel_refine,
82@@ -681,10 +681,10 @@
83 write(26,'(9x,a,2i8,a)') 'echo "',npoints,max_iter,
84 $ '" >& input_sg.txt'
85 c
86-c tjs 8/7/2007 Change to request events not accuracy
87+c tjs 8/7/2007-JA 8/17/11 Change to request luminocity not accuracy
88 c
89- write(26,'(9x,a,f11.3,a)') 'echo "',-goal_lum*xsec(io(np))*1000/mjobs,
90- $ '" >> input_sg.txt' !Accuracy
91+ write(26,'(9x,a,e13.5,a)') 'echo "',-goal_lum*1000/mjobs,
92+ $ '" >> input_sg.txt' !Luminocity
93 c write(26,'(9x,a,e12.3,a)') 'echo "',-goal_lum*mfact(io(np)),
94 c $ '" >> input_sg.txt'
95 write(26,'(9x,a)') 'echo "0" >> input_sg.txt'
96
97=== modified file 'Template/Source/run_config.inc'
98--- Template/Source/run_config.inc 2011-05-27 23:49:50 +0000
99+++ Template/Source/run_config.inc 2011-08-26 14:32:33 +0000
100@@ -13,7 +13,7 @@
101 integer min_events_channel !Minimum number of events
102 parameter (min_events_channel = 1000) !per iteration in each channel
103 integer iter_survey !Number of iterations for survey
104- parameter (iter_survey=3)
105+ parameter (iter_survey=5) ! JA 8/17/11
106 c The following sets the maximum number of parameters in the run_card.dat
107 integer maxpara
108 parameter (maxpara=1000)
109
110=== modified file 'Template/SubProcesses/addmothers.f'
111--- Template/SubProcesses/addmothers.f 2011-04-03 22:06:00 +0000
112+++ Template/SubProcesses/addmothers.f 2011-08-26 14:32:33 +0000
113@@ -214,12 +214,18 @@
114 $ icolalt(2,ida(1))-icolalt(2,ida(2)).eq.0) then ! color singlet
115 icolalt(1,i) = 0
116 icolalt(2,i) = 0
117- elseif(icolalt(1,ida(1))-icolalt(2,ida(2)).eq.0) then
118- icolalt(1,i) = icolalt(1,ida(2))
119- icolalt(2,i) = icolalt(2,ida(1))
120- else if(icolalt(1,ida(2))-icolalt(2,ida(1)).eq.0) then
121- icolalt(1,i) = icolalt(1,ida(1))
122- icolalt(2,i) = icolalt(2,ida(2))
123+ elseif(icolalt(1,ida(1))-icolalt(2,ida(2)).eq.0) then ! 3bar 3 -> 8 or 8 8 -> 8
124+ icolalt(1,i) = icolalt(1,ida(2))
125+ icolalt(2,i) = icolalt(2,ida(1))
126+ else if(icolalt(1,ida(2))-icolalt(2,ida(1)).eq.0) then ! 3 3bar -> 8 or 8 8 -> 8
127+ icolalt(1,i) = icolalt(1,ida(1))
128+ icolalt(2,i) = icolalt(2,ida(2))
129+ else if(icolalt(1,ida(1)).eq.0.and.icolalt(2,ida(1)).eq.0) then ! 1 3/8 -> 3/8
130+ icolalt(1,i) = icolalt(1,ida(2))
131+ icolalt(2,i) = icolalt(2,ida(2))
132+ else if(icolalt(1,ida(2)).eq.0.and.icolalt(2,ida(2)).eq.0) then ! 3/8 1 -> 3/8
133+ icolalt(1,i) = icolalt(1,ida(1))
134+ icolalt(2,i) = icolalt(2,ida(1))
135 else if(icolalt(1,ida(2)).gt.0.and.icolalt(1,ida(1)).gt.0.and.
136 $ icolalt(2,ida(2)).le.0.and.icolalt(2,ida(1)).le.0) then ! sextet
137 maxcolor=maxcolor+1
138
139=== modified file 'Template/SubProcesses/cuts.f'
140--- Template/SubProcesses/cuts.f 2011-06-29 09:34:40 +0000
141+++ Template/SubProcesses/cuts.f 2011-08-26 14:32:33 +0000
142@@ -402,11 +402,10 @@
143 c B.W. phase space cuts
144 c
145 pass_bw=cut_bw(p)
146- if (lbw(0) .eq. 1) then
147- if ( pass_bw ) then
148- passcuts=.false.
149- return
150- endif
151+c JA 4/8/11 always check pass_bw
152+ if ( pass_bw ) then
153+ passcuts=.false.
154+ return
155 endif
156 C $E$DESACTIVATE_BW_CUT$E$ This is a Tag for MadWeight
157
158
159=== modified file 'Template/SubProcesses/myamp.f'
160--- Template/SubProcesses/myamp.f 2011-05-29 07:23:58 +0000
161+++ Template/SubProcesses/myamp.f 2011-08-26 14:32:33 +0000
162@@ -203,12 +203,11 @@
163 c write(*,*) 'Checking BW',nbw
164 xmass = sqrt(dot(xp(0,i),xp(0,i)))
165 c write(*,*) 'xmass',xmass,pmass(i,iconfig)
166+c
167+c Here we set if the BW is "on-shell" for LesHouches
168+c
169 onshell = (abs(xmass - pmass(i,iconfig)) .lt.
170 $ bwcutoff*pwidth(i,iconfig))
171-
172-c
173-c Here we set if the BW is "on-shell" for LesHouches
174-c
175 if(onshell)then
176 c Only allow onshell if no "decay" to identical particle
177 OnBW(i) = .true.
178@@ -244,9 +243,25 @@
179 endif
180 endif
181 endif
182- if (onshell .and. (lbw(nbw).eq. 2) ) cut_bw=.true.
183- if (.not. onshell .and. (lbw(nbw).eq. 1)) cut_bw=.true.
184+c
185+c Check if we are supposed to cut forced bw (JA 4/8/11)
186+c
187+ if (gForceBW(i, iconfig) .and. .not. onshell)then
188+ cut_bw = .true.
189+ return
190+ endif
191+c
192+c Here we set onshell for phase space integration (JA 4/8/11)
193+c
194+ onshell = (abs(xmass - pmass(i,iconfig)) .lt.
195+ $ 5d0*pwidth(i,iconfig))
196+
197+ if (onshell .and. (lbw(nbw).eq. 2) .or.
198+ $ .not. onshell .and. (lbw(nbw).eq. 1)) then
199+ cut_bw=.true.
200 c write(*,*) 'cut_bw: ',nbw,xmass,onshell,lbw(nbw),cut_bw
201+ return
202+ endif
203 endif
204
205 enddo
206@@ -292,9 +307,6 @@
207
208 logical gForceBW(-max_branch:-1,lmaxconfigs) ! Forced BW
209 include 'decayBW.inc'
210-
211- double precision forced_mass
212- data forced_mass/0d0/
213 c
214 c Global
215 c
216@@ -407,11 +419,19 @@
217 & sqrt(max(etmin(l2),0d0)*max(etmin(l1),0d0)*dr))
218 c-JA 1/2009: Set grid also based on xqcut
219 xm(i)=max(xm(i),max(xqcutij(l1,l2),0d0))
220- xe(i)=max(xe(i),xm(i))
221 endif
222 c write(*,*) 'iconfig,i',iconfig,i
223 c write(*,*) pwidth(i,iconfig),pmass(i,iconfig)
224- if (pwidth(i,iconfig) .gt. 0 ) nbw=nbw+1
225+ if (pwidth(i,iconfig) .gt. 0 ) then
226+ nbw=nbw+1
227+c JA 6/8/2011 Set xe(i) for resonances
228+ if (lbw(nbw).eq.1) then
229+ xm(i) = max(xm(i), pmass(i,iconfig)-5d0*pwidth(i,iconfig))
230+ else if (gforcebw(i,iconfig)) then
231+ xm(i) = max(xm(i), pmass(i,iconfig)-bwcutoff*pwidth(i,iconfig))
232+ endif
233+ endif
234+ xe(i)=max(xe(i),xm(i))
235 if (pwidth(i,iconfig) .gt. 0 .and. lbw(nbw) .le. 1) then !B.W.
236 c nbw = nbw +1
237
238@@ -419,8 +439,10 @@
239 j = 3*(nexternal-2)-4+1 !set i to ndim+1
240 c-----
241 c tjs 11/2008 if require BW then force even if worried about energy
242+c JA 8/2011 don't use BW if mass is > CM energy
243 c----
244- if(pmass(i,iconfig).ge.xe(i).and.iden_part(i).eq.0
245+ if(pmass(i,iconfig).ge.xm(i).and.iden_part(i).eq.0.and.
246+ $ pmass(i,iconfig).lt.sqrt(stot)
247 $ .or. lbw(nbw).eq.1) then
248 write(*,*) 'Setting PDF BW',j,nbw,pmass(i,iconfig)
249 spole(j)=pmass(i,iconfig)*pmass(i,iconfig)/stot
250@@ -433,23 +455,18 @@
251 spole(-i)=pmass(i,iconfig)*pmass(i,iconfig)/stot
252 swidth(-i) = pwidth(i,iconfig)*pmass(i,iconfig)/stot
253 xm(i) = pmass(i,iconfig)
254-c Remember largest BW mass for better grid setting
255- forced_mass = max(forced_mass,
256- $ pmass(i,iconfig)-bwcutoff*pwidth(i,iconfig))
257-c RF & TJS, should start from final state particle masses, not only at resonance.
258-c Therefore remove the next line.
259-c xe(i) = max(xe(i),xm(i))
260 endif
261 c JA 4/1/2011 Set grid in case there is no BW (radiation process)
262- if (swidth(-i) .eq. 0d0)then
263+ if (swidth(-i) .eq. 0d0 .and.
264+ $ i.ne.-(nexternal-(nincoming+1)))then
265 a=pmass(i,iconfig)**2/stot
266- xo = xm(i)**2/stot
267+ xo = max(min(xm(i)**2/stot, 1-1d-8), 1d0/stot)
268 call setgrid(-i,xo,a,1)
269 endif
270 else !1/x^pow
271 a=pmass(i,iconfig)**2/stot
272 c JA 4/1/2011 always set grid
273- xo = max(xm(i)**2/stot, 1d-8)
274+ xo = max(min(xm(i)**2/stot, 1-1d-8), 1d0/stot)
275 c if (pwidth(i, iconfig) .eq. 0d0.or.iden_part(i).gt.0) then
276 call setgrid(-i,xo,a,1)
277 c else
278@@ -458,7 +475,7 @@
279 c endif
280 endif
281 etot = etot+xe(i)
282- mtot=mtot+max(xm(i),xm(i))
283+ mtot=mtot+xm(i)
284 c write(*,*) 'New mtot',i,mtot,xm(i)
285 else !t channel
286 c
287@@ -492,10 +509,10 @@
288 xo = min(x1,x2)
289
290 c Use 1/10000 of sqrt(s) as minimum, to always get integration
291- xo = max(xo*xo/stot,1e-8)
292- if (xo.eq.1e-8)then
293- write(*,*) 'Warning: No good cutoff for shat integration found'
294- write(*,*) ' Minimum set to 1e-8*s'
295+ xo = max(xo*xo/stot,1d0/stot)
296+ if (xo.eq.1d0/stot)then
297+ write(*,*) 'Warning: No cutoff for shat integral found'
298+ write(*,*) ' Minimum set to ',1d0/stot
299 endif
300 a=-pmass(i,iconfig)**2/stot
301 c call setgrid(-i,xo,a,pow(i,iconfig))
302@@ -507,16 +524,12 @@
303 enddo
304 if (abs(lpp(1)) .eq. 1 .or. abs(lpp(2)) .eq. 1) then
305 c Set minimum based on: 1) required energy 2) resonances 3) 1/10000 of sqrt(s)
306- if(forced_mass**2.lt.stot) then
307- xo = max(max(etot**2, forced_mass**2)/stot,1d-8)
308- else
309- xo = max(etot**2/stot,1d-8)
310- endif
311- if (xo.eq.1d-8) then
312+ i = 3*(nexternal-2) - 4 + 1
313+ xo = max(min(etot**2/stot, 1d0-1d-8),1d0/stot)
314+ if (swidth(i).eq.0.and.xo.eq.1d0/stot) then
315 write(*,*) 'Warning: No minimum found for integration'
316- write(*,*) ' Setting minimum to 1e-8*stot'
317+ write(*,*) ' Setting minimum to ',1d0/stot
318 endif
319- i = 3*(nexternal-2) - 4 + 1
320 c-----------------------
321 c tjs 4/29/2008 use analytic transform for s-hat
322 c-----------------------
323
324=== modified file 'Template/SubProcesses/symmetry.f'
325--- Template/SubProcesses/symmetry.f 2011-06-01 21:18:40 +0000
326+++ Template/SubProcesses/symmetry.f 2011-08-26 14:32:33 +0000
327@@ -135,7 +135,8 @@
328 else
329 write(26,*) npoints,iter_survey,
330 & ' !Number of events and iterations'
331- write(26,*) ' 0.0 !Accuracy'
332+c JA 4/8/11 Set minimum accuracy 10%, to run 4th iteration if needed
333+ write(26,*) ' 0.1 !Accuracy'
334 write(26,*) ' 2 !Grid Adjustment 0=none, 2=adjust'
335 endif
336 write(26,*) ' 1 !Suppress Amplitude 1=yes'
337@@ -254,9 +255,9 @@
338 nbw=nbw+1
339 if (pwidth(-j,i) .gt. 1d-20 .and. sprop(-j,i).ne.0) then
340 write(*,*) 'Got bw',-nbw,j
341- if(lconflict(-j).or.gForceBW(-j,i)) then
342- if(lconflict(-j)) write(*,*) 'Got conflict ',-nbw,j
343- if(gForceBW(-j,i)) write(*,*) 'Got forced BW ',-nbw,j
344+c JA 4/8/11 don't treat forced BW differently
345+ if(lconflict(-j)) then
346+ write(*,*) 'Got conflict ',-nbw,j
347 iarray(nbw)=1 !Cuts on BW
348 if (nbw .gt. imax) then
349 write(*,*) 'Too many BW w conflicts',nbw,imax
350@@ -289,7 +290,7 @@
351 write(26,formstr) dconfig
352 endif
353 write(26,'(a$)') ' '
354- call bw_increment_array(iarray,imax,ibase,gForceBW(-imax,i),done)
355+ call bw_increment_array(iarray,imax,ibase,done)
356 enddo
357 endif
358 enddo
359@@ -318,7 +319,8 @@
360 nbw=nbw+1
361 if (pwidth(-j,i) .gt. 1d-20 .and. sprop(-j,i).ne.0) then
362 write(*,*) 'Got bw',nbw,j
363- if(lconflict(-j).or.gForceBW(-j,i)) then
364+c JA 4/8/11 don't treat forced BW differently
365+ if(lconflict(-j)) then
366 iarray(nbw)=1 !Cuts on BW
367 if (nbw .gt. imax) then
368 write(*,*) 'Too many BW w conflicts',nbw,imax
369@@ -339,7 +341,7 @@
370 else
371 write(26,'(2i6)') mapconfig(i),use_config(i)
372 endif
373- call bw_increment_array(iarray,imax,ibase,gForceBW(-imax,i),done)
374+ call bw_increment_array(iarray,imax,ibase,done)
375 enddo
376 else
377 write(26,'(2i6)') mapconfig(i), use_config(i)
378@@ -368,7 +370,7 @@
379 integer itree(2,-max_branch:-1),iconfig
380 logical lconflict(-max_branch:nexternal)
381 integer sprop(-max_branch:-1) ! Propagator id
382- logical forcebw(-max_branch:-1) ! Forced BW
383+ logical forcebw(-max_branch:-1) ! Forced BW, for identical particle conflicts
384 c
385 c local
386 c
387@@ -533,7 +535,7 @@
388
389
390
391- subroutine bw_increment_array(iarray,imax,ibase,force,done)
392+ subroutine bw_increment_array(iarray,imax,ibase,done)
393 c************************************************************************
394 c Increments iarray
395 c************************************************************************
396@@ -543,7 +545,6 @@
397 c
398 integer imax !Input, number of elements in iarray
399 integer ibase !Base for incrementing, 0 is skipped
400- logical force(imax) !Force onshell BW, counting from -imax to -1
401 integer iarray(imax) !Output:Array of values being incremented
402 logical done !Output:Set when no more incrementing
403
404@@ -566,7 +567,7 @@
405 do while (i .le. imax .and. .not. found)
406 if (iarray(i) .eq. 0) then !don't increment this
407 i=i+1
408- elseif (iarray(i) .lt. ibase-1 .and. .not. force(imax+1-i)) then
409+ elseif (iarray(i) .lt. ibase-1) then
410 found = .true.
411 iarray(i)=iarray(i)+1
412 else
413
414=== modified file 'Template/SubProcesses/unwgt.f'
415--- Template/SubProcesses/unwgt.f 2011-04-20 23:22:29 +0000
416+++ Template/SubProcesses/unwgt.f 2011-08-26 14:32:33 +0000
417@@ -311,10 +311,11 @@
418 xscale = xsec/xsum
419 target_wgt = target_wgt*xscale
420 rewind(lun)
421- if (nstore .le. neventswritten) then
422- write(*,*) 'No improvement in events',nstore, neventswritten
423- return
424- endif
425+c JA 8/17/2011 Don't check for previously stored events
426+c if (nstore .le. neventswritten) then
427+c write(*,*) 'No improvement in events',nstore, neventswritten
428+c return
429+c endif
430 lunw = 25
431 open(unit = lunw, file='events.lhe', status='unknown')
432 done = .false.
433
434=== modified file 'Template/bin/generate_events'
435--- Template/bin/generate_events 2011-07-12 03:57:50 +0000
436+++ Template/bin/generate_events 2011-08-26 14:32:33 +0000
437@@ -136,7 +136,7 @@
438 unset lhapdf
439 fi
440 # Compile everything in Source
441-echo "Cleaning directories" > status
442+echo "Compiling Source" > status
443 cat status
444 $dirbin/gen_crossxhtml-pl $t
445 $dirbin/compile_Source
446@@ -188,6 +188,7 @@
447
448 touch survey
449 echo "Starting jobs" > status
450+cat status
451 $dirbin/gen_crossxhtml-pl $t
452 $dirbin/survey $mode $n $t
453 error_exit
454@@ -208,7 +209,7 @@
455 # Now collect the events
456 #
457 echo "Combining Events" >& status
458-echo "Combining Events"
459+cat status
460 $dirbin/gen_crossxhtml-pl $t
461 pushd SubProcesses > /dev/null
462 $dirbin/run_combine $mode
463@@ -241,6 +242,7 @@
464
465 if [[ (-x $ERAdir/ExRootLHEFConverter) && (-e unweighted_events.lhe) ]]; then
466 echo "Creating Root File" >& ../status
467+ cat ../status
468 $dirbin/gen_crossxhtml-pl $t
469 $ERAdir/ExRootLHEFConverter unweighted_events.lhe unweighted_events.root
470 fi
471@@ -256,8 +258,8 @@
472 # $dirbin/plot_page-pl $t
473 #endif
474 if [[ (-x $MAdir/plot_events) && (-e unweighted_events.lhe) && (-e ../Cards/plot_card.dat) ]]; then
475- echo "Creating Plots"
476 echo "Creating Plots" >& ../status
477+ cat ../status
478 $dirbin/gen_crossxhtml-pl $t
479 mkdir $t
480 cd $t
481@@ -299,9 +301,9 @@
482 if [[ (-x $pydir/pythia) && (-e ../Cards/pythia_card.dat) ]]; then
483 gunzip -c ${t}_unweighted_events.lhe.gz > unweighted_events.lhe
484 echo "Running Pythia" >& ../status
485+ cat ../status
486 $dirbin/gen_crossxhtml-pl $t
487 # shower and hadronize event through Pythia
488- echo "Running pythia..."
489 $dirbin/run_pythia $pydir $mode
490 fi
491
492@@ -314,12 +316,14 @@
493
494 if [[ (-x $pydir/hep2lhe) && (-e ../Cards/pythia_card.dat) && (-e pythia_events.hep) ]]; then
495 echo "Creating Pythia LHE File" >& ../status
496+ cat ../status
497 $dirbin/gen_crossxhtml-pl $t
498 $dirbin/run_hep2lhe $pydir $mode
499 fi
500
501 if [[ (-x $ERAdir/ExRootLHEFConverter) && (-e pythia_events.lhe) ]]; then
502 echo "Creating Pythia LHE Root File" >& ../status
503+ cat ../status
504 $dirbin/gen_crossxhtml-pl $t
505 $ERAdir/ExRootLHEFConverter pythia_events.lhe pythia_lhe_events.root
506 fi
507@@ -328,8 +332,8 @@
508 $dirbin/create_matching_plots.sh $t
509 fi
510 if [[ (-x $MAdir/plot_events) && (-e pythia_events.lhe) && (-e ../Cards/plot_card.dat) ]]; then
511- echo "Creating Plots for Pythia"
512 echo "Creating Plots for Pythia" >& ../status
513+ cat ../status
514 $dirbin/gen_crossxhtml-pl $t
515 mkdir ${t}_pythia
516 cd ${t}_pythia
517@@ -353,15 +357,15 @@
518
519 if [[ (-x $pgsdir/pgs) && (-e ../Cards/pgs_card.dat) ]]; then
520 echo "Running PGS" >& ../status
521+ cat ../status
522 $dirbin/gen_crossxhtml-pl $t
523 # now pass the event to a detector simulator and reconstruct objects
524- echo "Running PGS..."
525 # qsub -v pgsdir=$pgsdir $dirbin/run_pgs >> ../running_jobs
526 $dirbin/run_pgs $pgsdir $mode
527 else
528 if [[ (-x $delphesdir/Delphes) && (-e ../Cards/delphes_card.dat) ]]; then
529 echo "Running Delphes" >& ../status
530- echo "Running Delphes..."
531+ cat ../status
532 $dirbin/run_delphes $delphesdir $mode
533 fi
534 fi
535@@ -369,13 +373,14 @@
536
537 if [[ (-x $ERAdir/ExRootLHCOlympicsConverter) && (-e pgs_events.lhco) ]]; then
538 echo "Creating PGS Root File" >& ../status
539+ cat ../status
540 $dirbin/gen_crossxhtml-pl $t
541 $ERAdir/ExRootLHCOlympicsConverter pgs_events.lhco pgs_events.root
542 fi
543
544 if [[ (-x $MAdir/plot_events) && (-e pgs_events.lhco) && (-e ../Cards/plot_card.dat) ]]; then
545- echo "Creating Plots for PGS"
546 echo "Creating Plots for PGS" >& ../status
547+ cat ../status
548 $dirbin/gen_crossxhtml-pl $t
549 mkdir ${t}_pgs
550 cd ${t}_pgs
551@@ -387,8 +392,8 @@
552 fi
553
554 if [[ (-x $MAdir/plot_events) && (-e delphes_events.lhco) && (-e ../Cards/plot_card.dat) ]]; then
555- echo "Creating Plots for Delphes"
556 echo "Creating Plots for Delphes" >& ../status
557+ cat ../status
558 $dirbin/gen_crossxhtml-pl $t
559 mkdir ${t}_delphes
560 cd ${t}_delphes
561@@ -404,6 +409,7 @@
562 # Store Events
563 #
564 echo "Storing Events" >& status
565+cat status
566 $dirbin/gen_crossxhtml-pl $t
567 $dirbin/store $t
568 rm -f RunWeb
569
570=== modified file 'Template/bin/refine'
571--- Template/bin/refine 2011-07-06 22:40:17 +0000
572+++ Template/bin/refine 2011-08-26 14:32:33 +0000
573@@ -72,11 +72,12 @@
574 exit
575 fi
576 if [[ -d SubProcesses ]]; then
577- if [[ $mode -gt 0 ]]; then
578+ if [[ $mode -eq 1 ]]; then
579 echo "Creating Jobs" >& status
580 else
581- echo " " >& status
582+ echo "Running" >& status
583 fi
584+ $dirbin/gen_crossxhtml-pl $5
585 cd SubProcesses
586 r=0
587 if [[ -e randinit ]]; then
588@@ -109,6 +110,7 @@
589 ../../bin/multicore $n $job
590 sleep 1
591 else
592+ echo "Launching job $job"
593 nice ./$job > /dev/null
594 ../../bin/sum_html >/dev/null
595 fi
596
597=== modified file 'Template/bin/survey'
598--- Template/bin/survey 2011-07-10 19:01:23 +0000
599+++ Template/bin/survey 2011-08-26 14:32:33 +0000
600@@ -64,11 +64,12 @@
601 fi
602
603 if [[ -d SubProcesses ]]; then
604- if [[ $mode -gt 0 ]]; then
605+ if [[ $mode -eq 1 ]]; then
606 echo "Creating Jobs" >& status
607 else
608- echo " " >& status
609+ echo "Running" >& status
610 fi
611+ $dirbin/gen_crossxhtml-pl $3
612 cd SubProcesses
613 r=0
614 if [[ -e randinit ]]; then
615@@ -117,6 +118,7 @@
616 ../../bin/multicore $n $job
617 sleep 1
618 else
619+ echo "Launching job $job"
620 time nice ./$job >/dev/null
621 ../../bin/sum_html >/dev/null
622 fi
623
624=== modified file 'UpdateNotes.txt'
625--- UpdateNotes.txt 2011-08-23 12:34:44 +0000
626+++ UpdateNotes.txt 2011-08-26 14:32:33 +0000
627@@ -1,10 +1,27 @@
628 Update notes for MadGraph 5 (in reverse time order)
629
630+<<<<<<< TREE
631 1.3.10 (23/08/11) OM: Update ALOHA version
632 OM: increase waiting time for jobs to write physically the results on the disks.
633 (in ordre to reduce trouble on the cluster)
634
635 1.3.9 (01/08/11) OM: Add a new model DY_SM (arXiv:1107.5830). Thanks to Neil for the generation of the model
636+=======
637+1.3.11 (26/08/11) JA: Improved precision of "survey" by allowing 4th and 5th
638+ iteration if accuracy after 3 iterations < 10%.
639+ JA: Subdivide BW in phase space integration for conflicting BWs
640+ also for forced decays, to improve generation with large
641+ bwcutoff in e.g. W+ W- production with decays.
642+ JA: Do refine using luminocity instead of number of events,
643+ to work with badly determined channels.
644+ JA: Don't use BW for shat if mass > sqrt(s).
645+ JA: Fixed insertion of colors for octet resonances decaying to
646+ octet+singlet (thanks Bogdan for finding this)
647+
648+
649+1.3.9 (01/08/11) OM: Add a new model DY_SM (arXiv:1107.5830). Thanks to Neil
650+ for the generation of the model
651+>>>>>>> MERGE-SOURCE
652
653 1.3.8 (25/07/11) JA: Replace the SM and HEFT models with latest versions using
654 the Wolfenstein parameterization for the CKM matrix.
655
656=== modified file 'madgraph/VERSION'
657--- madgraph/VERSION 2011-08-23 12:41:03 +0000
658+++ madgraph/VERSION 2011-08-26 14:32:33 +0000
659@@ -1,3 +1,8 @@
660+<<<<<<< TREE
661 version = 1.3.10
662 date = 2011-08-23
663+=======
664+version = 1.3.11
665+date = 2011-08-26
666+>>>>>>> MERGE-SOURCE
667
668
669=== modified file 'tests/acceptance_tests/test_cmd.py'
670--- tests/acceptance_tests/test_cmd.py 2011-07-10 22:43:49 +0000
671+++ tests/acceptance_tests/test_cmd.py 2011-08-26 14:32:33 +0000
672@@ -741,15 +741,15 @@
673 'SubProcesses',
674 'P0_qq_gogo_go_qqn1_go_qqn1',
675 'symfact.dat')).read(),
676- """1.030 1
677+ """ 1 1
678 2 -1
679 3 -1
680 4 -1
681-5.030 1
682+ 5 1
683 6 -5
684 7 -5
685 8 -5
686-9.030 1
687+ 9 1
688 10 -9
689 11 -9
690 12 -9

Subscribers

People subscribed via source and target branches