粒子物理与核物理实验中的数据分析3502.ppt_第1页
粒子物理与核物理实验中的数据分析3502.ppt_第2页
粒子物理与核物理实验中的数据分析3502.ppt_第3页
粒子物理与核物理实验中的数据分析3502.ppt_第4页
粒子物理与核物理实验中的数据分析3502.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

粒子物理与核物理实验中的 数据分析 杨振伟 清华大学 第五讲:ROOT在数据分 析中的应用(3) 1 上讲摘要 nROOT的TTree类 TTree *tree = new TTree(“tree”,”mytree”); tree-Branch(“br1”, 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(),tree-Show(i),tree-Print() n处理tree格式相同的多个文件root文件: TChain TChain *chain = new TChain(); chain-Add(“f1.root/tree”); 2 本讲要点 n直方图的运算 Add,Divide,. nROOT中直方图拟合 h1-Fit(); nROOT小结 3 一维直方图之间的操作(1) 相加 rootTH1F *h3=new TH1F(*h1); rooth3-Add(h1,h2,a,b); 常用于相同实验的数据叠 加,增加统计量。 a*h1+b*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”) ; 常用于比较两种分布,找 出区别。 Scale后BinContent之和 为norm 4 一维直方图之间的运算(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); 常用于对分布进行诸 如效率等的修正。 5 一维直方图之间运算的误差 虽然ROOT都提供了较完善的一维 直方图运算功能,但对最终结果的误 差一定要仔细检查。很多情况下,用 户需要从图中读出各频数数值与误差 值,并确认运算无误。 6 拟合直方图(1) 将鼠标放到直方图上,右键,出现直方图操 作选项,选择FitPanel,可以在FitPanel中选 择拟合的各个选项,比如用什么函数拟合, 拟合的区间,等等。 7 用默认的高斯拟合,并在Options菜单中选上 Fit Parameters选项,可以看到拟合的结果。 拟合直方图(2) 并不推荐这种拟 合方式: 1)不适合自定义 函数拟合 2)不适合批处理 拟合结果给出了高 斯分布的3个参数: 常系数、均值、均 方差,以及拟合的 好坏chi2/ndf 8 hpx-Fit(“gaus”); hpx-Fit(“gaus”,“”,“”,-3,3); 拟合直方图(3) /home/yangzw/workdir/examples/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( 运行:root -l root 0 .L ex51.C root 1 ex51r() root 2 ex51r2() 用自定义的函数拟合直方图 9 共振峰(Breit-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注意TLegend的使用 TF1 *fitFcn = new TF1(“fitFcn“,fitFunction,0,3,6); fitFcn-SetParameter(4,0.2); 为某个参数设初值(width) fitFcn-SetParameter(5,1); (peak ) 10 ROOT小结 n设定ROOT环境变量: ROOTSYS,PATH,LD_LIBRARY_PATH n绘制各种直方图,散点图,数学函数 TH1F,TH2F,TF1,. n随机数产生子,各种分布 gRandom-Rndm,Uniform,Gaus,Exp,. n创建、保存root文件 TFile *f = new TFile(“myfile.root”,”recreate”); f-Write(); nTTree, TChain的使用 TTree *mytree = new TTree(“mytree”,”my tree”); mytree-Branch(); 用TChain分析相同格式的数据文件。 n直方图的运算,拟合 h1-Fit(“function_name”); 11 ROOT的重要功能或用法(1) nROOT手册13、14章分别是数学库和线 性代数,提供很多数学功能,比如 Lorentz矢量的操作,特殊函数,矩阵求 解运算,求极值等等 nROOT手册第4章介绍Graphs,适用于不 等距数据的图形分析(当然也可以构造不等 bin的直方图) nRooFit,最大似然法拟合等 n神经网络分析方法,TMVA(多元数据分析) nROOT中使用PYTHIA、Geant3/4 n图形接口. 12 ROOT的重要功能或用法(2) nMakeClass,MakeSelector的运用 比如当前/projects/yangzw/examples/Lec5/目录 下有文件ex51.root,其中含有复杂的tree。可以用 MakeClass或MakeSelector自动产生分析文件和头文件 : root 0 TFile f(“ex51.root“); root 1 .ls TFile* ex51.root TFile* ex51.root KEY: TTree t4;1 Reconst events root 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”); 13 ROOT的重要功能或用法(3) n独立编译 程序进行ROOT分析 尽管在ROOT环境中运行ROOT脚本很方 便,但如果分析处理的东西比较复杂,需 要长时间 运行,独立编译 运行比在ROOT 环境中运行要快很多,大约有数量级的差 别。 /home/yangzw/workdir/examples/Lec 5/standalone目录是独立编译 运行 ROOT的例子。这实际 上是SDA习题 3.7c的一部分。 进入standalone目录后,gmake进行编译 就可以运行。 14 习题 练习 需要的root文件都存放在下面目录里: /home/yangzw/workdir/examples/Lec5/exercise/ 1. 查看该double_gaus.root文件。其中存储了名为tree1的TTree。画 出tree1的pz分布,并对该 分布进行拟合,在图上显示出拟合的结果 ,并在屏幕上打印出拟合结果。 (提示:该分布为两个高斯的叠加,可以自定义一个包含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分别画到两个直方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论