Fix bugs of SCT_SurfaceChargesGenerator. (ATLASSIM-4936)
Updates to fix unexpected differences when using SCT_InducedChargeModel.
Fix a bug of SCT_SurfaceChargesGenerator.
dstrip = dstrip - static_cast<double>(int(dstrip)) + 1;
was modified to
dstrip -= static_cast<double>(static_cast<int>(dstrip)) + 1;
by https://gitlab.cern.ch/atlas/athenaprivate1/-/merge_requests/13814 This should be
dstrip -= static_cast<double>(static_cast<int>(dstrip)) - 1;
For clarity, I changed this to
dstrip = dstrip - static_cast<double>(static_cast<int>(dstrip)) + 1;
dstrip
is not used by the standard ballistic model.
Use conditions database in SCT_SurfaceChargesGenerator.
The default value of m_useSiCondDB
of SCT_SurfaceChargesGenerator
is true in 21.0 and false in master.
This difference was introduced by my MR !22629 (merged) unintentionally. (I now checked there were no more unintentional changes.)
The defaul value in master was changed to true because the use of cond DB is better to reproduce the detector condition of data.
Electron mobility update
After fixing SCT_SurfaceChargesGenerator::m_useSiCondDB
and SCT_SurfaceChargesGenerator::processSiHit::dstrip
, still differences are seen. This comes from SCT_InducedChargeModel::getVxVyD
.
Electron mobility was changed in master branch intentionally by !34280 (merged)
These remaining differences are fine.
Expected impact
Some differences in output (of the standard chain) are expected by the change of SCT_SurfaceChargesGenerator::m_useSiCondDB
.
RunTier0Tests.py was fine. RunTier0Tests.log
With this fix the default ballistic model
and the Induced Charge model (SCT_SurfaceChargesGenerator::m_doInducedChargeModel=true
)
give similar results. These plots were made by q221 test with this MR + Athena master latest.