I have a dataset, read from a file with x and y values, out of which I make a TGraph. I wish to integrate the graph between two values along the x-axis, which sounds trivial, but certainly is not. I understand I have three options:
Make a closed polygon
Generate a histogram from the TGraph
Fit the graph
As I do not wish to fit the graph, I am left with options 1) and 2).
Option 2) would be rather painless, as it is easy to compute an integral from a histogram. However, the histogram I get is empty (drawing the TGraph with option “A”, as it says one can do to make GetHistogram successful, renders the drawing of the TGraph empty, that’s why I have toggled it off in the attached example. The result is the same). Perhaps the GetHistogram function of TGraph only provides the axis; in such case, I’d suggest to rename the function. Any help on retrieving a non-empty histogram from a TGraph would be appreciated.
Option 1) turns out to work in mysterious ways. I have attached a minimal working example in pyroot, in which I create a closed polygon by adding two points along y=0; one at the origo in the beginning, and one at the maximum x-value at the end. Integrating the full polygon works, but any other index ranges give unexpected numbers? integral_test.py (1.07 KB)
I am (see attached code); it’s not working. I’ve made the whole graph a polygon as described, but it only gives the correct answer if I do the integral of the full graph; Integral(0,-1). If that’s the only things that works, I do not see why there is an option to give an index range.
Ok. I don’t see how copying the TGraph (Clone) will help, because I don’t know how to manipulate it to create a closed polygon. What I can do is to add four points to the data, enclosing the region I want to integrate and make a second TGraph from this:
[code]#add points to make a closed polygon just where you want the integral
to be sure to have the right lines drawn, give all four points
So you confirm that the index range of the Integral function of TGraph is not useful, as well as that there is no way to extract a meaningful histogram from a TGraph (in such case, I as mentioned suggest to rename the function GetHistogram)?