LHAASO-WCDA探测器模拟工作进展 吴含荣 高能物理研究所 2017-09-22 威海
报告内容 WCDA实验简介 原有程序实现方式(基于事例流)存在的问题 主要目标 WCDA新程序---g4wcda(基于hit流)实现方式 总结
水切伦科夫阵列(WCDA) 3个水池 4米有效水深; 3120个5米X5米单元,每个单元一个向上看的光电倍增管; 每个单元用黑色隔光帘隔开。 78000平方米; 4米有效水深; 3120个5米X5米单元,每个单元一个向上看的光电倍增管; 每个单元用黑色隔光帘隔开。
WCDA模拟的特点 高能量: 大Hits: 耗时长: 高能shower产生大Hits; 高能次级粒子产生大Hits; 模拟能量几十GeV~1000TeV ,高能量产生大簇射,次级粒子数多至百万; 大Hits: 高能shower产生大Hits; 高能次级粒子产生大Hits; 耗时长: 次级粒子在水中产生大量切伦科夫光
原有模拟程序实现方法 实现方式 事例流 比较传统的方式 现有程序的问题 大事例内存耗尽,程序崩溃: 这种方式不太适合大量事例堆积的模拟。
主要目标之一:解决内存耗尽问题 产生子 高能大shower大量的次级粒子 Hit 高能shower事例产生的大量Hits; 重复的多个探测器单元 对每个单元探测器的详细模拟也可能消耗额外的内存
主要目标之二:优化中间结果的存储 产生子 对一些排列稀疏的探测器,没有必要完全保留所有的Corsika数据; 更多的Hits信息 存储更多的关于Hit的信息,而不仅是Hit本身,以便于特殊的分析及探测器优化等; 关于Run及Event信息的读入和存储没有必要按照传统的方式处理。
主要目标之三:易于探测器真实化 代码维护 将模拟实现分几个步骤完成,使依赖于真实化的模拟过程在后续做精细模拟 重复的多个探测器单元 不依赖真实化的模拟过程放在第一步,这样可以节约大量的时间
主要目标之四:各类探测器统一模拟的实现 构架模拟 第一步模拟阵列探测器的几何配置,比如几何位置、探测器结构等;如在WCDA的模拟中,第一步只模拟阵列从Corsika的簇射入射到PMT之前的所有过程; 详细模拟 第二步详细模拟一个或几个探测器单元;如在WCDA的模拟中,对一个探测器单元的PMT详细模拟。
WCDA模拟新程序---程序流 Hit stream: Storage & buffering: 4 kinds of hits: In: a batch of hits; Out: a hit. Storage & buffering: ROOT tree. 4 kinds of hits: Ghit: generator hit; Chit: cell hit; Dhit: detector hit; Fhit: final hit.
关于Hits Hits: Hits stream: Generator hits - Ghits (particles of a shower, e.g., from Corsika); Cell hits - Chits (particles hitting a detector unit / cell, obtained by a simple tracking or geant4 simulation without real sensitive detectors); Detector hits - Dhits (particles / lights / energy collected by the detector); Final hits - Fhits (signals converted from detector hits, added-on with noises). Hits stream: These hits form a stream, flowing from the top to the bottom. Any two kind of consequential hits are connected by a “repeater”, comprising of storage, processors and switches. In the GEANT4 nomenclature, actually 1) and 2) are two steps of the particle generation; 3) and 4) are two steps of particle simulation.
关于Events Event fragmentizing: There is no run and event concept, run / event start, run / event end are just special hits, merged into the hits stream, to mark the separation of these hits; Hits are delivered in batches through the stream. The size of the batch can be controlled, but internally forced to be aligned in the event gaps, and detector gaps (once the detector makes sense).
WCDA模拟新程序---数据文件 ROOT tree: Hits: KEY: TTree t_runh;1 Run Header KEY: TTree t_evth;1 Event Header KEY: TTree t_hits;1 Hits Hits: *********************************************************************** *Tree :t_hits : Hits *Br 0 :iddet : iddet/I *Br 1 :v : v[4]/F *Br 2 :weight : weight/F
****************************************************************************** *Tree : t_runh : Run Header *Br 0 :n : n/I *Br 1 :v : v[n]/F *Br 2 :irun : irun/I *Br 3 :version : version/F *Br 4 :hittype : hittype/I *Br 5 :sortkey : sortkey/I *Br 6 :nevent : nevent/I *Br 7 :neventall : neventall/I *Br 8 :ndet : ndet/L *Br 9 :ndetall : ndetall/L *Br 10 :nhit : nhit/L *Br 11 :nhitall : nhitall/L *Br 12 :ipevth : ipevth/L *Br 13 :iphits : iphits/L Run: *********************************************************************** *Tree :t_evth : Event Header *********************************************************************** *Br 0 :n : n/I *Br 1 :v : v[n]/F *Br 2 :irun : irun/I *Br 3 :ievent : ievent/I *Br 4 :ndet : ndet/I *Br 5 :nhit : nhit/L *Br 6 :iphitsrun : iphitsrun/L *Br 7 :iphits : iphits/L Event:
WCDA模拟新程序---新旧程序结果比较 没有考虑水衰减(无穷大)
WCDA模拟新程序---新旧程序结果比较 考虑水衰减 1000个伽马事例样本; 击中的探测器个数及Hit数两版程序符合比较好;
G4模拟所需时间及CPU 旧程序 新程序 320X320阵列模拟样本总量corsika gamma:75万 本底:2.6e6 存储空间350G 每个事例重复10次 320X320阵列模拟样本花费时间及CPU 100个CPU 3个月 灵敏度误差30%~50% 78000㎡阵列 4倍统计量,误差~10%以内 100个CPU,所需时间12个月即1年 1000个CPU,所需时间1个月 新程序 完整的模拟两版程序所花时间基本一致 新程序第一步模拟占用99%以上的时间 程序真实化节约2/3以上的时间 水的模型 PMT模型 ……..
总结 提出了一种全新的基于hit流的探测器模拟方法: 实现了此种方法的框架程序: 已经实现WCDA模拟程序的更新。 大幅降低探测器真实化所需的计算资源; 可以把所有LHAASO探测器整合,实现联合模拟。 实现了此种方法的框架程序: Corsika数据的随机读取程序(CorsikaReader); Hit流处理程序包(HitsReader); 命令行解析、控制参数(包括参数单位)和数据库调用程序包 (OptParser)。 已经实现WCDA模拟程序的更新。
谢谢!