#include "AliHLTLogging.h"
#include "AliHLTTPCClusters.h"
+#include "AliHLTTPCDigitReader.h"
#include "TH1F.h"
#include <vector>
+class AliHLTTPCDigitData;
+
typedef Int_t AliHLTTPCSignal_t;
* @param timebinsLeft Timebins to include left of the signals above threshold (to include tails)
* @param timebinsRight Timebins to include right of the signals above threshold (to include tails)
* @param valueBelowAverage The number of adc-counts below the average value. (sometimes there can be useful to also add some signals below average for your signals, especially when there is a lot of noise) It means that more of the tails of the signal is added.
+ * @param speedup Do not the full zero suppression but terminate if it is clear wheter the channel has some signal or not.
*/
- void ZeroSuppress(Double_t nRMS,Int_t threshold,Int_t reqMinPoint,Int_t beginTime,Int_t endTime,Int_t timebinsLeft, Int_t timebinsRight, Int_t valueBelowAverage);
+ void ZeroSuppress(Double_t nRMS,Int_t threshold,Int_t reqMinPoint,Int_t beginTime,Int_t endTime,Int_t timebinsLeft, Int_t timebinsRight, Int_t valueBelowAverage, bool speedup=false);
- /**
- * Returns the next signal which survived the ZeroSuppression
- * @param time Refernence to timebin number
- * @param signal Refernence to signal
- * @return True if there are more signals
- */
- Bool_t GetNextGoodSignal(Int_t &time,Int_t &signal);
-
/**
* Bool method which returns the timein number of the first signal and number of consecutive signals, used together with GetPointer(bin) to access data
* @param time Refernence to timebin number
* @param bunchSize Refernence to number of consecutive signals
* @return True if there are more signals
*/
- Bool_t GetNextGoodSignal(Int_t &time,Int_t &bunchSize,Int_t dummy);
+ Bool_t GetNextGoodSignal(Int_t &time,Int_t &bunchSize);
/**
* Returns number of signals added
/**
* Adds cluster candidate to the fClusterCandidates.
*/
- void AddClusterCandidate(AliHLTTPCClusters candidate);
+ void AddClusterCandidate(const AliHLTTPCClusters& candidate);
/**
- * Prints the raw data og this pad.
+ * Adds the digits belonging to the candidate.
*/
- void PrintRawData();
+ void AddCandidateDigits(const vector<AliHLTTPCDigitData>& candidateDigits);
- /**
- * Set the Signal Threshold
+
+ /**
+ * Returns the digit vector belonging to the candidate
*/
- void SetSignalThreshold(Int_t i){fSignalThreshold=i;}
+ vector<AliHLTTPCDigitData> *GetCandidateDigits(Int_t candidateIndex);
+
+ void ClearCandidateDigits(){fCandidateDigitsVector.clear();}
/**
- * Set the nSigma threshold
+ * Prints the raw data og this pad.
*/
- void SetNSigmaThreshold(Double_t i){fNSigmaThreshold=i;}
+ void PrintRawData();
/**
* Vector of cluster candidates
/** Number of good signals sent (good signals is signals surviving ZeroSuppression) */
Int_t fNGoodSignalsSent;
- /** Number of sigma threshold for the ZeroSuppression */
- Double_t fNSigmaThreshold; //! transient
-
- /** Signal threshold for the ZeroSuppression */
- Double_t fSignalThreshold; //! transient
+ vector<vector<AliHLTTPCDigitData> > fCandidateDigitsVector;
- ClassDef(AliHLTTPCPad, 5)
+ ClassDef(AliHLTTPCPad, 7)
};
#endif // ALIHLTTPCPAD_H