Open4

Jupyter上のROOTでTMath::Landauが描けない

yano404yano404

症状

Jupyter lab上のROOTでLandau分布が描けない.
次のようなコードをセルに書いて実行するとスクリーンショットのように四角い枠だけが表示される.

%jsroot on

TCanvas *cv = new TCanvas("cv", "cv", 800, 600);
cv->SetGridx();
cv->SetGridy();
cv->SetTicks();
cv->cd();

TF1 *f1 = new TF1("f1","[0]*TMath::Landau(x,[1],[2])",0,1);
f1->SetParameters(1,0,0.3);
f1->Draw();
cv->Draw();

TF1 *f1 = new TF1("f1","landau",0,1);

としても結果は同じ.

環境

  • MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)
  • macOS 10.15.7
  • ROOT Version: 6.24/00
yano404yano404

gausは問題なく表示される.

TF1 *f1 = new TF1("f1","gaus",-1,1);
f1->SetParameters(1,0,0.3);
f1->Draw();
cv->Draw();

yano404yano404

これはいける.

Double_t landau(Double_t *x, Double_t *param) {
    return param[0] * TMath::Landau(x[0], param[1], param[2]);
}
TF1 *f1 = new TF1("f1",landau,0,50,3);
f1->SetParameters(1,10,2);
f1->Draw();
cv->Draw();