粒子物理和核物理实验中的数据分析

上传人:ap****ve 文档编号:118698544 上传时间:2019-12-23 格式:PPT 页数:33 大小:1.31MB
返回 下载 相关 举报
粒子物理和核物理实验中的数据分析_第1页
第1页 / 共33页
粒子物理和核物理实验中的数据分析_第2页
第2页 / 共33页
粒子物理和核物理实验中的数据分析_第3页
第3页 / 共33页
粒子物理和核物理实验中的数据分析_第4页
第4页 / 共33页
粒子物理和核物理实验中的数据分析_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《粒子物理和核物理实验中的数据分析》由会员分享,可在线阅读,更多相关《粒子物理和核物理实验中的数据分析(33页珍藏版)》请在金锄头文库上搜索。

1、粒子物理与核物理实验中的数据 分析 杨振伟 清华大学 第三讲:ROOT在数据分 析中的应用(1) 2 上讲摘要 nC+基本概念 类的定义与实现. nLinux下用g+编译C+程序 g+ -o hello.exe -I ./src/*.cc 当前目录下输出 指定include目录 源文件 可执行文件hello.exe 如-I./include n用makefile进行C+编译 gmake 进行编译 gmake clean 清除编译结果 n使用ROOT脚本 root -l hello.C 3 本讲要点 n什么是ROOT? n登录ROOT环境和体验中心 nROOT的语法简介 nROOT的函数,直方图

2、,随机数,文件,散点图 TF1,TH1I,TH1F,TH1D,TRandom(gRandom) TF2,TF3,TH2F,. TFile 4 什么是 ROOT ? ROOT: Executive Summary . provides a set of OO frameworks with all the functionality needed to handle and analyse large amounts of data in a very efficient way. (摘自http:/root.cern.ch/root/Mission.html) 关键字:面向对象的框架、所有功能

3、、海量数据、非常有效 结论:很不谦虚! 5 安装ROOT(1) 到ROOT主页下载需要的版本到指定目录。 比如要在SLC3系统的/projects/yangzw目录下安装5.16.00版本 (注:最新版本的ROOT已经不为SLC3提供预编译版本了,而为SLC4和SLC5提供) cd /projects/$USER (注:对用户yangzw, $USER=yangzw) wget ftp:/root.cern.ch/root/root_v5.16.00.Linux.slc3.gcc3.2.3.tar.gz tar zxvf root_v5.16.00.Linux.slc3.gcc3.2.3.ta

4、r.gz 设置ROOT的环境变量 export ROOTSYS=/projects/$USER/root export PATH=$ROOTSYS/bin:$PATH export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH 可以把上面这3行放到$HOME/.login或者.bashrc或者.tcshrc文件中, 这样每次登录到Linux系统,系统就自动设置ROOT的环境变量 这样,进入linux系统之后,在终端提示行输入: root 或 root -l 即可进入ROOT环境。 6 安装ROOT(2) 如果是其它发行版的Linux,首先查看是否R

5、OOT网站上是否 有预编译好的程序包,一般情况下,官方提供SLC4和SLC5 在各种不同CPU以及不同gcc版本下的二进制包, ROOT官网也提供包括Solaris以及Mac OS X以及Windows 下的预编译包。 如果没有适合你的操作系统的预编译包,就需要到官网 http:/root.cern.ch 下载ROOT的源代码,按照安装指南 用gmake编译安装。 Window用户在官网下载相应的.msi文件直接安装即可。 Ubuntu8.10用户可以到下面网页下载5.22.00版本的二进制 代码,根据Readme.txt说明安装使用。 7 安装ROOT(3) 实际上,Linux下安装程序的基

6、本套路很简单: 1. 如果需要用源码编译 a) 下载源码压缩包 b)解压缩 c)编译 d)设置环境变量(如果需要) 2. 如果已有预编译的包 a)下载 b)解压缩 c)设置环境变量(如果需要) 3. yum/apt-get直接用网络源安装(预编译的包) 4. . 8 登录ROOT环境 n运行 root n退出 root0.q n键入 help 指令,如 root0? root1.ls root2.!ls ROOT环境其它常用指令: .L macro.C Load文件macro.C .x macro.C 执行文件macro.C .ls 显示ROOT当前环境的所有信息 .! ls 显示Linux系

7、统当前目录的所有信息 注:ROOT环境中,ROOT指令都以“.”开头 系统指令都以“.!”开头 9 ROOT体验中心(1) 在$ROOTSYS/tutorials目录下,有五花八门的例子。 以后会经常与这个目录打交道。先尝试一下吧。 尝试方法: cd /projects/$USER cp -r $ROOTSYS/tutorials . (注意不要把这个.漏掉了) cd tutorials 然后找个感兴趣的目录/文件, 执行ROOT脚本,比如 cd roofit root -l RoofitDemo.C 小技巧提示: 根据关键字xxxx从tuotorials的例子中寻找线索 grep -sirn

8、 xxxx $ROOTSYS/tutorials 比如找随机数用法:grep -sirn random $ROOTSYS/tutorials Roofit示例 10 ROOT体验中心(2) 还可以在ROOT网站上看到一些ROOT图片: http:/root.cern.ch/drupal/image 当然,ROOT的功能不只是做图,它不是一个作图工具。 跟数据分析有关的东西,基本都是ROOT的擅长; 跟物理有关的很多东西,ROOT基本都可以做得很好: 事例产生、探测器模拟、事例重建、数据采集、数据分析 11 ROOT体验中心(3-1) 日本超级神冈中微子实验事例显示(by zhanghb) 超大

9、的水池,内外装满了光电倍增管,1万多个 12 ROOT体验中心(3-2) 仅显示被击中的光电倍增管 13 ROOT体验中心(3-3) 平面展开显示 14 ROOT体验中心(3-4) 平面展开,鼠标缩放,显示鼠标位置光电倍增管信息 15 ROOT语法(1)基本信息 nROOT使用C+语法 一段C+程序可以直接在ROOT环境运行 n数据类型重定义 int Int_t float Float_t double Double_t . nROOT的类都以T开头 如TFile, TH1F, TTree, . n详细规定参阅ROOT手册(5.21版)第18-20页,关于 Convention和Global

10、Variables部分。 n可以直接在ROOT环境中运行macro文件(自动调用 cint编译器),也可以在makefile中设置好相关参数用 g+编译得到可执行文件运行。 16 ROOT语法(2)直方图类 ROOT中有众多已经定义好的类可供使用 ,比如直方图家族 17 ROOT语法(2)其它类 其它常用类 数学函数:TF1, TF2, TF3. 图 形:TGraph, TGraphErrors, TGraph2D,. 文 件:TFile 画 布:TCanvas, TPad, . 随 机 数:TRandom,TRandom1,TRandom2,TRandom3 周期 109 10171 102

11、6 106000 速度(ns/call) 34 242 37 45 比如跟数据结构和分析有关的: TTree, TChain, . 参见 http:/root.cern.ch/root/html526/ClassIndex.html (谨代表*邀请各位光临敝舍。 注:*=yangzw) 还有很多全局函数,多数以g开头,如: gRandom, gROOT, gStyle, gPad, gEnv, gFile. 速度与CPU和编译器有关 18 ROOT语法(3)随机数 gRandom是指向当前随机数产生子的指针,该产生子默认为 TRandom3对象。 http:/root.cern.ch/root

12、/html522/TRandom.html (为什么看TRandom?因为TRandom1/2/3都继承自TRandom) gRandom-Binomial(ntot, p): 二项分布 gRandom-BreiWigner(mean, gamma) Breit-Wigner分布 gRandom-Exp(tau) 指数分布 gRandom-Gaus(mean,sigma) 高斯分布 gRandom-Integer(imax) (0,imax-1)随机整数 gRandom-Landau(mean,sigma) Landau分布 gRandom-Poisson(mean) 泊松分布(返回int)

13、gRandom-PoissonD(mean) 泊松分布(返回double) gRandom-Rndm() (0,1均匀分布 gRandom-Uniform(x1,x2) (x1,x2均匀分布 . 使用前可根据需要改变随机数种子和机制 思考:什么情况下需要PoissonD(mean)? 19 ROOT脚本文件示例(1):Macro文件 /home/yangzw/examples/Lec3/ex31.C 用花括号括起来,后缀名一般用”.C” cout Hello ROOT endl; int Num=5; for (int i=0;iNum;i+) cout i= i SetParameter(0,value); /为第0个参数设初值为value 24 ROOT中统计直方图 q定制一维直方图 TH1F *hist_name = new TH1F(“hist_name”,”hist_title”, num_bins,x_low,x_high); q定制二维图 TH2F *hist_name = new TH2F(“hist_name”,”hist_title”, num_bins_x,x_low,x_high,num_

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号