作业 4.1(选做):望远镜模拟数据的 TTree 存储与关联分析¶

课程作业

将作业 1.2中逐粒子模拟得到的能量沉积和粒子种类保存到 ROOT 文件,再参照实验数据:三层 Si 望远镜实验数据处理进行关联分析。模拟中已知每个粒子的质量数和电荷数,可以用它们确认 PID 投影中各个峰的来源。

TTree 的创建、读写与事件选择可参考 ROOT Tutorial II(PyROOT · ROOT C++)。

数据结构¶

建立名为 tree 的 TTree,每个 entry 对应一个模拟粒子,包含以下三个 branch:

Branch 类型 内容 ROOT leaflist
e Float_t[3] e[0]、e[1]、e[2] 分别为 D1、D2、D3 的能量沉积,单位 MeV e[3]/F
A Int_t 粒子的质量数 A/I
Z Int_t 粒子的电荷数 Z/I

每完成一个粒子的模拟,就把该粒子的三个能量值及 A、Z 写入相应变量,并调用一次 Fill()。所有事例填充完成后,将 tree 保存到一个 ROOT 文件。

作业要求¶

  1. 按上述结构保存作业 1.2 的模拟数据。重新打开文件,用 Print() 查看 tree 结构,检查 entry 数是否与保存的模拟粒子数一致。
  2. 参照实验数据处理页,依次重复各项能量关联分析:D1–D2 关联;D2 停止与穿透事例的叠加和分别显示;D2–D3 关联;薄探测器近似下的 PID;有限厚度经验 PID;最后作 PID 参数的一维投影。将实验页的 dE1、dE2、dE3 对应到 e[0]、e[1]、e[2],并比较模拟与实验中的条带和穿透点。
  3. 对“进阶:PID 参数的一维投影”中的每个峰,用已保存的 A、Z 分别选择粒子,将各核素的投影叠加到总投影上,标明峰与粒子种类的对应关系。如果不同核素的峰重叠,也应在图中说明。

本题的模拟记录不含入射位置和 hit 信息,因此不作实验页中的 D1 位置图,也不套用实验数据的 hit 筛选条件。能量关联与 PID 分析沿用作业 1.2 的探测器设置和分辨率处理。

进度对应第 4 章。