データ解析
単なる遊びです。Style file にデータの表示形式を書き、データ辞退は Data file に書いて ROOT で図を作る簡易スクリプト。 #!/usr/bin/env python # Teruaki Enoto 2012-02-03 from optparse import OptionParser import array import shlex import ROOT s…
次のようなパラメータファイルを読むスクリプトの定型をメモしておきます。 par1 = 3 par2 = 0.4from optparse import OptionParser import shlex class MainClass(): def __init__(self, parfile, verbose=0, logfile="logfile.txt"): self.parfile = parfi…
特に何ということもないんだけれど、自由度 k=4のカイ二乗分布を ROOT と python で描いてみた。自由度 k=4 のカイ二乗分布は、平均値 k = 4、分散 2k = 8、最頻値 k - 2 = 2、中央値 k-2/3+4/27k -8/729k^2=3.4 で分布する。周期性を探す Zn-test (Raileig…
非対称誤差を ROOT や Matplotlib で描く頻度はかなり多いのに、いざ書こうとしたときに記法を忘れたりしているので、簡単だけどまとめておきます。 #!/usr/bin/env python import array x = array.array('f', [1.3, 3.0, 6.8, 9.0]) y = array.array('f', […
Python は pyExcelerator で Excel ファイルを hundle することができるようになります。 以下では、Excel ファイルを生成してセルに色をつけてみました。 #!/usr/bin/env python import pyExcelerator as xls # ------------------- # Write # ------------…
某「風船衛星たんぽぽ」プロジェクトのために、 地表から 40 km くらいまでの大気温度と大気圧をプロットしてみた。 Python Matplotlib で X 軸が 2 つの場合のプロットの例になっているので、 メモ代わりにここに書き留めておきます。 データは1976 年の U.…
ROOT で 1 枚のキャンバスの上に複数の図をプロットする場合、キャンバスを Divide するのが一般的だが、これだと図と図の間に余分な空白ができてしまい、調整が面倒になる。必ずしも best な方法ではないかもしれないが、better な方法として、キャンバスの…
Python の標準的な GUI ツールを作成できる tkiner である種の実験用の制御卓(Console)を作り、そのパラメータを XML で保存するスクリプトを作ってみた。 """ Class for console hundring frm = frame lab = label ent = entry btn = Botton swc = Switch "…
今年のクリスマスから正月にかけて、ちょっくらアメリカ大陸を陸路で横断してみました。 Amtrak という日本の JR みたいな鉄道会社を利用した旅。 San Francisco から Chicago までは California Zephyr 号で、 Chicago から Boston までは Lake Shore Limit…
FITS 形式のファイルを python で操作するための pyfits を使うのは便利です。 たとえば、GTI Extension に含まれている GTI の start と stop を読んで、 全 GTI の時間を計算するには次のようにします。 #!/usr/bin/env python import sys import pyfits i…
contour を描いてみた覚え書き。式は以下ね。 contour は numpy の meshgrid として以下が参考になります。 http://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.html import numpy import pylab def electron_energy(gamma, theta): numer…
python の matplotlib (もしくは pylab)で極座標系での図を作ってみた。 単なる遊び。 で定義されるコンプトン散乱の式をプロットしてみよう。 なお、線の色は以下を参考にするとよい。 http://html-color-codes.com/ import pylab import math def cross_se…
ちょっと必要があって簡単な相互相関関数の計算をした。 一応、離散データ, から相互相関関数を で計算させてみた*1。 #!/usr/bin/env python import array import math import ROOT ROOT.gStyle.SetTitleBorderSize(0) def cross_correlation(array1, array…
python のライブラリ matplotlib で、関数の図を描く遊び。 ここでは試しに黒体放射からのスペクトルを例にしてみた。 欧米で主流の、python でほぼ全てやってしまう流へのステップのひとつ。 import pylab def planck(x, kt): norm = 2.1e-4 y = norm*x**3/…
ROOT (or + python) で描画するときに canvas が現れる。 background で走らせたいときなどのバッチモード(batch mode)では、以下のようにする。 C++ な中では、 gROOT->SetBatch(true)なので、python では import ROOT ROOT.gROOT.SetBatch(True) と指定す…
スクリプト終了時にビープ音が鳴ると便利、ということもある。 ターミナル・エミュレータ依存かもしれないが、 Mac のターミナル環境下では以下のようにするとビープ音を 3 回ならす。 import sys for i in range(3): sys.stdout.write('\a') sys.stdout.flu…
いささか邪道ですが、ROOT で強引に複数の図を隙間を小さくして並べてみた。 ROOT は解析には強いですが描画は少し面倒で、あまり美しい記法にはなっていませんが、 まずは見られないというほどの図でもないでしょう。 結果の図から書いてみると。 これに相…
ROOT の Tree に新しい Branch を加える場合の python での記法。 あらかじめ断っておくと、この書き方はあまり正しくありません。 やっつけで書いて動くのでメモ。後で少し修正が必要です。 ここでは、「Python で ROOT の tree に書き込む/読み込む」のエ…
コマンドラインの解析ライブラリ optparse の使い方 & テンプレートをメモしておきます。 こっちに来てから教えてもらいました。以前は perl で鈍くさく書いていたので便利です。 まず実例。script.py の中身を #!/usr/bin/env python from optparse import …
Python の便利なところはインタプリタ言語として、電卓代わりの使い方もできるところ。 そうすると、物理次元(単位)の計算もできると便利と思うのが自然な流れ。 そこで、値の大きさ、次元、場合によっては精度(不定性)を取り扱うために quantities というラ…
ROOT を使ったデータの Spline 補間についてのメモ。 ここでは、3 次の spline 補間 TSpline3 を試している。 Class と付随するメソッドについては元ソース参照*1, *2,*3。 Spline 補間の数学的基礎も参考にしてください*4。 3 次の Spline 補間 (TSpline3) …
ROOT の Graph で凡例をつける Legend の方法を python でメモ。 leg = ROOT.TLegend(0.6,0.6,0.75,0.78,"Legen Exampled","NDC"); leg.AddEntry(graph0, "Data","lp") leg.AddEntry(graph2, "Red Line","l") leg.AddEntry(graph3, "Green Line","l") leg.Se…
元のソースコードは ROOT の tutorial に載ってますが*1、 ROOT のフィット結果をもとに n-σ の countour を描く方法を python で写経する。 Minuit では Function value (chi-square value など)がある値 UP になる範囲をもって パラメータの誤差を定義する…
計算値や実験データを示す際に、誤差を誤差棒ではなく網掛け範囲で示したい場合が稀にある。 ROOT + Python でこれを行う場合のメモ。最後の shade 以下の箇所が対応する網掛けの方法*1。 通常の TGraph で外周を指定した後、SetFillStyle で内部を埋めてい…
西海岸の研究者の人は、観測データの解析に Python を使うことが多いです。 とっても忘れやすい自分のために、よく使う Python のコードをメモしておきます。 (他にもいろいろな書き方があります。もっと綺麗に書く方法など、ご教授ください) Python を使っ…