(旧)研究メモ

kennkyuumemo

ROOTでヒストグラムをたくさん作る

同じビン、最大値、最小値のヒストグラムをたくさん作りたいとき、 例えば TH1D* h[10]; for(int i=0;i<10;i++){ h[i] = new TH1D(Form("h[%d]",i), bin, min, max); } てなかんじでForm使うと簡潔に書ける。

Fedora19でしばらく困ってたこと

研究棟が停電してたとか、なんかの拍子にFedora19が入ったPCが変になったぽくて、sshでは入れるけどディスプレイになにも出てこない状態がしばらく続いてた。そこで再起動してみると、ログイン画面までは行くんだけどログインした後に画面が硬直する。CUIで…

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…

vector便利

配列って最初定義するときに要素数が必要だけど、vectorならいらない。基本的な使い方は、イテレータと合わせて #include <vector> #include <iostream> using namespace std; int main(){ vector<int> array; int i; for(i=0;i<10;i++){ array.push_back(i); } for(i=0;i<10;i++){ </int></iostream></vector>…

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…

サーチその2

リニアサーチは単純でとてもわかりやすいがもう少し高速化しようと思えばできる。 リニアサーチでは配列の範囲内で目的の数字と一致するまで、という繰り返し部分 while(n < num && a[n] != x){ n++; } if(n < num){ return n; } があったがここでいちいち配…

サーチ

サーチのアルゴリズム。リニアサーチは配列の前から順番に、見つけたいものを探す。 #include <stdio.h> #include <stdlib.h> #include <iostream> #include <time.h> #define NOT_FOUND (-1) #define N (10) using namespace std; int Linear_search(int x, int *a, int num){ int n = 0; while(n </time.h></iostream></stdlib.h></stdio.h>…

サーチ

サーチのアルゴリズム。リニアサーチは配列の前から順番に、見つけたいものを探す。 #include <stdio.h> #include <stdlib.h> #include <iostream> #include <time.h> #define NOT_FOUND (-1) #define N (10) using namespace std; int Linear_search(int x, int *a, int num){ int n = 0; while(n </time.h></iostream></stdlib.h></stdio.h>…

位置分解能

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

バブルソート

最近ソートについて勉強し直したのでメモしときます。ばらばらな配列を、前から順番に見ていって隣同士入れ替えていくのを何回も繰り返す。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <iostream> #define N 10 int x[N]; using namespace std; void BabbleSort(void){ i</iostream></time.h></stdlib.h></stdio.h>…

bashの環境設定ファイル

bashの設定ファイルを読み込む順番1. /etc/profile2. .bash_profile3. .bashrc4. /etc/bashrc5. .bash_logout(あれば).bash_profileの中で source .bashrcと書いて、.bashrcにいろいろ環境設定するのがよい

About

素粒子物理学実験で、シミュレーションとか解析やってて困ったこととかメモをここに書きます