root学习笔记 新
更新时间:2023-11-30 19:46:01 阅读量: 教育文库 文档下载
- root权限怎么开启推荐度:
- 相关推荐
设置Axis上面的刻度线 命令:Tpad::SetTicks()
Tpad::SetTicks(tx,ty):tx和ty的相关参数查询。 重画Axis:
gPad->RedrawAxis() 设置坐标轴的Titles
1:先得到直方图的坐标轴;2:设置title
Histogram pointer->GetXaxis()->SetTitle(“X/Y/Z axis title”) 例子:h->GetXaxis()->SetTitle(“E_{T}”)
创建直方图的同时设置直方图以及坐标轴的titles
TH1F* h=new TH1F(“h”, ”Histogram title ;X Axis ;Y Axis ; Z Axis”,100,0,1) 或者:h->SetTitle(“Histogram title ; An other X title Axis”) 画直方图的副本
例:TH1F* hnew=(TH1F*)h->Clone() //画直方图的copy, hnew->SetName(“hnew”) //重命名Clone直方图 向一个file保存直方图/从一个File读取直方图信息 Save:1:创建ROOT file(TFile f(“root file’s name”,”new”)
2: 创建直方图 3:填充直方图
4:将直方图写进root file(直方图指针->Write()). Read:1:打开直方图(TFile f(“root file’s name”))
2: 获得直方图 (TH1F *h=(TH1F*)f.Get(“直方图名”)) 设置字母bin label
Taxis:: SetBinLabel( bin, label)
有关用随机数填充直方图方面的命令
gRandom->Rannor(px,py) gRandom是随机数generator,此命令产生两组满足高斯分布(mean=0,sigma=1)的数 关于剖面直方图的一些命令 剖面直方图的构造函数TProfile(const char*name,const char*title, Int_t nbinsx,Double_t xlow, Double_t xup, Double_t ylow, Double_t yup,Option_t *option).
画剖面直方图不显示error bar;在TProfile::Draw()里面用”HIST”选项。 根据一个剖面直方图创建一个常规直方图:TProfile::ProjectionX。 从一个TTree产生一个剖面直方图:在TTree::Draw method里面用’prof’和’profs’选项,(’prof’产生带有error on the mean的TProfile;’profs’产生带有error on the spread的TProfile)。
对直方图的坐标进行设置:直方图指针->GetXaxis->SetAxisColor()/SetTitle();
Draw命令的一些options
Draw(”iso”)->画的是高洛德着色的等值曲面图。
TPie类:
创建一个饼状图(Pie Chart)来表示一个一维的数据集。 关于画TPie的一些options:
”R” 在饼状图的分区/分块的中间画出标签;
“3D” 用三维效果来画饼状图, “NOL” 不画出饼状图中的轮廓线; “>”按片增加的顺序进行排序
“<”按片减小的顺序进行排序(以逆时针方向来说) SetLabelFormat():自定义标签格式,格式字符串中必须包含一个修饰符: -%txt 打印饼状图中条块的文本标签; -%val 打印片块的数值
-%frac 打印片块的相对分数 -%perc 打印片块的百分数 Graphs:
Graph是两个数组X和Y的图形对象。
Graph class 类包含TGraph,TGraphErrors,TGraphAsymmErrors ,and TMultiGraph. TGraph 类对于等间距和非等间距的点都使用,创建graphs的步骤可以分为两步: 1:定义坐标数组
2:创建graph TGraph* const char=new TGraph(n,x,y); n表示点的数目。 Graph 的Draw Options 总结:
“L”在两个点之间会画一个简单地多义线; “F”填充以点为边界的条件; “A”画出坐标轴,“C”画出光滑的曲线; “*”每个点上画一个“*” “B”在每一点画条形图; 一般的option搭配为“AB”,“AC”,“AC*”。
注意:在填充画图之前,要先设置填充颜色,因为默认的填充graph的颜色是白色,在白色的画布上面不易看到;另外还需要给定坐标轴,即要有“A”option,否则填充的多边形无法正确显示。
对TGraph类的坐标进行设置:TGraph类指针->GetXaxis->SetAxisColor()/SetTitle() 两个graphs的叠加:
在叠加两个graphs时,坐标轴只需要画一次,在第二个graph的draw options里去掉“A”即可实现。
Graph with Error Bars
TGraph with error bars 的类是TGraphErrors。 画布指针-> SetFillColor( ) 填充画布颜色
画布指针-> SetGrid( ) 对坐标区间画梯度线(画格子) 带有不对称误差线的graphs
带有不对称误差线的graph的类是TGraphAsymmErrors; 带有不对称的弯曲误差线的graphs
带有不对称的弯曲误差线的graph的类是TGraphBentErrors。 TGraphPolar类
TGraphPolar类用来创建一个polar graph (带有error bars);极坐标轴用TGraphPolargram类来画。
TMultiGraph
TMultiGraph类是graph对象的集合,它允许操作一组图形作为一个整体(注意:在绘制的时候,X和Y轴的排列会自动计算以使所有的图像能够显示出来)。
TMultiGraph将对象存放在list中,TMultiGraph::Add 用来将new的graph添加到list中。Draw的options同TGraph的Draw options 相同。 例TGraph *gr1 = new TGraph(...
TGraphErrors *gr2 = new TGraphErrors(... TMultiGraph *mg = new TMultiGraph(); mg->Add(gr1,\ mg->Add(gr2,\ mg->Draw(\TGraph2D
新建TGraph2D对象:
(1) TGraph2D *g = new TGraph2D(n,x,y,z);(n为X,Y,Z三个数组的维度) (2) TGraph2D *g = new TGraph2D(n); (3) TGraph2D *g = new TGraph2D();
填充graph2D里面的数据点/填充数组的method:SetPoint(i,x,y,z) TRandom
TRandom是一个随机数的产生类;Rndm()method是在0~1之间产生分布一致的浮点。 设置graph的轴标题
给一个graph设置轴标题,首先要把graph画出来,graph画出来之后才会有一个轴对象。
设置轴标题的步骤:(1)得到轴的地址;(2)调用TAxis::SetTitle() method(如果想让标题居中,调用TAxis::CenterTitle()) 放大Graph
首先要先创建一个直方图与所需的轴范围;然后画一个空的直方图,用空的直方图的轴来画graph。
Fitting Histogram 章节
对于一个直方图的拟合有两种方法:(1)通过直方图的下拉菜单的FitPanel;(使用Fit Panel 之前,直方图要先在Pad上画出来)。(2)运用TH1::Fit method(多用于脚本和程序中). TH1::Fit
Void Fit(拟合函数的名字,拟合选项(fitting option),图形选项(同TH1::Draw),Axis_t xxmin, Axis_t xxmax (拟合范围))。
拟合函数可以是系统定义的函数,也可以是用户自定义的函数; 系统预定义的函数有:“gaus”,“expo”,“polN”,“landau” 用户自定义的函数有三种定义方法:
(1) 使用C++表达式和一组TFormula中定义的算符和函数(用公式定义TF1) TF1 *pointer=new TF1(“the name of TF1”,”TF1的表达式”,xmin,xmax) (2) 使用C++表达式和参数
a:TF1 *pointer=new TF1(“the name of TF1”,”TF1含有参数的表达式”,xmin,xmax)
例:TF1 *f1=new TF1(“f1”,”[0]*x*sin([1]*x)”,-3,3) b: f1->SetParameter(0,10)
c: f1->Draw()
(3) 用户自己定义函数,并自己为构造函数附名。
Double_t fitf(Double_t *x,Double_t *par)
X:指向数组维度的指针;par指向参数数组的指针。
确定参数值并设置参数的范围
设置一个参数的范围,使用TF1::SetParLimits;
例子:func->SetParLimits(0,-1,1) //设置第0个参数的取值范围为-1到1 如果范围的上下界限一样,那么参数的数值就被确定
例子:func->SetParLimits(4,10,10) //设置第四个参数的大小为10 至此,确定参数值可以有两种表达: (1) func->SetParameter(4,10) (2) func->SetParLimits(4,10,10)
注意:将一个参数值设置为0,必须调用TF1::FixParameter;即func->FixParameter(4,0) , 或者func->SetParameter(4,0) 怎样在同一个直方图上面拟合几个不同的函数:
默认情况下,针对一个直方图的拟合命令,会把之前的拟合函数删除,只保留最近的拟合函数;因此要想在同一个直方图上面拟合几个不同的函数就要在Fit function的第二个参数具体“+”option。
TLegend (1)新建一个TLegend的方法:TLegend *指针=new TLegend(x1,y1,x2,y2,const char* header = \)
一个TLegend是以几个TLegendEntry为基础的;x1,y1,x2,y2是当前pad的TLegend的坐标;\是显示在TLegend顶部的标题。 (2)设置TLegend里面的相关字型,字体等
TLegend指针->SetTextFont()//设置TLegend里面的文本字型
TLegend指针->SetTextSize()//设置TLegend里面的文本字体的大小 (4) 向TLegend里面添加条目
TLegendEntry * AddEntry(const TObject* obj, const char* label = \Option_t* option = \ //将一个新的条目添加到TLegend里面;“obj”是显示的对象指针,label是TLegend里面和“obj”关联的文本,如果“label”是null或空的,对象标题将会被使用。 Options are:
L: draw line associated with TAttLine,如果“obj”继承与TAttLine
P: draw polymarker associated with TAttMarker if obj inherits from TAttMarker F: draw a box with fill associated wit TAttFill if obj inherits TAttFill E: draw vertical error bar if option \(5)画TLegend
TLegend指针->Draw()
如何使拟合参数在数据框中显现出来 TStyle::SetOptFit(mode) mode=pcev P=1:print 拟合几率
c=1 print Chi-square/number of degrees of freedom
e=1 Print 误差(如果e=1,v必须为1) v=1 print 参数的名字和值
例子:print 拟合几率,参数名字和参数值,以及参数误差 gStyle->SetOptFit(1011) 针对.root文件的操作
TFile::Map( )在Scan文件的时候,按顺序读取文件并打印每个记录的信息。 TFile::Get( )在文件里面找到一个特定的对象 显示.root文件里的对象列表的语法
KEY:<类名> <对象名>;<循环次数><标题>
当前目录的相关操作(gDirectory代表的就是当前目录):
当创建了一个TFile对象,它就会成为当前的目录,因此最后打开的file通常是当前的目录,检查当前目录的命令:gDirectory->pwd( (如果命令返回的是)Rint:/;Rint代表当前目录是ROOT session) 当打开多个TFile对象的时候,可以使用gDirectory::cd命令改变当前目录到前面的TFile文件.
正在阅读:
root学习笔记 新11-30
2017年人教版一年级语文下册语文园地五练习题及答案12-29
高三语文作文经典素材04-13
校园财务工作总结2022年8篇04-03
中央广播电视大学社会实践考核表(1)09-01
TD测试规范03-17
淘宝客服培训流程02-26
潮州高考第二次模拟考试42703-08
叙利亚危机影响全球石油市场 doc03-10
2016企业财务会计复习题09-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 笔记
- 学习
- root
- 放射物理与防护练习题
- 选择性必修06-2017年版新课标高中语文72篇必背古诗文理解性默写之《归去来兮辞》并序(含答案)
- 开题报告:交互式网站设计
- 锅炉爆炸事故后果分析
- 《高级会计学》试卷A含答案
- 大工15秋机械制造与自动化专业《生产实习》报告报表及要求答案
- c语言程序设计试题库
- 西南交2017年6月《工程经济学A》复习题及参考答案
- 同济大学(高等数学) - 第五章 - 定积分及其应用
- 第三章练习题
- 2018年上海高三一模语文汇编文言文阅读一
- 实习生临床实习规范
- 冀教版小学三年级英语教学计划
- 湖北省孝感高中2015届高三理综测试(九)
- 英语信息性演讲稿范文
- 11月下旬11级工程管理团组织生活总结
- 合伙人转让所有份额法律问题
- 办公室秘书求职简历范文参考word版本(1页)
- 反转录PCR操作手册1
- 六年级高斯学校竞赛构造论证二含答案