Python、ROOT、MINUIT の統合?[閉まっている]
-
22-08-2019 - |
質問
私は高エネルギー素粒子物理学科の地味な大学院生です。C/C++ に対する根拠のない嫌悪感と、Python への根深い愛を持っている私は、これまでデータ分析 (簡単なものだけ) に Python に頼っており、ROOT ライブラリに対して Python スクリプトをバックアップしようとしています。特に、いくつかのパラメータの最小化。
これらのインストールと使用に関するヒントを誰かが持っているかどうかを尋ねるだけでなく、試してみる価値があるのか、それとも C/C++ を使用する「標準」に滑り込むだけの価値があるのか、あるいは pyminuit のようなものが使用できるのかどうか疑問に思いました。 。それとも、C/C++ スクリプト全体を Python コードにラップして、既存の自作の分析メソッドを利用できると思いますか (私にはまだラッパーの経験がありません)。曖昧ですみません。私は今、自分の現在の経験をはるかに上回る未知の世界に向かっています。
解決
あなたは知っています pyROOT, 、 右?
私自身は試したことがないので、それがあなたのニーズにどのように影響するかわかりません。
他のヒント
おそらくチェックしてみる価値があります ルートピー. 。まだ完全に成熟していないかもしれませんが、正しい方向への一歩です。
はい、rootpy は上に構築されています PyROOT, ですが、いくつかの追加機能があります。
- これは Python インターフェイスを強調し、ROOT の醜さの一部を隠します。
- それはと統合します マットリブプロット, 、より大きな開発コミュニティがあり、見栄えの良いプロットは言うまでもなく、SO での存在感が大きくなります。
- への変換が可能になります HDF5 ファイルを使用すると、モノリシック ROOT パッケージをインストールする時間が取れない人々とデータを共有できるようになります。
残念ながら、その上に構築されたものを操作している限り、 CINT (PyROOT です)、次のいずれかを処理する必要があります。 ROOTの最も醜い部分.
PyROOT をいじるのにうんざりしている場合のもう 1 つのオプションは、次のいずれかを使用することです。 ROOT を HDF5 に直接変換するパッケージ
私は少し前に minuit ラッパーを書きました (私の 1 つの経験のサンプルでは、ROOT の minuit は pyminuit よりも堅牢であるように見え、私は ROOT Minuit の出力の方が好きです)
https://github.com/piti118/RTMinuit
numpy ルートファイル読み取り機能付き
https://github.com/piti118/root_numpy
そしてあまり洗練されていないフィッティングライブラリやおもちゃの世代など。RTMinuit と numpy に基づく
https://github.com/piti118/dist_fit
チュートリアルとヘルプはすべてパッケージに含まれています