[Rivet] rivet-mkhtml problems

Andy Buckley andy.buckley at cern.ch
Fri Mar 18 14:39:29 GMT 2016


Not sure about the pressing return -- that is probably a mixed 
consequence of the fact that we use LaTeX as the plotting backend (and 
when it fails, it tends to ask for a keypress, even though we tell it to 
run in non-interactive mode) and that we farm the plotting subjobs off 
via Python's threading implementation. So I'm not sure *exactly* what's 
going on, but as Holger says you will probably have better results with 
a more up-to-date Rivet.

Andy


On 18/03/16 14:01, roy.lemmon at stfc.ac.uk wrote:
> Hi Andy,
>
> Thanks for the reply.
>
> I see. I will need to check why those datasets are not there.
>
> So is this also why I need to press return to plot each histogram ?
>
> cheers
> Roy.
>
> ________________________________________
> From: Andy Buckley [andy.buckley at cern.ch]
> Sent: 18 March 2016 13:52
> To: Lemmon, Roy (STFC,DL,TECH); rivet at projects.hepforge.org
> Subject: Re: [Rivet] rivet-mkhtml problems
>
> Hi Roy,
>
> The plotting is falling over because it can't find the max(y-value) of
> the datasets when there are no datasets. Peering at the output and then
> looking in the .yoda file, the problem is probably these guys:
>
> # BEGIN YODA_SCATTER2D /ATLAS_2012_I1083318/d02-x01-y01
> Path=/ATLAS_2012_I1083318/d02-x01-y01
> Title=
> Type=Scatter2D
> XLabel=
> YLabel=
> # xval   xerr-   xerr+   yval    yerr-   yerr+
> # END YODA_SCATTER2D
>
> # BEGIN YODA_SCATTER2D /ATLAS_2012_I1083318/d02-x01-y02
> Path=/ATLAS_2012_I1083318/d02-x01-y02
> Title=
> Type=Scatter2D
> XLabel=
> YLabel=
> # xval   xerr-   xerr+   yval    yerr-   yerr+
> # END YODA_SCATTER2D
>
> Note that these describe scatter plots with no points to plot -- any
> idea why you are getting those?
>
> So it's understandable why the plotting is failing, but we should make
> it more robust: probably add some default behaviour that if there are no
> points and not explicitly requested {X,Y}{Min,Max} values, then make an
> empty plot in the 0..1, 0..1 range. I'll add that for the next Rivet
> release.
>
> Andy
>
>
>
> On 18/03/16 11:53, roy.lemmon at stfc.ac.uk wrote:
>> Hi,
>>
>> I have a strange problem when using the rivet-mkhtml command:
>>
>> rivet-mkhtml LOW0j.yoda -o WOj
>>
>> The output is below:
>>
>> *******************************************************************
>>
>> Making 54 plots
>> Plotting WOj/ATLAS_2012_I1083318/d01-x01-y01.dat (53 remaining)
>> Plotting WOj/ATLAS_2012_I1083318/d01-x01-y02.dat (52 remaining)
>> Plotting WOj/ATLAS_2012_I1083318/d02-x01-y01.dat (51 remaining)
>> Plotting WOj/ATLAS_2012_I1083318/d02-x01-y02.dat (50 remaining)
>> Exception in thread Thread-3:
>> Traceback (most recent call last):
>>     File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
>>       self.run()
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 2438, in run
>>       process_datfile(datfile)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 2274, in process_datfile
>>       mp = MainPlot(inputdata)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 499, in __init__
>>       self.set_borders(inputdata)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 270, in set_borders
>>       self.set_xmax(inputdata)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 290, in set_xmax
>>       self.xmax = max(inputdata.histos[i].getXMax() for i in inputdata.description['DrawOnly'])
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 290, in <genexpr>
>>       self.xmax = max(inputdata.histos[i].getXMax() for i in inputdata.description['DrawOnly'])
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 1704, in getXMax
>>       return max([self.data[i]['UpEdge'] for i in range(len(self.data))])
>> ValueError: max() arg is an empty sequence
>>
>> Exception in thread Thread-4:
>> Traceback (most recent call last):
>>     File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
>>       self.run()
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 2438, in run
>>       process_datfile(datfile)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 2274, in process_datfile
>>       mp = MainPlot(inputdata)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 499, in __init__
>>       self.set_borders(inputdata)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 270, in set_borders
>>       self.set_xmax(inputdata)
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 290, in set_xmax
>>       self.xmax = max(inputdata.histos[i].getXMax() for i in inputdata.description['DrawOnly'])
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 290, in <genexpr>
>>       self.xmax = max(inputdata.histos[i].getXMax() for i in inputdata.description['DrawOnly'])
>>     File "/home/rlemmon/Programs/local/bin/make-plots", line 1704, in getXMax
>>       return max([self.data[i]['UpEdge'] for i in range(len(self.data))])
>> ValueError: max() arg is an empty sequence
>>
>> Plotting WOj/ATLAS_2012_I1083318/d03-x01-y01.dat (49 remaining)
>> Plotting WOj/ATLAS_2012_I1083318/d03-x01-y02.dat (48 remaining)
>> Plotting WOj/ATLAS_2012_I1083318/d04-x01-y01.dat (47 remaining)
>> Plotting WOj/ATLAS_2012_I1083318/d04-x01-y02.dat (46 remaining)
>> Traceback (most recent call last):
>>     File "/home/rlemmon/Programs/local/bin/rivet-mkhtml", line 397, in <module>
>> Signal handler called with signal 2
>>       Popen(mp_cmd).wait()
>>     File "/usr/lib64/python2.7/subprocess.py", line 1376, in wait
>>       pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
>>     File "/usr/lib64/python2.7/subprocess.py", line 478, in _eintr_retry_call
>>       return func(*args)
>> KeyboardInterrupt
>> dvips: DVI file can't be opened: d04-x01-y02: No such file or directory
>> dvips: DVI file can't be opened: d04-x01-y01: No such file or directory
>>
>> ***********************************************************************
>>
>> The program produces histograms 53-50 no problem. Then there are some errors, but the program continues ok. However the strange thing is that to produce each histogram 49, 48, 47 ... etc. I need to press return before the histogram is produced. If I do this until all histograms are plotted, the program exits correctly and I can view the histograms which look ok. However in this case I exited with Control-C.
>>
>> So somehow the program is waiting for a carriage return before continuing, but I don't understand this and it is very time-consuming. I guess the other errors are just histogramming errors and not so important.
>>
>> Not sure this is relevant, but this is a new installation of Centos7 (all programs compiling ok). Previously I have run this analysis chain on an XUbuntu installation and it worked fine. I think python2.7 was used in both cases.
>>
>> I have attached the yoda file.
>>
>> Thanks for any help.
>>
>> Cheers
>> Roy.
>>
>> ***********************************
>> Roy Lemmon
>> STFC Daresbury Laboratory
>> United Kingdom
>> ***********************************
>>
>>
>>
>>
>> _______________________________________________
>> Rivet mailing list
>> Rivet at projects.hepforge.org
>> https://www.hepforge.org/lists/listinfo/rivet
>>
>
>
> --
> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow
> Particle Physics Expt Group, University of Glasgow
>


-- 
Dr Andy Buckley, Lecturer / Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow


More information about the Rivet mailing list