|
[Rivet] rivet-mkhtml problemsAndy Buckley andy.buckley at cern.chFri 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 |