《粒子物理与核物理实验中的数据分析lecture-6-PAW与ROOT在数据分析中的应用》由会员分享,可在线阅读,更多相关《粒子物理与核物理实验中的数据分析lecture-6-PAW与ROOT在数据分析中的应用(30页珍藏版)》请在金锄头文库上搜索。
1、粒子物理与核物理实验中的粒子物理与核物理实验中的 数据分析数据分析 陈少敏 清华大学 第六讲 PAW与ROOT在 数据分析中的应用 2 本讲要点本讲要点 PAW 与 ROOT 简介 PAW 与 ROOT 的数据结构 PAW 与 ROOT 的图形运算 PAW 与 ROOT 上的随机抽样 3 物理分析工作平台 物理分析工作平台 PAW PAW 是英文 Physics Analysis Workstation 的缩写 版权归西欧核子研究中心 CERN 所有 免费提供给与CERN有关的科学实验 或与CERN有科学合作的协议方免费使用 诞生于1986年 最后版本更新于2002年 广泛应用于2002年以前
2、进行的实验 2002年以后新建的实验项目大都采用 基于C 的ROOT软件包 在PAW与ROOT软件包之间有PAW 所有三个软件包均由CERN计算机中心开 发与维护 CERN提供了在不同操作系统运行的免费下载网址 http cernlib web cern ch cernlib version html 4 PAW的主要结构的主要结构 5 新一代的工作平台新一代的工作平台ROOT ROOT充分利用了计算机技术的最新发展 并且能适应现代粒子物理实验 对极大数量的数据分析以及模拟要求 在这一点上PAW已经达到了极限 CERN提供了在不同操作系统运行的免费下载网址 http root cern ch
3、6 PAW 与与 ROOT 用户界面 PAW ROOT 同等数据处理时间 PAW 快于 ROOT 同等数据存储空间 PAW 大于 ROOT 2414133 run 615026 dat58197330 run 615531 dat 1581056 run 615026 ntuple内存不够 901766 run 615026 root 17552250 run 615531 root 我个人使用我个人使用PAW与与ROOT的感觉的感觉 对于单纯的数据处理对于单纯的数据处理 PAW使用使用 起来相对容易一些 对于非常复杂的数据结构和多次计算 起来相对容易一些 对于非常复杂的数据结构和多次计算 R
4、OOT 有它的优点 尤其是在处理数据量在有它的优点 尤其是在处理数据量在1012以上的应用 在很多指令以上的应用 在很多指令 操作上 两者之间有不少一一对应的关系 操作上 两者之间有不少一一对应的关系 我个人使用我个人使用PAW与与ROOT的感觉的感觉 对于单纯的数据处理对于单纯的数据处理 PAW使用使用 起来相对容易一些 对于非常复杂的数据结构和多次计算 起来相对容易一些 对于非常复杂的数据结构和多次计算 ROOT 有它的优点 尤其是在处理数据量在有它的优点 尤其是在处理数据量在1012以上的应用 在很多指令以上的应用 在很多指令 操作上 两者之间有不少一一对应的关系 操作上 两者之间有不少
5、一一对应的关系 图形功能 PAW ROOT 7 数据库数据库Ntuple Ntuple 是一个加有多种功能的N 维数据库 数据在 Ntuple 中按行或 列排列 而各行或列有 N 个数据块 例如 在分析练习中说给的数据 事例号 光电倍增管号码 时间测量值 电荷测量值 就可以形成这样能被 PAW 或者 ROOT 识别的数据库 包含在这两种物 理分析工作平台的各种统计分析工具就可以得到充分的利用 为了优化数据结构 可以在 PAW CWN RWN BLOCK ROOT TREE BRANCH 以加速数据处理的时间 8 PAW数据中的行排列与列排列数据中的行排列与列排列 假设每个事例有观测量 x y
6、z t 按行排列 按列排列 用于观测量较少的情况 如果用于观测量较少的情况 如果 内存大 数据处理时间较短 内存大 数据处理时间较短 用于观测量较少的情况 如果用于观测量较少的情况 如果 内存大 数据处理时间较短 内存大 数据处理时间较短 用于观测量较多的情况 该排用于观测量较多的情况 该排 列方式不适用于本课程的练习 列方式不适用于本课程的练习 用于观测量较多的情况 该排用于观测量较多的情况 该排 列方式不适用于本课程的练习 列方式不适用于本课程的练习 9 ROOT数据中的数据中的TREE结构结构 步骤 步骤 1 建立一个1 建立一个 TFile TFile 2 建立一个2 建立一个 Ttr
7、eeTtree 3 把3 把 TBranch 加到TBranch 加到 T Ttreetree 4 填入4 填入 t treeree 5 写到一个文件上5 写到一个文件上 TFile hfile new TFile AFile root RECREATE TTree tree new TTree myTree A ROOT tree TTree aliTree aliTree aliroot Event event new Event myTree Branch EventBranch Event myTree Fill hfile Write Tree H1F H2F Ntuple 等等 1
8、0 如何生成如何生成Ntuple数据库数据库 subroutine readin integer nevent pmtid real time charge vect 4 parameter nwpawc 50000 ndim 4 character 15 ntit ndim data ntit nevent pmtid time charge common pawc h nwpawc call hbookn 100 Test ndim 1024 ntit open 61 file run 615026 dat 1 read 61 end 10 nevent pmtid time charge
9、 vect 1 nevent vect 2 pmtid vect 3 time vect 4 charge call hfn 100 vect go to 1 10 close 61 return end gROOT Reset include Riostream h ifstream in in open run 615026 dat Float t nevent pmtid time charge TFile f new TFile run 615026 root RECREATE TNtuple ntuple new TNtuple ntuple data from ascii file
10、 nevent pmtid time charge while 1 in nevent pmtid time charge if in good break ntuple Fill nevent pmtid time charge in close f Write root b q readin C PAW call readin f PAW h fil 1 run 615026 ntuple N cd lun1 hrout 0 close 1 在ROOT平台 从PAW到ROOT h2root run 615026 ntuple run 615026 root 11 PAW数据文件中的内容数据
11、文件中的内容 PAW h fil 1 run 615026 ntuple 0 PAW scan 100 Event nevent pmtid time charge 1 1 13 17 2407 0 984996 2 1 80 26 8364 1 97757 3 1 101 20 2386 1 38074 4 1 142 28 0259 1 43446 5 1 256 18 9224 0 53552 6 1 294 22 6816 1 38957 7 1 485 169 929 0 967207 8 1 543 44 1801 1 26147 9 1 587 14 3102 1 01928 M
12、ore N G 12 ROOT数据文件中的内容数据文件中的内容 root 0 TFile f run 615026 root root 1 ntuple Scan Row nevent pmtid time charge 0 1 13 17 240699 0 9849960 1 1 80 26 836399 1 9775700 2 1 101 20 238599 1 3807400 3 1 142 28 025899 1 4344600 4 1 256 18 922399 0 5355200 5 1 294 22 681600 1 38957 6 1 485 169 9290 0 967207
13、0 7 1 543 44 180099 1 2614699 8 1 587 14 310199 1 0192799 9 1 607 4 7850999 1 5807800 Type to continue or q to quit 13 分析数据中的基本分析数据中的基本PAW指令指令 PAW h fil 1 run 615026 ntuple 0读入数据文件 PAW zone 2 2 在终端显示 2x2 幅图 PAW n pl 100 nevent n pl 100 pmtid n pl 100 time n pl 100 charge 画图 PAW n pl 100 charge time
14、pmtid eq 1第一根管 t vs q 的二维散点图 PAW n pl 100 charge time pmtid画三维散点图 PAW h cr 10 time ns 100 50 50开出一维直方图框架 PAW n proj 10 100 time pmtid eq 1填第一根管的时间分布直方图 PAW h cr 20 t vs q 100 50 50 100 10 90开出二维图框架 PAW n proj 20 100 charge time pmtid eq 1 填第一根管t vs q的二维图 PAW zone 1 2 h pl 10 h pl 20画图 PAW slix 20 1
15、h proj 20 h pl 20 slix 1 画出在x轴的边缘分布图 PAW ve cr ipmt 680 ve cr x 680 ve cr y 680 ve cr z 680 开设数组 PAW ve read ipmt x y z home chensm geom geom dat读入几何数据 PAW ve pl y x画出 x vs y 的二维散点图 PAW picture print file name gif 把当前图形生成 gif 文件 14 分析数据中的基本分析数据中的基本ROOT指令指令 root 0 TFile f run 615026 root root 1 TCanv
16、as c new Tcanvas c plots 0 0 600 600 c Divide 2 2 root 2 c cd 1 ntuple Draw pmtid c cd 2 ntuple Draw time root 3 c Clear c cd 1 ntuple Draw charge time pmtid 1 root 4 c Clear c cd 1 ntuple Draw charge time pmtid root 5 TH1F h10 new TH1F h10 time ns 100 50 50 root 6 ntuple Draw time h10 pmtid 1 root 7 TH2F h20 new TH2F h20 t vs q 100 50 50 100 10 90 root 8 ntuple Draw charge time h20 pmtid 1 root 9 c Divide 1 2 c cd 1 h10 Draw c cd 2 h20 Draw root 10 h20 ProjectionX Xproj Xproj Draw root 11 h10 D