ROOT/기초: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
편집 요약 없음 |
편집 요약 없음 |
||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
21번째 줄: | 21번째 줄: | ||
== TGraph: 그래프 그리기 == | == TGraph: 그래프 그리기 == | ||
=== 그래프 만들기 === | |||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
void tuto0(){ | void tuto0(){ | ||
28번째 줄: | 30번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 그래프에 점 찍기 === | ||
<syntaxhighlight lang="c++"> | |||
void tuto0(){ | |||
TGraph * g1 = new TGraph(); | |||
g1->SetPoint(0, 1 , 2 ); | |||
g1->SetPoint(1, 2.1, 4.2); | |||
g1->SetPoint(2, 3 , 6.5); | |||
g1->SetPoint(3, 3.9, 9 ); | |||
g1->Draw(); | |||
} | |||
</syntaxhighlight> | |||
=== 그래프를 피팅하기 === | |||
<syntaxhighlight lang="c++"> | |||
void tuto0(){ | |||
TGraph * g1 = new TGraph(); | |||
g1->SetPoint(0, 1 , 2 ); | |||
g1->SetPoint(1, 2.1, 4.2); | |||
g1->SetPoint(2, 3 , 6.5); | |||
g1->SetPoint(3, 3.9, 9 ); | |||
g1->Draw(); | |||
g1->Fit("[0]*x+[1]"); | |||
//또는 아래와 같이 해도 됩니다 | |||
g1->Fit("pol1"); | |||
} | |||
</syntaxhighlight> | |||
== TCanvas: 캔버스 그리기 == | == TCanvas: 캔버스 그리기 == | ||
<syntaxhighlight lang="c++"> | 아래와 같이 매크로를 작성하면, TCanvas 창이 한 개 생성됩니다.<syntaxhighlight lang="c++"> | ||
void tuto1(){ | void tuto1(){ | ||
TCanvas * c1 = new TCanvas("c1", "c1", 1200, 1200); | TCanvas * c1 = new TCanvas("c1", "c1", 1200, 1200); | ||
c1->Draw(); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== TH1: 히스토그램 그리기 == | == TH1: 히스토그램 그리기 == | ||
<syntaxhighlight lang="c++"> | |||
void tuto1(){ | |||
TH1D * h1 = new TH1D("h1", "h1", 101, -0.5, 100.5); | |||
h1->Draw(); | |||
} | |||
</syntaxhighlight> | |||
== TH2: 2D 히스토그램 그리기 == | == TH2: 2D 히스토그램 그리기 == | ||
<syntaxhighlight lang="c++"> | |||
void tuto2(){ | |||
TH2D * h1 = new TH2D("h1", "h1", 101, -0.5, 100.5, 51, -0.5, 20.5); | |||
h1->Draw(); | |||
} | |||
</syntaxhighlight> | |||
== TF1: 수식 정의하기 == | == TF1: 수식 정의하기 == | ||
=== 그래프 그리기 === | === 그래프 그리기 === | ||
<syntaxhighlight lang="c++"> | |||
void tuto3(){ | |||
TF1 * f1 = new TF1 ("f1", "x+1", 0, 2); | |||
f1->Draw(); | |||
} | |||
</syntaxhighlight> | |||
=== TGraph, TH1 에 피팅하기 === | === TGraph, TH1 에 피팅하기 === | ||
<syntaxhighlight lang="c++"> | |||
void tuto3(){ | |||
// 위 tuto0 의 그래프와 동일합니다. | |||
TGraph * g1 = new TGraph(); | |||
g1->SetPoint(0, 1 , 2 ); | |||
g1->SetPoint(1, 2.1, 4.2); | |||
g1->SetPoint(2, 3 , 6.5); | |||
g1->SetPoint(3, 3.9, 9 ); | |||
g1->Draw(); | |||
TF1 * f1 = new TF1 ("f1", "[0]*x+[1]", 0, 5); | |||
g1->Fit(f1); | |||
} | |||
</syntaxhighlight> | |||
== 그래프를 저장하기 == | == 그래프를 저장하기 == | ||
<syntaxhighlight lang="c++"> | |||
void tuto3(){ | |||
// 위 tuto0 의 그래프와 동일합니다. | |||
TGraph * g1 = new TGraph(); | |||
g1->SetPoint(0, 1 , 2 ); | |||
g1->SetPoint(1, 2.1, 4.2); | |||
g1->SetPoint(2, 3 , 6.5); | |||
g1->SetPoint(3, 3.9, 9 ); | |||
g1->Draw(); | |||
g1->SaveAs("g1.pdf"); | |||
g1->SaveAs("g1.root"); | |||
} | |||
</syntaxhighlight> | |||
== Batch Mode == | == Batch Mode == |
2023년 3월 24일 (금) 17:12 기준 최신판
상위 문서: ROOT
프로그램 실행하기
인터프리터 실행
$ root
매크로파일 실행
$ root macro.C
$ root macro.cpp
$ root macro.cxx
$ root macro.cc
void macro(){
//Something funtioning components
}
TGraph: 그래프 그리기
그래프 만들기
void tuto0(){
TGraph * g1 = new TGraph();
g1->Draw();
}
그래프에 점 찍기
void tuto0(){
TGraph * g1 = new TGraph();
g1->SetPoint(0, 1 , 2 );
g1->SetPoint(1, 2.1, 4.2);
g1->SetPoint(2, 3 , 6.5);
g1->SetPoint(3, 3.9, 9 );
g1->Draw();
}
그래프를 피팅하기
void tuto0(){
TGraph * g1 = new TGraph();
g1->SetPoint(0, 1 , 2 );
g1->SetPoint(1, 2.1, 4.2);
g1->SetPoint(2, 3 , 6.5);
g1->SetPoint(3, 3.9, 9 );
g1->Draw();
g1->Fit("[0]*x+[1]");
//또는 아래와 같이 해도 됩니다
g1->Fit("pol1");
}
TCanvas: 캔버스 그리기
아래와 같이 매크로를 작성하면, TCanvas 창이 한 개 생성됩니다.
void tuto1(){
TCanvas * c1 = new TCanvas("c1", "c1", 1200, 1200);
c1->Draw();
}
TH1: 히스토그램 그리기
void tuto1(){
TH1D * h1 = new TH1D("h1", "h1", 101, -0.5, 100.5);
h1->Draw();
}
TH2: 2D 히스토그램 그리기
void tuto2(){
TH2D * h1 = new TH2D("h1", "h1", 101, -0.5, 100.5, 51, -0.5, 20.5);
h1->Draw();
}
TF1: 수식 정의하기
그래프 그리기
void tuto3(){
TF1 * f1 = new TF1 ("f1", "x+1", 0, 2);
f1->Draw();
}
TGraph, TH1 에 피팅하기
void tuto3(){
// 위 tuto0 의 그래프와 동일합니다.
TGraph * g1 = new TGraph();
g1->SetPoint(0, 1 , 2 );
g1->SetPoint(1, 2.1, 4.2);
g1->SetPoint(2, 3 , 6.5);
g1->SetPoint(3, 3.9, 9 );
g1->Draw();
TF1 * f1 = new TF1 ("f1", "[0]*x+[1]", 0, 5);
g1->Fit(f1);
}
그래프를 저장하기
void tuto3(){
// 위 tuto0 의 그래프와 동일합니다.
TGraph * g1 = new TGraph();
g1->SetPoint(0, 1 , 2 );
g1->SetPoint(1, 2.1, 4.2);
g1->SetPoint(2, 3 , 6.5);
g1->SetPoint(3, 3.9, 9 );
g1->Draw();
g1->SaveAs("g1.pdf");
g1->SaveAs("g1.root");
}
Batch Mode
인터프리터 실행
$ root -b
매크로파일 실행
$ root -b macro.C
$ root -b macro.cpp
$ root -b macro.cxx
$ root -b macro.cc