Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
====== ヒストグラムのbin、境界上はどっちに入る? ======
ヒストグラムのbin IDは, ヒストグラムのbin数をnbinsとして
bin = 0; underflow bin
bin = 1; first bin with low-edge xlow INCLUDED
bin = nbins; last bin with upper-edge xup EXCLUDED
bin = nbins+1; overflow bin
のように振られる。
bin = i, (1
TH1D *hist = new TH1D("hist","",10,0,10);
hist->Fill(1);
Int_t ibin = hist->FindBin(1);
cout << "Integral [0,1] : " << hist->Integral( hist->FindBin(0), hist->FindBin(1) ) << endl;/// <-(a)
cout << "Integral [0,1) : " << hist->Integral( hist->FindBin(0), hist->FindBin(1-1e-6) ) << endl;/// <-(b)
cout << "bin content[0,1): " << hist->GetBinContent( hist->FindBin(0) ) << endl;/// <-(c)
とした場合、
* bin=1 : 0 ≦ x < 1, bin=2 : 1≦ x < 2 のようになる。
* Fillした1は以下の図のように、bin=2 : 1≦ x < 2 のbinに入る。
* ibinには2が返る
* (a)のようにした場合は0を含むbin (bin=1) から1を含むbin (bin=2)までのIntegralを取りなさい、ということなので、bin=2も含んでしまって1が返る。0-1のbinのことを指定したいのであれば、(b)のようにする。(これは(c)と同じこと)
となる。
{{:ja:root:histbin.png?600|}}