From 6449fd120f20be735f6222206a2988bed7b57c5a Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Tue, 5 Aug 2025 10:30:41 +0200 Subject: [PATCH] make sure that index states in proper range for PRunAsymmetryRRF. --- src/classes/PRunAsymmetryRRF.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/classes/PRunAsymmetryRRF.cpp b/src/classes/PRunAsymmetryRRF.cpp index 59ef55706..02f22a442 100644 --- a/src/classes/PRunAsymmetryRRF.cpp +++ b/src/classes/PRunAsymmetryRRF.cpp @@ -918,16 +918,28 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() lgb_offset = fGoodBins[3]-static_cast(fT0s[1])+fgbOffset; Int_t fgb = static_cast(fT0s[0])+fgbOffset; + if (fgb < 0) + fgb=0; Int_t lgb = fgb + lgb_offset; + if (lgb > fForward.size()) + lgb = fForward.size(); + if (lgb > fBackward.size()) + lgb = fBackward.size(); Int_t dt0 = static_cast(fT0s[0])-static_cast(fT0s[1]); PDoubleVector asym; PDoubleVector asymErr; Double_t asymVal, asymValErr; Double_t ff, bb, eff, ebb; + Int_t idx=0; for (Int_t i=fgb; i= fBackward.size()) + idx = fBackward.size()-1; + bb = fBackward[idx]; if (ff+bb != 0.0) asymVal = (ff-bb)/(ff+bb); else