Hình 4.1 Các điểm sinh neutron trên toàn detector Belle II [9]
Các hạt trong chùm tia sau khị bị lệch sẽ va vào thành ống hoặc thành nam châm. Các hạt này ở năng lượng rất cao ~ GeV, vì thế chúng sẽ tạo ra một loạt các hạt sơ cấp khác có năng lượng tương đối lớn. Các hạt này lại tiếp tục tương tác và sinh ra các hạt khác, một chuỗi các quá trình như vậy sẽ xảy
ra đến khi các hạt không thể gây ra phản ứng được nữa. Trong các sản phẩm này sẽ có một phần là neutron. Thế nên neutron sinh ra khắp nơi trong vùng detector như trong hình 4.1. Vì vậy ta cần xác định các neutron trên hệ các bảng mạch có nguồn gốc từ đâu, vùng nào đóng góp nhiều nhất để có thể thiết kế che chắn thích hợp nhất, nhằm giảm thông lượng neutron xuống dưới giới hạn càng thấp càng tốt.
Quá trình mô phỏng được thực hiện như mô tả ở trong mục 3.1, ta thấy những hạt nào tương tác trong vùng nhạy của detector (Sensitive Detector) sẽ được ghi lại và số hóa vì thế số liệu ta thu được có dạng như là số liệu thu được từ thực nghiệm (chúng ta có thông tin về neutron đó như năng lượng, moment động lượng,..) nhưng chúng ta không biết nó bay từ đâu tới. Trong Basf2, các dữ liệu này được lưu bởi các dataobject trong quá trình mô phỏng. Mỗi mảng dữ liệu có tên riêng của nó như: MCParticle lưu giử thông tin về Monte Carlo. BeamBackHit lưu giữ các thông tin về phông do chùm tia. Để thuận tiện cho việc tính toán sau này thì trong quá trình lưu dữ liệu ở các detector ta lưu lại tất cả thông tin về chuổi tương tác của hạt đó trong mảng dữ liệu MCParticle. Trong quá trình lưu dữ liệu này ta tạo ra một mối quan hệ giữa các mảng dữ liệu bằng lớp các hàm tạo mối quan hệ giữa hai mảng như: RelationIndex, RelationInterface, RelationArray, ….
Thông tin về phông do chùm tia gây ra được lưu lại nhờ dataobject BeamBackHits. Khi lưu dữ liệu này ta phải đánh dấu mối quan hệ giữa mảng dữ liệu này với mảng dữ liệu MCParticle. Có thể minh họa như ở hình 4.2. ta có hai hình hộp ở trong là hai detector mà ta sẽ ghi nhận các hạt tương tác trong đó, phần xung quanh là các giá đỡ hay là phần che chắn. Khi có một hạt bay vào, va chạm với phần xung quanh sẽ tạo ra các hạt mới, các hạt này sẽ bay vào detector, những điểm tương tác trong detector sẽ được ghi lại bởi dataobject BeamBackHits, còn tất cả các quá trình của hạt từ khi bay vào, tất
cả các điểm tương tác (tất cả các thông tin về phần đường màu xanh) được ghi lại trong tập tin MCParticle. Thường để tiết kiệm bộ nhớ nên không phải tất cả thông tin về MCParticle sẽ được lưu lại mà muốn lưu lại tất cả các thông tin này ta phải thay đổi mặc định trong quá trình mô phỏng trong module FullSim.
Hình 4.2 Minh họa việc lưu dữ liệu trong quá trình mô phỏng
Sau khi quá trình mô phỏng ta viết module xử lý số liệu bằng Basf2 để tìm các điểm sinh neutron. Ý tưởng của module này được mô tả như trong hình 4.3. đầu tiên ta kết nối 2 mảng với nhau sử dụng hàm RelationIndex. Sau đó ta tìm hạt sinh ra neutron và điểm sinh của nó bằng cách truy nhập dữ liệu trong mảng MCParticle từ mảng BeamBackHits.
Hình 4.3 Sơ đồ minh họa việc sử dụng RelationIndex để kết nối các mảng dữ liệu và truy nhập vào các mảng dữ liệu
Từ ý tưởng trên ta viết module để xác định các điểm sinh neutron. Module này có tên là CDCBkg. Nhiệm vụ chính là nối các 2 mảng dữ liệu MCParticle và BeamBackHit lại với nhau và tìm kiếm trong mảng dữ liệu MCParticle thông tin về các neutron tương tác trên hệ các bảng mạch. Module được viết bằng ngôn ngữ C++, có cấu trúc tuân theo cấu trúc của một module trong chương trình Basf2 như đã nêu ở mục 3.1
Sau khi có module xử lý dữ liệu ta sẽ sử dụng module này để xác định các điểm sinh neutron. Các module trong Basf2 được sử dụng bằng cách gọi vào từ một chương trình điều khiển khác (gọi là Steering file) viết bằng python. Cấu trúc chương trình mô phỏng sử dụng module CDCBkg như ở hình vẽ 4.4. Đầu tiên module RootInput sẽ đọc dữ liệu từ các file dữ liệu mô phỏng trước đó. Sau đó module CDCBkg sẽ gọi các mảng dữ liệu trong đó và xử lý. Kết quả xử lý sẽ cho ta thông tin về điểm sinh neutron, năng lượng của neutron khi sinh ra và phản ứng đã sinh neutron. Các kết quả này được lưu lại trong file root bằng chính module này.
Hình 4.4 Sơ đồ xử lý dữ liệu sử dụng module CDCBKg
Sau khi phân tích dữ liệu Monte Carlo ta có kết quả về nguồn gốc của neutron trên hệ các bảng mạch của detector CDC như ở trong đồ thị hình 4.4. Hình 4.4.a là các đồ thì phân bố của các điểm sinh theo trục z và x, hình 4.4.b là các điểm sinh neutron theo trục z và y, và đồ thị hình 4.4.c là phân bố các điểm sinh neutron theo trục z.
4.5a Phân bố các điểm sinh neutron theo phương z-x
4.5b Phân bố các điểm sinh theo phương z-y Vùng có nhiều neutron được sinh ra và ảnh hưởng đến EBs Vùng có nhiều neutron được sinh ra và ảnh hưởng đến EBs
4.5c Phân bố theo trục z
Hình 4.5 Nguồn gốc của neutron ảnh hưởng đến bảng mạch của detector CDC Từ các phân bố trong hình 4.5.c ta thấy rằng neutron trên hệ các bảng mạch đóng góp chủ yếu là do neutron từ vùng có tọa độ z từ khoảng 80cm đến 150 cm, và từ phân bố ở hình 4.5.a và 4.5.b ta thấy rằng các các điểm sinh neutron chủ yếu trong vùng ống của chùm tia, khi electron hoặc positron bị lệch khỏi chùm tia, va vào thành ống, vì ở đây có mật độ vật chất cao nên hầu hết các phản ứng đều sinh xãy ra ở đây. Các hạt gây ra phản ứng sinh ra neutron chủ yếu là loại gamma và electron hoặc positron.