JSROOT drawing TEfficiency

Dear experts,

I would like to draw a TEfficiency object through JSRoot and I am experiencing some issues.
In particular, 1D TEfficiency objects are displayed but 2D TEfficiencies instead are not: “JSROOT was unable to draw this object”.
I can see from the JSROOT documentation that the TEfficiency class is not among the supported ones, but is there a way to do this?

Regards,

Francesca

I think @linev can help you.

Hi Francesca,

There is rudimentary support of TEfficiency in jsroot.
And yes - only for 1D data.
If you have examples of 2D data - I could try to add support for that.
Can you upload ROOT file here and, if possible, macro which produce it?

Regards,
Sergey

Hi Sergey,

thank you very much for your help! I attach here the ROOT file and the macro which draws and saves the 2D TEfficiency object.

Another thing I notice is that when saving the efficiency on a root file and then reopen it, the labels will be gone and the axis range will be reset. I think this is a know issue since I found this topic about it TEfficiency, x-axis text labels and scales not persistent
When we draw with JSRoot the 1D TEfficiency as a matter of fact we loose the axis labels…

Regards,

Francesca
macroTEfficiency.cxx (752 Bytes)
output2DTEfficiency.root (4.9 KB)

Hi Francesca,

I fix several issues with TEfficiency drawing in JSROOT and extend it to 2D case.
Now your example works with dev version of JSROOT.
It is master branch in github repository.

Regards,
Sergey

Hi Sergey,

thank you for your help!

Cheers,

Francesca

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.