qupid: Quasi-signal Generataion Model for Pixelized Detector
픽셀화된 검출기를 위한 유사 신호 생성 모델
qupid - Quasi Signal Generation Model for Pixelized Detector
Repository is in github, C++ version, github, python version
개발 동기
alpha입자나 gamma입자 등 방사선 입자가 디지털 픽셀 검출기에 입사할 때, 발생하는 점화 픽셀 클러스터의 형태를 모의실험하기 위해 개발하였다.
구동 환경
C++, with ROOT(시각화를 위한 도구)
(pyqupid) Python3.8 with numpy, scipy
구성 요소
- 시그널
- 2D 가우시안 신호 (등방성, 비등방성)
- 검출기
- 클러스터링 알고리즘
신호 생성 및 분석 과정
- 신호 분포(아날로그)를 수학적으로 정의함. (
qupid.Generator.AnalogSignal
) - 수학적으로 정의된 함수를 주어진 계수, 상수를 활용하여 분포를 분포함수로 변환함. (
qupid.Generator.AnalogSignal.GetSignal(X,Y)
) - 정의된 신호 분포함수를 검출기의 주입 신호 집합에 추가함. (신호를 검출기에 주입) (
qupid.Generator.Digitizer.InjectSignal(signal)
) - 검출기에 포함된 각 픽셀의 면적에 대해 주입 신호 집합에 포함된 모든 신호의 합을 적분한 값을 계산함. (각 픽셀의 아날로그 신호 크기) (
qupid.Generator.Digitizer.GetDigitalSignal()
) - 각 픽셀에 계산된 신호의 값이 주어진 값 (
threshold
) 보다 높은지 판단하여 높은 경우true
, 아닐 경우false
인 배열을 반환함 (전체 검출기의 배열의 크기와 동일). (qupid.Generator.Digitizer.GetDigitizedSignal()
) - 만약,
threshold
보다 높이 신호가 계산된 픽셀의 번호만 반환하기 원하는 경우,qupid.Generator.Digitizer.GetDigitizedSignal_List()
를 활용한다. - 이후, 원하는 방식으로 정보를 내보내어 클러스터링 한 후 점화 픽셀 클러스터의 성질에 대해 계산한다.
- 통계값을 형성하기 위한 몬테카를로 생성기 또한 본 모의실험에 내장되어있다. (
qupid.MonteCarloGenerator.MonteCarlo
)- 현재, 균일분포의 무작위 생성기만 내장되어있다.
- 균일한 중심위치분포, 균일한 신호크기 분포, 균일한 신호의 분포표준편차 분포를 가지는 신호는 이미 만들어져있다. (
qupid.MonteCarloGenerator.GaussianSignalISOMonteCarlo
)
아래는, 위 계산과정 중 도출되는 그래프들이다.
클릭하여 열기) 실제 실험 결과 예시
추후 해야할 것
- 실제 방사선의 신호와 검출기의 반응성을 고려한 보정작업
- 주석 보충 (
python-sphinx
레퍼런스 보충) - 튜토리얼 및 예시 매크로 제작
- 예시 플롯 제작