diff --git a/src/THcScalerEvtHandler.cxx b/src/THcScalerEvtHandler.cxx index d4cf84964aa7e49fd964960e4c7d2824bdacae28..358cffbb611889d184d7df54d5330b4e73162330 100644 --- a/src/THcScalerEvtHandler.cxx +++ b/src/THcScalerEvtHandler.cxx @@ -424,7 +424,8 @@ Int_t THcScalerEvtHandler::AnalyzeBuffer(UInt_t* rdata, Bool_t onlysync) dvars[ivar]=0.; if (bcm_ind != -1) { dvars[ivar]=((scalers[idx]->GetData(ichan))/fDeltaTime-fBCM_Offset[bcm_ind])/fBCM_Gain[bcm_ind]; - dvars[ivar]=dvars[ivar]+fBCM_SatOffset[bcm_ind]*TMath::Max(dvars[ivar]-fBCM_SatOffset[i],0.0); + dvars[ivar]=dvars[ivar]+fBCM_SatQuadratic[bcm_ind]*TMath::Power(TMath::Max(dvars[ivar]-fBCM_SatOffset[bcm_ind],0.0),2.0); + } if (bcm_ind == fbcm_Current_Threshold_Index) scal_current= dvars[ivar]; }