tutorial:rootcommand

shell에서 바로 입력하여 사용하는 몇 가지 도움되는 명령어들을 정리해보았다. (계속 업데이트 예정)

기본 명령어들

file.root가,
folder (TDirectory)
-tree (TTree)
–branch1
–branch2
–branch3
의 구조라고 생각해보자.

root -ㅣ file.root
folder->cd()
.ls   #folder 아래의 tree 이름이 출력될 것임

tree->GetEntries()   #tree의 이벤트 수 출력

#내용물 보기
tree->Print()   #tree의 내용물이 어떤 형식으로 얼마나 있는지 출력됨
tree->Show(1)   #tree의 1번째 이벤트의 값들을 출력
tree->Scan()    #tree안의 branch의 값들을 출력 (행이 event)
tree->Scan("branch1")   #branch1만 출력
tree->Scan("branch1","branch2 > cut")  #branch2 > cut인 branch1의 값만 출력
tree->Scan("branch1:branch2")    #branch1,2출력
tree->Scan("branch1","","",1000,10)    #10번째 이벤트부터 1000개 출력

tree에서 특정 branch의 히스토그램 그리기

tree->Draw("branch1")

tree->Draw("branch1>>h1(100,0,100)") #"h1"이라는 히스토그램에 branch1을 그림. h1은 0부터 100까지 100칸
#주의: "hist same"으로 그릴때 히스토그램 이름은 반드시 다르게 해야함.
#주의: 여러 파일을 옮겨다니면서 그릴때 _file0->cd()등을 이용해서 파일을 선택하거나, TBrowser에서 해당 파일/트리를 선택한 후 그려야함

#branch2 > cut2 && branch3 > cut3를 만족하는 branch_to_draw만 그리기
tree->Draw("branch1","branch2 > cut2 && branch3 > cut3")

#그리는 옵션. hist (히스토그램), norm (area normalize by 1), same (draw in same canvas) 등등
tree->Draw("branch1","","hist")

#특정 수의 이벤트만 그리기: 100번째부터 1000개를 그림
tree->Draw("branch1","","",1000,100)
  • tutorial/rootcommand.txt
  • Last modified: 2023/03/06 13:44
  • by 127.0.0.1