物理と数学とITのあれこれ

物理や数学、パソコンの設定とかプログラミングとかいろいろ書きなぐってます。

2017-01-01から1年間の記事一覧

なぜ加速器を使うのか?〜素粒子と初期宇宙〜①

さて、ここでは加速器や素粒子についておおまかな背景を述べる。 僕は原子核衝突実験の人なので、だいぶそっち方面に偏った説明になるかもしれない。 加速器の話 スイス、フランスの国境付近に CERN(欧州原子核研究機構)と呼ばれる研究所があり、せるんと…

高エネルギー物理の基礎〜はじめに〜

はじめに さて、このブログは今までタイトルの通り自分用の備忘録として使ってきた。 PCとかプログラミングの設定などのメモを中心に書いてきたが、せっかくなので自分が専攻している物理学、特に高エネルギー物理学と呼ばれるものについてもまとめておこう…

丸め誤差の恐怖〜浮動小数点数の扱いに注意する〜

丸め誤差は予想以上に厄介であることを思い知らされた。 こいつのせいで予想外のバグとの格闘に時間を割かれてしまったのだ。 自分への戒めとしてこの文章を残す。 丸め誤差とは? 簡単な例として10/3を考えよう。10を3で割り切ると 3.33333.... と永遠に続…

g++でc++11の機能を使ってコンパイルする時のメモ

コンパイルの方法 g++ -std=c++11 -O2 -Wall ‘root-config --cflags —libs’ -o test test.C とすればtestという名前のオブジェクトファイルができる。 ./test とかすれば実行される。 main関数に引数を与える場合は ./test (引数1) (引数2) とかやれば通る。…

c++ でテキストファイルを読み込んでループを回す時のメモ

データ解析においてテキストファイルに書かれたデータを読み込む機会は結構多い。 俺も今までさんざん使ってきたんだけど、結構細かい書き方忘れちゃうし、曖昧な箇所も多いのでこの際ちゃんと覚える。 例えば次のような内容のテキストファイル(test.dat)…

Linuxで自分の使ってるシェルの種類を確認するときのメモ

自分の使ってるシェルを確認 $ echo $SHELL で現在使ってるシェルの種類がわかる。自分の環境だと。 /bin/tcsh とでた。 cshを拡張、バグ修正したものがtcshらしい。 csh、tcshはcsh系と呼ばれ、 sh、bash、kshはsh系と呼ばれる。文法とかも微妙に違う。 zsh…

rootのTProfileで任意の幅でrebinしたりProfileどうしを足したり割ったりする方法

いくつかのTProfile(or histogram)同士でrebinしたりProfile同士を足したり割ったりしたい。 今まではGetBinContent()でビンの中身持って来て足したりとか脳筋っぽいことをしてたんだけど、 histogramと違ってProfileの場合はエラーの計算とかがめんどくさ…

c++でstd::stringを分割する方法のメモ

stringで文字列を定義した時に途中で分割する必要が出てきた。 例えば "8:3"という文字列を:で区切って8と3をそれぞれ取り出したい場合について考える。 調べるとそれっぽいページが出てきたのでやってみる。 C++ 文字列クラス std::string 入門 どうやらstd…