17#ifndef O2_MCH_ROFTIMECLUSTERFINDER_H_
18#define O2_MCH_ROFTIMECLUSTERFINDER_H_
39 ROFTimeClusterFinder(gsl::span<const o2::mch::ROFRecord> rofs, gsl::span<const o2::mch::Digit>
digits, uint32_t timeClusterSize, uint32_t nBins,
bool improvePeakSearch,
bool debug);
58 int32_t mFirstIdx{-1};
60 uint32_t mNDigitsPS{0};
64 bool empty() {
return mNDigitsPS == 0; }
73 uint32_t mTimeClusterSize;
74 uint32_t mNbinsInOneWindow;
76 uint32_t mNbinsInOneTF;
78 bool mImprovePeakSearch;
83 int32_t getNextPeak();
85 void storeROF(int32_t firstBin, int32_t lastBin);
87 std::vector<TimeBin> mTimeBins;
88 int32_t mLastSavedTimeBin;
90 gsl::span<const o2::mch::ROFRecord> mInputROFs;
91 gsl::span<const o2::mch::Digit> mDigits;
char * saveROFRsToBuffer(size_t &bufSize)
stores the output ROFs into a flat memory buffer
~ROFTimeClusterFinder()=default
const ROFVector & getROFRecords() const
return the vector of time-cluster ROFs
std::vector< o2::mch::ROFRecord > ROFVector
void process()
process the digit ROFs and create the time clusters
void dumpInputROFs()
debugging output
bool operator<(EntryPM const &entryPM1, EntryPM const &entryPM2)
bool operator>=(const DsChannelId &a, const DsChannelId &b)
std::function< bool(const Digit &)> DigitFilter
bool operator>(const DsChannelId &a, const DsChannelId &b)
bool operator<=(const DsChannelId &a, const DsChannelId &b)
unsigned int TimeBin
global time bin
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::vector< ROFRecord > ROFVector
VectorOfTObjectPtrs other
std::vector< Digit > digits