Closed FaroutYLq closed 1 month ago
then find a way to return both photons and excitons
Do you mean propagate the n_photon_hits_excitons
to S1PhotonPropagation
plugin? In other words: change https://github.com/XENONnT/fuse/blob/75429f426376d93276de8c1039ab9b18acdc8c18/fuse/plugins/detector_physics/s1_photon_propagation.py#L381 to n_photon_hits_excitons
?
then find a way to return both photons and excitons
Do you mean propagate the
n_photon_hits_excitons
toS1PhotonPropagation
plugin? In other words: changeto
n_photon_hits_excitons
?
@dachengx Yes exactly!
Resolved by #251.
What's the problem?
It seems to me that we might be doing something unphysical regarding treatment of excitons.
fuse
, is in S1 photon propagation. It was called in computing scintillation delay timing. Together with it in the same functionnestpy_calc.GetPhotonTimes
, the corresponding photons are already after collection efficiency.Note that, we never implement a binomial process representing the loss of those excitons' photons in
s1_photon_hits
here. That being said, it is not surprising that you will have a lot of events with actual exciton fraction greater than 1, which is completely unphysical and already enters the wild extrapolation region in NEST. (Such breaking of physical sanity is even allowed in NEST!! See my PR for NEST here).What it affects?
Of course, all the S1 pulse shape dependent studies are affected. However, as long as we have validated our simulation with data and got acceptable matches, we are not really wrong. There is no reason to interpret all the processes from NEST as physical, and it is OK we just use it as a grey box, with unphysical parameters fed into it.
How to do better?
A fix will be straightforward, just instead of only considering the total photons, apply two binomial processes and then find a way to return both photons and excitons: