《粒子物理与核物理实验中的数据分析-3502.ppt》由会员分享,可在线阅读,更多相关《粒子物理与核物理实验中的数据分析-3502.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、粒子物理与核物理实验中的数据分析-3502上讲摘要上讲摘要nROOT的TTreeTTree类 TTree*tree=new TTree(“tree”,”mytree”);tree-Branch(“br1”,&br1,”Br1/F”);n填充tree,将tree写入root文件 tree-Fill();TFile*f=new TFile(“f1.root”,”recreate”);tree-Write();n查看root文件中tree的信息 TFile*f=new TFile(“f1.root”);f-ls();TTree*tree=(TTree*)f-Get(“tree”);tree-Scan
2、(),tree-Show(i),tree-Print()n处理tree格式相同的多个文件root文件:TChainTChain TChain*chain=new TChain();chain-Add(“f1.root/tree”);2021/5/222本讲要点本讲要点n直方图的运算 Add,Divide,.nROOT中直方图拟合 h1-Fit();nROOT小结2021/5/223一维直方图之间的操作(1)相加rootTH1F*h3=new TH1F(*h1);rooth3-Add(h1,h2,a,b);常用于相同实验的数据叠常用于相同实验的数据叠加,增加统计量。加,增加统计量。a*h1+b*
3、h2,一般一般a=b=1相减rootTH1F*h3=new TH1F(*h1);rooth3-Sumw2();rooth3-Add(h1,h2,a,-b);常用于从实验测量的分布常用于从实验测量的分布中,扣除本底得到纯信号中,扣除本底得到纯信号的分布的分布。a*h1-b*h2,一般一般a=-b=1图形归一化 rootFloat_t norm=1000;rooth1-Scale(norm/h1-Integral();rooth2-Scale(norm/h2-Integral();rooth1-Draw();h2-Draw(“same”);常用于比较两种分布,找常用于比较两种分布,找出区别。出区别
4、。Scale后后BinContent之和之和为为norm2021/5/224一维直方图之间的运算(2)相除rootTH1F*h3=new TH1F(*h1);rooth3-Sumw2();rooth3-Divide(h1,h2,a,b);rooth3-Divide(h1,h2,a,b,“B”);常用于效率的计算常用于效率的计算。相乘rootTH1F*h3=new TH1F(*h1);rooth3-Sumw2();rooth3-Multiply(h1,h2,a,b);常用于对分布进行诸常用于对分布进行诸如效率等的修正如效率等的修正。2021/5/225一维直方图之间运算的误差虽然虽然ROOT都提
5、供了较完善的一维都提供了较完善的一维直方图运算功能,但对最终结果的误直方图运算功能,但对最终结果的误差一定要仔细检查差一定要仔细检查。很多情况下,用很多情况下,用户需要从图中读出各频数数值与误差户需要从图中读出各频数数值与误差值,并确认运算无误值,并确认运算无误。2021/5/226拟合直方图(1)将鼠标放到直方图上,右键,出现直方图操将鼠标放到直方图上,右键,出现直方图操作选项,选择作选项,选择FitPanel,可以在,可以在FitPanel中选中选择拟合的各个选项,比如用什么择拟合的各个选项,比如用什么函数函数拟合,拟合,拟合的拟合的区间区间,等等。,等等。2021/5/227用默认的高斯
6、拟合,并在用默认的高斯拟合,并在Options菜单中选上菜单中选上Fit Parameters选项,可以看到拟合的结果。选项,可以看到拟合的结果。拟合直方图(2)并不推荐这种拟并不推荐这种拟合方式合方式:1)不适合自定义不适合自定义函数拟合函数拟合2)不适合批处理不适合批处理拟合结果给出了高拟合结果给出了高斯分布的斯分布的3个参数个参数:常系数、均值、均常系数、均值、均方差,以及拟合的方差,以及拟合的好坏好坏chi2/ndf2021/5/228hpx-Fit(“gaus”);hpx-Fit(“gaus”,“”,“”,-3,3);拟合直方图(3)/home/yangzw/workdir/exam
7、ples/Lec5/ex51.C自定义拟合函数自定义拟合函数TF1*fcn=new TF1(fcn,gaus,-3,3);hpx-Fit(fcn,”R”);gStyle-SetOptFit();/设置拟合选项拟合之前往往需要给出参数的大概值fcn-SetParameters(500,mean,sigma);拟合之后取出得到的拟合参数Double_t mypar3;fcn-GetParameters(&mypar0);运行:root-l root 0.L ex51.C root 1 ex51r()root 2 ex51r2()用自定义的函数拟合直方图2021/5/229共振峰共振峰(Breit-
8、Wigner分布分布)加上二次加上二次函数本底的拟合函数本底的拟合(一共一共6个参数个参数)这是这是$ROOTSYS/fit/FittingDemo.C的简化的简化先自定义本底函数先自定义本底函数(background)和共和共振峰函数振峰函数(lorentianPeak),再定义这,再定义这两个函数的和为拟合函数两个函数的和为拟合函数:fitFunction利用利用fitFunction定义定义TF1拟合直方图(3)/home/yangzw/workdir/examples/Lec5/ex52.C这里指定函数区间为0-3,6个参数运行:root-l root 0.L ex52.C注意TLeg
9、end的使用TF1*fitFcn=new TF1(fitFcn,fitFunction,0,3,6);fitFcn-SetParameter(4,0.2);为某个参数设初值(width)fitFcn-SetParameter(5,1);(peak)2021/5/2210ROOT小结n设定ROOT环境变量:ROOTSYS,PATH,LD_LIBRARY_PATHn绘制各种直方图,散点图,数学函数 TH1F,TH2F,TF1,.n随机数产生子,各种分布 gRandom-Rndm,Uniform,Gaus,Exp,.n创建、保存root文件 TFile*f=new TFile(“my”,”recre
10、ate”);f-Write();nTTree,TChain的使用 TTree*mytree=new TTree(“mytree”,”my tree”);mytree-Branch(.);用TChain分析相同格式的数据文件。n直方图的运算,拟合 h1-Fit(“function_name”);2021/5/2211ROOT的重要功能或用法(1)nROOT手册13、14章分别是数学库和线性代数,提供很多数学功能,比如Lorentz矢量的操作,特殊函数,矩阵求解运算,求极值等等nROOT手册第4章介绍Graphs,适用于不等距数据的图形分析(当然也可以构造不等bin的直方图)nRooFit,最大似
11、然法拟合等n神经网络分析方法,TMVA(多元数据分析)nROOT中使用PYTHIA、Geant3/4n图形接口.2021/5/2212ROOT的重要功能或用法(2)nMakeClass,MakeSelector的运用比如当前比如当前/projects/yangzw/examples/Lec5/目录下有文件目录下有文件ex51.root,其中含有复杂的,其中含有复杂的tree。可以用。可以用MakeClass或或MakeSelector自动产生分析文件和头文件:自动产生分析文件和头文件:root 0 TFile f(ex51.root);root 1.lsTFile*ex51.root TFil
12、e*ex51.root KEY:TTree t4;1 Reconst eventsroot 2 t4-MakeClass();或:或:t4-MakeClass(“MyClass”);自自动产生以生以t4.h和和t4.C文件,文件,或或MyClass.h和和MyClass.C文件。文件。类的定的定义以及以及Branch地址地址设定、分析框架都已定、分析框架都已经自自动完成。完成。MakeSelector的用法的用法类似:似:root 0 TFile f(ex51.root);root 1 t4-MakeSelector();或或 t4-MakeSelector(“MySelector”);202
13、1/5/2213ROOT的重要功能或用法(3)n独立编译程序进行ROOT分析 尽管在ROOT环境中运行ROOT脚本很方便,但如果分析处理的东西比较复杂,需要长时间运行,独立编译运行比在ROOT环境中运行要快很多,大约有数量级的差别。/home/yangzw/workdir/examples/Lec5/standalone目录是独立编译运行ROOT的例子。这实际上是SDA习题3.7c的一部分。进入standalone目录后,gmake进行编译就可以运行。2021/5/2214习题练习需要的root文件都存放在下面目录里:/home/yangzw/workdir/examples/Lec5/exe
14、rcise/1.1.查看该double_gaus.root文件。其中存储了名为tree1的TTree。画出tree1的pz分布,并对该分布进行拟合,在图上显示出拟合的结果,并在屏幕上打印出拟合结果。2.(提示:该分布为两个高斯的叠加,可以自定义一个包含6个参数的TF1进行拟合,分布比较复杂的时候,需要先估计参数的大概值,为拟合函数预设估计值。)思考:假设函数fun=p0*exp(-(x-p1)2/2/p22)+p3*exp(-(x-p4)2/2/p52)由拟合得到的结果,比较两个高斯的份额2.hist.root中有两个直方图,对这两个直方图进行加减乘除运算。除法时,查看用”B”选项和不用“B”选项时误差的不同。(提示:h1的事例包含于h2的事例,计算误差需要用”B”选项)3.利用1.root和2.root,将其中的px分别画到两个直方图h1,h2中。对h1,h2进行加减乘除运算,查看误差情况。比较调用与不调用Sumw2()的差别。2021/5/2215参考资料nROOT手册第5章:Fitting Histogramn$ROOTSYS/tutorials/fit目录中的例子 中与Fit有关的例子 中与Fit有关的例子2021/5/2216谢谢!