Calorimeter noise fix
The implementation of the calorimeter noise in the digitization is incorrect. Namely the code here: https://eicweb.phy.anl.gov/EIC/juggler/-/blob/master/JugDigi/src/components/CalorimeterHitDigi.cpp#L168
double eResRel = std::sqrt(std::pow(m_normDist() * eRes[0] / std::sqrt(ahit.energyDeposit()), 2) +
std::pow(m_normDist() * eRes[1], 2) +
std::pow(m_normDist() * eRes[2] / (ahit.energyDeposit()), 2));
Should be either
double eResRel =m_normDist() * std::sqrt(std::pow(eRes[0] / std::sqrt(ahit.energyDeposit()), 2) +
std::pow(eRes[1], 2) +
std::pow(eRes[2] / (ahit.energyDeposit()), 2));
or
double eResRel = m_normDist() * (eRes[0] / std::sqrt(ahit.energyDeposit()) +
m_normDist() * eRes[1] +
m_normDist() * eRes[2] / (ahit.energyDeposit());
``
That is, the three contributions to the noise are typically assumed to arise from independent Gaussian fluctuations. So they should either contribute separately (second form) or can be combined by adding in quadrature (first form).