diff --git a/CaloFuture/CaloFuturePIDs/src/TrackBasedElectronShowerAlg.cpp b/CaloFuture/CaloFuturePIDs/src/TrackBasedElectronShowerAlg.cpp index 5cef78561f795d6bd69e3e0af72514dd4a966ba6..d77718a8e1d57ef4ccecf64a0e1291d4ff112c16 100644 --- a/CaloFuture/CaloFuturePIDs/src/TrackBasedElectronShowerAlg.cpp +++ b/CaloFuture/CaloFuturePIDs/src/TrackBasedElectronShowerAlg.cpp @@ -436,9 +436,11 @@ namespace LHCb::Calo { float energy_scaling = energy > 0. ? std::clamp( 1.f + gamma_corrected / energy, 1.f, m_maxgammascaling.value() ) : 1.f; float dll = std::accumulate( showerentries.begin(), showerentries.end(), 0.f, [&]( auto sum, auto const& se ) { - return sum + ( m_cellparams->hist( { HistType::DLL, Region::All } ) - ->Interpolate( forceinrange( invmom * energy_scaling * se.energy, range_dll[0] ), - forceinrange( se.fraction, range_dll[1] ), logmom ) ); + return sum + ( ( se.fraction > range_dll[1].first ) + ? ( m_cellparams->hist( { HistType::DLL, Region::All } ) + ->Interpolate( forceinrange( invmom * energy_scaling * se.energy, range_dll[0] ), + forceinrange( se.fraction, range_dll[1] ), logmom ) ) + : 0.f ); } ); // push results to tables