Home | News | Documentation | Download

FindBin(x) and GetBin(binx) usage!

Hi everybody,
Can anybody tell me how to use exactly FindBin(x) where x is a random value on the x axis of a histogram and GetBin(binx) where binx is the bin no on the x axis of a histogram.

Please, give me a little code by including these two methods.

Thanks in advance.

TH1::GetBin
TH1::FindBin
TH1::FindFixBin

Thanks, but I know these website. The problem is that website sometimes is not so clear for everybody.
I have codes, but I didn’t want to post them. I just wanted somebody who uses these everyday perfectly to write me 4 or 5 line of code to see the difference.

For instance, imagine my histogram starts from 0 keV to 600 keV. (Namely from 0 to 600 as a number) If you choose any number on X axis, let’s say 60, that will correspond to the bin number 60+1= 61. Thus,
when you say :
TAxis *axis = h1->GetXaxis();
int bin_no = axis->FindBin( 60 ); the answer is bin_no= 61, but
when you say:
h1->GetBin(61); the answer is 61 because you actually gave the answer already inside (61). What’ s the purpose here? Nothing.

In that perspetive, I think it is useless, but in the “for loop” it is more useful. However, I still need a little working code to see how it works.

These things are important because you may have energy on your X axis and it was channel number before calibration of the histogram’s x axis. When you might need a conversion between them. you use FindBin(…) not GetBin(…) in the case of channel number occasion.
Sincerely yours.

grep -r "GetBin(" ${ROOTSYS}/t[eu]*