17#ifndef ALICEO2_TPC_CALIBRATORPADGAINTRACKS_H
18#define ALICEO2_TPC_CALIBRATORPADGAINTRACKS_H
31 using TFinterval = std::vector<std::pair<TFType, TFType>>;
32 using CalibVector = std::vector<std::unordered_map<std::string, CalPad>>;
33 using TimeInterval = std::vector<std::pair<long, long>>;
47 bool hasEnoughData(const
Slot& slot) const final {
return slot.getContainer()->hasEnoughData(mMinEntries); };
56 void setMinEntries(
const size_t minEntries) { mMinEntries = minEntries; }
70 void setRelGainRange(
const float minRelgain = 0.1f,
const float maxRelgain = 2.f);
85 bool setLogTransformQ(
const bool logTransformQ) {
return mLogTransformQ = logTransformQ; }
112 TFinterval mIntervals;
113 TimeInterval mTimeIntervals;
115 float mLowTruncation{0.05f};
116 float mUpTruncation{0.6f};
117 float mMinRelgain{0.1f};
118 float mMaxRelgain{2.f};
119 int mMinEntriesMean{10};
120 size_t mMinEntries{30};
121 bool mWriteDebug =
false;
123 bool mUseLastExtractedMapAsReference{
false};
124 std::unique_ptr<CalPad> mGainMapLastIteration;
125 bool mStoreNClCCDB{
false};
126 bool mStoreRMSCCDB{
false};
127 bool mLogTransformQ{
true};
NormType
normalization type of the extracted gain map
@ region
normalization per region
calibrator class for the residual gain map extraction used on an aggregator node
float getTruncationRangeLow() const
void setStoreRMSCCDB(const bool storeRMSCCDB)
~CalibratorPadGainTracks() final=default
destructor
void setRelGainRange(const float minRelgain=0.1f, const float maxRelgain=2.f)
size_t getMinEntries() const
void finalizeSlot(Slot &slot) final
process time slot (create pad-by-pad gain map from tracks)
void setStoreNClCCDB(const bool storeNClCCDB)
bool hasCalibrationData() const
check if calibration data is available
CalibratorPadGainTracks()=default
construcor
const TimeInterval & getTimeIntervals() const
void setNormalizationType(const CalibPadGainTracksBase::NormType type)
set how the extracted gain map is normalized
const TFinterval & getTFinterval() const
void setTruncationRange(const float low=0.05f, const float high=0.6f)
Slot & emplaceNewSlot(bool front, TFType tstart, TFType tend) final
Creates new time slot.
bool hasEnoughData(const Slot &slot) const final
Check if there are enough data to compute the calibration.
void setMinEntriesMean(const int minEntriesMean)
minEntries minimum number of entries in pad-by-pad histogram to calculate the mean
float getTruncationRangeUp() const
void setWriteDebug(const bool writeDebug)
void setUseLastExtractedMapAsReference(const bool useLastMap)
void initOutput() final
clearing the output
void setMinEntries(const size_t minEntries)
bool setLogTransformQ(const bool logTransformQ)
set if the cluster charge is transformed using log(1+Q)
bool getWriteDebug() const
GLint GLint GLsizei GLint GLenum GLenum type
Global TPC definitions and constants.