SetMoreLogLabels for TEfficiency?

Hello,

I am trying to create a TEfficiency histogram with values very close together, so I’ve switched the canvas to logarithmic scale on the y axis. (TCanvas c->setLogy()).
This results in the figure I’ve attached.
backgnd_Eta_effs.pdf (24.1 KB)
As you can see, the y axis labels are not nearly dense enough…
How do you fix this? I know there is SetMoreLogLabels, but that is only available for a TAxis, and I know of no function that would return a TAxis from a TEfficiency.

Try:

gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn
your_effs->GetPaintedGraph()->GetYaxis()->SetMoreLogLabels(kTRUE);
gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn

backgnd_Eta_effs.pdf (24.3 KB)

Hmm, that seems to have only added the tick to the bottom of the axis (9x10^-1). Is there any way to make the ticks even more dense?

Try:

your_effs->GetPaintedGraph()->SetMinimum(0.1);

backgnd_Eta_effs.pdf (24.3 KB)

The problem with that is then all the data is becomes unreadable, they are literally drawn on top of each other. They are all 0.9, that is why I have set the minimum there previously. :confused:

Do you really need log scale ? it seems your data are between 0.9 and 1. How does it show in linear scale ?