(旧)研究メモ

kennkyuumemo

研究

TGraphを大量に描く

TGraphをfor文使って大量に描きたいときは、二次元配列を使うとうまいことできる x[3][5] = {{…..}, {…..}, {…..}}; y[3][5] = {{…..}, {…..}, {…..}}; TGraph *g[3]; for(int i=0;i<3;i++){ g[i] = new TGraph(5, x[i], y[i]); g[i]->Draw(); }

2次元ヒストグラムのピークのところでの軸の値をそれぞれもってきたいとき

二次元ヒストグラムでなんかの分布を見て、一番データが集中してるところでのx, yの値がほしいときがよくある ヒストグラムの名前をhist1とすると、 int maxbin; int maximum_xbin; int maximum_ybin; int dammyz; double maximum_x; double maximum_y; maxb…

ROOT Treeからヒストグラム

t1->Draw("a[0]:a[1]"); から、 t1->Draw("a[0]:a[1]","","COLZ"); ってやると2次元ヒストがヒートマップみたいになる

ROOTでコンパイル

ROOTでコンパイルするためのMakefile TARGETS=Hello ROOTFLAGS = $(shell root-config --cflags) ROOTLIBS = $(shell root-config --libs) CXXFLAGS = -Wall -O2 $(ROOTFLAGS) CXXLIBS = $(ROOTLIBS) all: $(TARGETS) Hello: Hello.o g++ -o $@ Hello.o $(CX…

gslでできること一覧

gslでできること一覧(マニュアルより抜粋) 複素数 多項式の求根法 特殊関数 置換 組み合わせ 整列 線形代数 CBLAS ライブラリ 高速フーリエ変換 乱数 数値積分 乱数分布 ヒストグラム 統計 モンテカルロ積分 微分方程式 シミュレーティド・アニーリング ベク…

gslの使い方

gslとは、GNU Scientific Library。いろいろめんどくさい計算すぐできる。インストールしただけではただのライブラリ。例:ベッセル関数 \(J_0(x)\) の、\(x=5\) での値を計算して出力する #include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main (void){ double x = 5.0; double y =</gsl/gsl_sf_bessel.h></stdio.h>…

Geant4でのデータ収集の仕方(2)

一番簡単なやり方、 ユーザフック exampleB1などで使われる。B1では線量計算をStep、Event、Run actionを自作して求める。 1. 構造物を作り、stepping actionをするvolumeを指定 2. Stepping actionクラス内で、今のStepがスコアすべき物体中にあるかどうか…

Geant4でのデータ収集の仕方(1)

Geant4でデータを取る(スコアリング)ために用意されているもの Hit 検出器のsensitiveな領域内での、Trackの物理相互作用のスナップショット。G4Stepオブジェクトに属する以下のような物理量を集める そのStepの位置と時刻 Trackの運動量、エネルギー そのSt…

位置分解能

ガスチェンバーで、ストリップ間隔がdのとき 位置分解能は、yで読み出される確率をP(y)として、 なので