Bug in DVCSCFFDispersionRelation
A bug in the formula used for the evaluation of CFF using the dispersion relation is corrected. Compare this part of the code before and after the modification:
//NEW
//subtraction constant
double Sub = m_pSubtractionConstantModule->compute(
GPDSubtractionConstantKinematic(m_t, m_MuF2, m_MuR2),
m_currentGPDComputeType).getValue().getValue();
//imaginary part
double Im = Constant::PI * computeSquareChargeAveragedGPD(m_xi);
//return
return std::complex<double>(Re + Sub, Im);
//OLD
//subtraction constant
double Sub = m_pSubtractionConstantModule->compute(m_t, m_MuF2, m_MuR2);
if (m_currentGPDComputeType == GPDType::H) {
Re -= Sub;
} else if (m_currentGPDComputeType == GPDType::E) {
Re += Sub;
} else {
throw ElemUtils::CustomException(getClassName(), __func__,
ElemUtils::Formatter() << "Illegal GPD type in this place "
<< GPDType(m_currentGPDComputeType).toString());
}
//imaginary part
double Im = Constant::PI * computeSquareChargeAveragedGPD(m_xi);
//return
return std::complex<double>(Re - Sub, Im);
The bug does not influence the recent analyses:
- arXiv:1912.09853 (accepted for publication in Eur. Phys. J. C)
- Eur. Phys. J. C79 (2019) no. 7, 614
- Eur. Phys. J. C78 (2018) no. 11, 890