物理の駅 by onsanai

Physics Station → PhSt 質問・疑問・間違いの指摘は、コメントに書くか、直接伝えるときっと良いことがあります。主にWindows or Ubuntu用の記事です

CERN ROOT/Geant4

Windows向けCERN ROOT5がどのVisual Studioでコンパイルされたか確認する

root -config の標準出力に含まれる文字列で、Visual Studio のバージョンを識別できる vc12 ならVisual Studio 2013 vc11 ならVisual Studio 2012 vc10 ならVisual Studio 2010 下記は、Visual Studio 2013の例 ROOT ./configure options: CMAKE_CXX_STANDA…

ダブルΛハイパー核 NagaraイベントをROOTとPythonを使ってMCで発生させてみる

3体崩壊で、粒子が完全にランダムに崩壊したとすると、粒子1と粒子2の不変質量の2乗と、粒子1と粒子3の不変質量の2乗分布が一様になるように崩壊する。 ROOT のライブラリを使って、これを実際に発生してみる。BΞとΔBΛΛは0としている。 #include <iostream> #include <fstream> </fstream></iostream>…

Windows10とVisual Studio 2017でGeant4を動かした

Overview | geant4.web.cern.ch WindowsでGeant4を入れたお話。 皆さん誤解しているかもしれませんが、WindowsでGeant4は動きます。GUIや、他のLinuxにしか対応していないツールや、マルチスレッド関連を除けば、ちゃんと動きます。 深いことをやろうとする…

Windows Subsystem for Linux (WSL) でCERN ROOTバージョン6を動かすまで

Ubuntu 18.04 LTSのインストール 事前の準備 GUIを使えるようにする Python3でROOTを動かしたい人のための、ROOTバージョン6のコンパイル方法 Pythonを必要としない人のためのROOTバージョン6の簡単インストール方法 ROOTの起動の確認 Windows上のUbuntuの実…

CERN ROOT6の.rootlogon.C の記述例 (プロジェクタで見えづらい色も調整済み)

root.cern.ch ホームディレクトリに .rootlogon.C を置くと、自分のROOTの設定を毎回使えるので便利である。私が使ってるコードがあるので、サンプルとして公開してみる。Atlas styleを参考にした。 gitlab.com 黄緑色と空色はプロジェクタでの視認性が最悪…

Python3でROOTと同様にフィッティングとパラメータの標準誤差を算出する

まずはCERN ROOT + C++ で実装する。 お手本通り、平均値0、標準偏差1、ガウス分布(正規分布)に沿う乱数を10000個作り、ROOTのヒストグラムに詰め、 TF1 の ガウス分布 gaus でフィッティングした。オプション等は何もつけていない。も普通に結果を引用した…

Windows 10でROOT6 (CERN)を動かそう

最終更新: 2019/04/10 bellenot氏曰く、Windows (Visual Studioのcl.exe)でROOT6が動く(コンパイルできる)らしい。だが私の環境では動かなかった。Visual Studio 2019ではコンパイルは一発で通った。だが起動時にエラーが出た。ROOT5は動くので、私の見解と…

Geant4で原子核乾板 (10の12乗チャンネル) を実装した

ミクロンの空間分解能を持ちながら、ミリメートルからメートルのサイズを持つ放射線検出器は原子核乾板以外に存在しない。通常、チャンネル数はある特定の数になるが、原子核乾板の場合はそういう概念はないに近い。1平方センチあたり10の14乗を程度チャンネ…

3Dの位置と角度を持った情報の2次元プロジェクションマップ

CERNが開発しているROOT (バージョン5)を用いた検出器内の飛跡を2次元プロジェクションに投影して描画する方法。 具体的には三次元情報を持つ飛跡を2次元に投影したい時に使う。 #include <vector> #include <random> #include <limits> #include <TArrow.h> #include <TGraph.h> #include <TAxis.h> #include <TCanvas.h> #in</tcanvas.h></taxis.h></tgraph.h></tarrow.h></limits></random></vector>…