ROOT/기초: 두 판 사이의 차이

1,275 바이트 추가됨 ,  2023년 3월 24일 (금)
편집 요약 없음
편집 요약 없음
편집 요약 없음
 
34번째 줄: 34번째 줄:
void tuto0(){
void tuto0(){
     TGraph * g1 = new TGraph();
     TGraph * g1 = new TGraph();
     g1->SetPoint(0, 1  , 2);
     g1->SetPoint(0, 1  , 2 );
     g1->SetPoint(1, 2.1, 4.2);
     g1->SetPoint(1, 2.1, 4.2);
     g1->SetPoint(2, 3  , 6.5);
     g1->SetPoint(2, 3  , 6.5);
     g1->SetPoint(3, 3.9, 9);
     g1->SetPoint(3, 3.9, 9 );
     g1->Draw();
     g1->Draw();
}
}
46번째 줄: 46번째 줄:
void tuto0(){
void tuto0(){
     TGraph * g1 = new TGraph();
     TGraph * g1 = new TGraph();
     g1->SetPoint(0, 1  , 2);
     g1->SetPoint(0, 1  , 2 );
     g1->SetPoint(1, 2.1, 4.2);
     g1->SetPoint(1, 2.1, 4.2);
     g1->SetPoint(2, 3  , 6.5);
     g1->SetPoint(2, 3  , 6.5);
     g1->SetPoint(3, 3.9, 9);
     g1->SetPoint(3, 3.9, 9 );
     g1->Draw();
     g1->Draw();
   
     g1->Fit("[0]*x+[1]");
     g1->Fit("[0]*x+[1]");
    //또는 아래와 같이 해도 됩니다
    g1->Fit("pol1");
}
}
</syntaxhighlight>
</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);
64번째 줄: 67번째 줄:


== 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 ==