Skip to content
Snippets Groups Projects
  • Simon Schuett's avatar
    10a8de1d
    online: Fix float precision issues in time calculations STS hit finder · 10a8de1d
    Simon Schuett authored and Volker Friese's avatar Volker Friese committed
    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%.
    10a8de1d
    History
    online: Fix float precision issues in time calculations STS hit finder
    Simon Schuett authored and Volker Friese's avatar Volker Friese committed
    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%.