From 74b8bf74b15879a7785704f5cb990fb33297fe3e Mon Sep 17 00:00:00 2001 From: richterm Date: Fri, 10 Oct 2008 00:14:09 +0000 Subject: [PATCH] some quick hacks to improve speed for ActiveChannelSelection: terminate ZeroSuppression when a signal in the channel has been found --- HLT/TPCLib/AliHLTTPCPad.cxx | 11 +++++++++-- HLT/TPCLib/AliHLTTPCPad.h | 2 +- HLT/TPCLib/AliHLTTPCZeroSuppressionComponent.cxx | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/HLT/TPCLib/AliHLTTPCPad.cxx b/HLT/TPCLib/AliHLTTPCPad.cxx index 6e3a5a154bb..b4cb5dc3280 100644 --- a/HLT/TPCLib/AliHLTTPCPad.cxx +++ b/HLT/TPCLib/AliHLTTPCPad.cxx @@ -534,7 +534,7 @@ Int_t AliHLTTPCPad::GetDataSignal(Int_t bin) const return fDataSignals[bin]; } -void AliHLTTPCPad::ZeroSuppress(Double_t nRMS, Int_t threshold, Int_t reqMinPoint, Int_t beginTime, Int_t endTime, Int_t timebinsLeft, Int_t timebinsRight, Int_t valueUnderAverage){ +void AliHLTTPCPad::ZeroSuppress(Double_t nRMS, Int_t threshold, Int_t reqMinPoint, Int_t beginTime, Int_t endTime, Int_t timebinsLeft, Int_t timebinsRight, Int_t valueUnderAverage, bool speedup){ //see headerfile for documentation //HLTDebug("In Pad: nRMS=%d, threshold=%d, reqMinPoint=%d, beginTime=%d, endTime=%d, timebinsLeft=%d timebinsRight=%d valueUnderAverage=%d \n",nRMS,threshold,reqMinPoint,beginTime,endTime,timebinsLeft,timebinsRight,valueUnderAverage); @@ -553,7 +553,8 @@ void AliHLTTPCPad::ZeroSuppress(Double_t nRMS, Int_t threshold, Int_t reqMinPoin } Int_t fThresholdUsed=threshold; - + + Int_t maxVal=0; Int_t nAdded=0; Int_t sumNAdded=0; fSizeOfSignalPositionArray=0; @@ -562,6 +563,7 @@ void AliHLTTPCPad::ZeroSuppress(Double_t nRMS, Int_t threshold, Int_t reqMinPoin if(fDataSignals[i]>0){ nAdded++; sumNAdded+=fDataSignals[i]*fDataSignals[i]; + if (maxVal0){ nAdded++; sumNAdded+=fDataSignals[i]; + if (maxValSetDataToDefault(); - + //reading data to pad while(fDigitReader->NextBunch()){ const UInt_t *bunchData= fDigitReader->GetSignals(); @@ -453,7 +453,7 @@ int AliHLTTPCZeroSuppressionComponent::DoEvent( const AliHLTComponentEventData& sumOccupancy+=tmpPad->GetNAddedSignals(); if(tmpPad->GetNAddedSignals()>=(UInt_t)fMinimumNumberOfSignals){ - tmpPad->ZeroSuppress(fNRMSThreshold, fSignalThreshold, fMinimumNumberOfSignals, fStartTimeBin, fEndTimeBin, fLeftTimeBin, fRightTimeBin, fValueBelowAverage); + tmpPad->ZeroSuppress(fNRMSThreshold, fSignalThreshold, fMinimumNumberOfSignals, fStartTimeBin, fEndTimeBin, fLeftTimeBin, fRightTimeBin, fValueBelowAverage, fSkipSendingZSData); if(tmpPad->GetNAddedSignals()>0){ assert((int)mapping.GetRow(fDigitReader->GetAltroBlockHWaddr())==row); assert((int)mapping.GetPad(fDigitReader->GetAltroBlockHWaddr())==pad); -- 2.43.0