online: Fix float precision issues in time calculations STS hit finder
Fix cluster and hit finding in the STS detector when using 32-bit floating-point precision. The issue occurs when calculating time differences between digis or clusters with large timestamps - 32-bit floats lack sufficient precision for representing nanosecond timestamps in the mCBM setup. Add helper methods GetTimeDiff() that first convert timestamps to int before calculating the difference, preserving precision and sign. Replace direct floating-point timestamp subtractions throughout the code with calls to these helper methods. This resolves hit count discrepancies between 32-bit and 64-bit float versions, reducing the difference from ~2.6% to ~0.04%.
Loading
Please register or sign in to comment