|
[Rivet] rivet-mkhtml problemsAndy Buckley andy.buckley at cern.chFri Mar 18 13:52:48 GMT 2016
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
More information about the Rivet mailing list |