【ROOT from CERN】——THistogram类概览

ROOT使用THistogram类来绘制统计直方图。本文只总结了官网上部分代码和最最常用的构造函数等。如果能读透做很大一部分图像完全没问题。有些部分我会使用英语。

一、继承关系-Inheritance

如图所示,TH1为一维直方图,TH2为二维直方图,TH3为三维直方图。后缀的C,D,F,I,S分别为char,double,float,int,short。其意义为该直方图内每个道填充的事例的数量的上限。

具体的细节如下,引自官网: 

  • 1-D histograms:
    • TH1C : histograms with one byte per channel. Maximum bin content = 127
    • TH1S : histograms with one short per channel. Maximum bin content = 32767
    • TH1I : histograms with one int per channel. Maximum bin content = INT_MAX (*)
    • TH1F : histograms with one float per channel. Maximum precision 7 digits
    • TH1D : histograms with one double per channel. Maximum precision 14 digits
  • 2-D histograms:
    • TH2C : histograms with one byte per channel. Maximum bin content = 127
    • TH2S : histograms with one short per channel. Maximum bin content = 32767
    • TH2I : histograms with one int per channel. Maximum bin content = INT_MAX (*)
    • TH2F : histograms with one float per channel. Maximum precision 7 digits
    • TH2D : histograms with one double per channel. Maximum precision 14 digits
  • 3-D histograms:
    • TH3C : histograms with one byte per channel. Maximum bin content = 127
    • TH3S : histograms with one short per channel. Maximum bin content = 32767
    • TH3I : histograms with one int per channel. Maximum bin content = INT_MAX (*)
    • TH3F : histograms with one float per channel. Maximum precision 7 digits
    • TH3D : histograms with one double per channel. Maximum precision 14 digits

二、构造函数-Constructor

对于所有的TH1(包含TH1C,TH1S,TH1I,TH1F,TH1D)具有类似的构造函数,合并为一类进行介绍。TH2以及TH3同理。

1、TH1

(1)Constructor for const bin size histograms

最常用的histogram构造函数,可以用来构建一个各区间等长的直方图。除最后一个区间为闭区间以外,每个区间均为前闭后开。

TH1::TH1 	( 	const char *  	name,
		        const char *  	title,
		        Int_t  	nbins,
		        Double_t  	xlow,
		        Double_t  	xup 
	        ) 	

Example:

TH1* th1 = new TH1("th1","test1",100,1.,100.);

//or you can:
TH1C* th1 = new TH1C("th1","test1",100,1.,100.);
TH1I* th1 = new TH1I("th1","test1",100,1.,100.);
TH1F* th1 = new TH1F("th1","test1",100,1.,100.);
TH1D* th1 = new TH1D("th1","test1",100,1.,100.);

(2)Constructor for variable bin size histograms

TH1::TH1 	( 	const char *  	name,
		        const char *  	title,
		        Int_t  	nbins,
		        const Float_t *  	xbins 
	        ) 	
TH1::TH1 	( 	const char *  	name,
		        const char *  	title,
		        Int_t  	nbins,
		        const Double_t *  	xbins 
	        ) 	

2、TH2

TH2类常用的构造函数。 

TH2::TH2 	( 	const char *  	name,
		        const char *  	title,
		        Int_t  	nbinsx,
		        Double_t  	xlow,
	        	Double_t  	xup,
		        Int_t  	nbinsy,
		        Double_t  	ylow,
		        Double_t  	yup 
	        ) 	

3、TH3

用处较少,仅罗列。

TH3::TH3 	( 	const char *  	name,
		        const char *  	title,
	            Int_t  	nbinsx,
		        Double_t  	xlow,
		        Double_t  	xup,
		        Int_t  	nbinsy,
		        Double_t  	ylow,
		        Double_t  	yup,
		        Int_t  	nbinsz,
		        Double_t  	zlow,
		        Double_t  	zup 
	        )

 三、常用方法

TH1类用处极广,方法极多,常用于绘制统计直方图,各类粒子谱,数学统计量分布等,具体请参阅《TH1绘制一维直方图》。TH2类常用于做平面散点图或截面密度或通量分布,之后也会单作一篇文章。TH3一般情况下使用频率较小,不再单独总结。此篇文章仅简单梳理THistogram的脉络,有兴趣的读者可以自行查看文尾的参考网站。

【资料】

1、ROOT官网——ROOT: analyzing petabytes of data, scientifically. - ROOT

2、ROOT文档——ROOT: Histogram Library

如有错误请指正。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值