Minor plotting issues with error bands

Hi @20DM, sorry for bugging again with more plotting issues, I am in the process of switching my complete workflow to Rivet4/YODA2 and noticed a few more things that does not work similarly as with YODA1:

  • Setting ErrorBandOpacity in rivet-mkhtml to a value results in error 'float' object is not iterable. I think is because calling a list() in fetch_data.py will actually just create a float when a single argument is provided. A possible fix would be to replace line
bandopac = list(ao.annotation(pre+'ErrorBandOpacity', ao.annotation('ErrorBandOpacity', [0.2])))

with

bandopac = [ao.annotation(pre+'ErrorBandOpacity', ao.annotation('ErrorBandOpacity', 0.2))]

So that also other than the default value would be constructed as a list. Seems to work but not sure if there some side effects that I did not notice.

  • When plotting the error band with ErrorBand=1 also error bars are plotted even if explicitly turned off with ErrorBars=0 for a given yoda file. As a workaround one can of course turn off the mc error bars completely with option --no-mcerrs but potentially would be useful to be able to turn off the error bars only for an individual yoda file. No solution to propose, unfortunately 😞

  • Last one was that the yodaenvelope script adds the downwards errors without a - sign so the resulting band will not cover the downward variations, see an example plot. Also, lines 93 and 94 look a bit suspicious to me but maybe this is just a changed convention and things work as expected.

Let me know if these were not clear-enough descriptions.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information