Bug #14565

About comparisons

Added by Christopher Backhouse over 4 years ago. Updated over 4 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


I admit I don't really know how the current system operates, but it seems from the "Dataset comparisons" section that the producer of the plots has to specify all the comparisons that they want to be possible up-front? I'm imagining a scheme where all comparisons are possible and one just ticks some boxes to decide what datasets to overlay. I think you'd have that on the same page where the list of dataset comparisons already exists, and then within the page itself also have tick boxes to turn different components on and off for different plots.


#1 Updated by Jeremy Wolcott over 4 years ago

  • Status changed from New to Rejected

The "interactivity" you're hoping for isn't really possible without a major rewrite of the underlying system. Basically, all the canvases are drawn in advance and the javascript is just downloading them. To be able to tick boxes and resubmit the page, and have them show up, we'd need some kind of CGI interface which triggers a re-run of the underlying Python stuff. SCD will almost certainly not less us run that kind of CGI (security holes etc.). Moreover, it can take several minutes to re-produce the plots --- so you'd have to just sit around and wait while that happened.

What you're suggesting would be possible if the whole interface were rewritten to run all the plotting in Javascript... but the first version of it was enough effort that I don't think I have the bandwidth to do it a second time. (And since Javascript isn't as nice for this sort of thing as Python is, and has a completely different object model, it would basically be a rewrite from scratch.) Unless somebody else is really gung ho about rewriting this all with JSROOT, I don't think it's going to happen. (I'm going to mark this bug "rejected" until that somebody else is identified.)

That said, "old" comparison directories (from previous runs of the Python stuff) aren't removed, and will show up on the index page. So one can run it several times with different datasets enabled to get different comparisons. Example on my test page: (note how there are two "dataset comparisons" links).

#2 Updated by Christopher Backhouse over 4 years ago

Oh, they're canvases, not lists of histograms?

I guess I don't have a good grasp of the scope of jsroot.

#3 Updated by Jeremy Wolcott over 4 years ago

Well, because the JSROOT component of this was added on top of a system that already existed, that's how they're delivered here. (Originally they were just static images, remember.) The logic for combining them all lives in the server-side Python.

Like I said above, it would certainly be possible to reimplement this all using Javascript and have it run mostly client-side. JSROOT certainly is capable of handling histogram objects instead. But I'm not up for doing it twice.

Also available in: Atom PDF