ROOT/기초

이삭위키
둘러보기로 이동 검색으로 이동

상위 문서: 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