Hi everyone! I want to do something in my analysis but i don’t really know how to do it. What i want to do is the same done in the pull plot bellow
There is some points there are out of scale, and the image signalizes them with those triangles. I want to do it too in one of my recent works, but as i said i have no idea how to. So i would appreciate any helps, tips or references on the topic. I am using PyROOT but any tips in c++ would work out fine for me too.
ROOT Version: Latest
Compiler: Not Provided
Maybe @couet has an idea how to achieve this. He will probably take a look next week
You can check each point on that graph to see whether it’s higher/lower than the max/min y, and create a TMarker for each of those points (e.g. with an array of TMarkers) with the corresponding x coordinate and an appropriate y (e.g. 1.25 or 0.8 in your example plot), then you just draw those markers on the same pad; you can search the Forum for more examples, but here’s one:
I am trying to do what you proposed, but i having some difficulties. what i am plotting in the pull plot is a ratio between two histograms. So what i thinked was to loop through the histogram entries and check if each one of they was lower or higher then ymax/min. So i tried the following code to loop through the histogram data.
nEntries = int(nEntries)
for i in range(nEntries):
But the problems are the following: the number nEntries is a float for some reason, so i turned it by force into a integer, but when i try to obtain the entries of the histogram i get the following error:
AttributeError: ‘TH1F’ object has no attribute ‘GetEntry’
I think this maybe be some Newbie error, but i cound´t solve it.
There is no GetEntry for histograms (only for TTrees). You need to loop over the bins and use GetBinContent; note that bin numbers start from 1 (check at the top of that TH1 documentation page).
It worked, thanks so much for the help!
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.