16#ifndef O2_TRD_KRCALIBRATION_H
17#define O2_TRD_KRCALIBRATION_H
40 std::vector<int>
compareGain(TH2F* hDet,
int column,
int row,
int shiftcolumn,
int shiftrow,
float allowedDifference);
45 TH2F*
fillTheMap(TH2F* hDet, TString sNewName =
"",
int nbuffer = 3);
46 std::vector<std::vector<int>>
findEmpty(TH2F* hDetectorMap);
49 TH2F*
getDetectorMap(TTree*
tree,
int nDet,
float mingain = 0,
float maxgain = 10'000, TString sDetName =
"");
54 void removeExtremePads(TH2F* hDet,
float upperLimit = 2.,
float lowerLimit = 0.5);
TH2F * fillTheMap(TH2F *hDet, TString sNewName="", int nbuffer=3)
void removeExtremePads(TH2F *hDet, float upperLimit=2., float lowerLimit=0.5)
void setTreeBranches(TTree *tree)
void removeEdges(TH2F *hDet, int nsize=2)
~PadCalibCCDBBuilder()=default
TH2F * transformMapIntoAbsoluteValues(TH2F *hDet, TString sName="")
void replaceIsolatedHotPads(TH2F *hDet, int column, int row, int nsize)
void replacePadCloserToCenter(TH2F *hDet, int column, int row)
bool isHotAreaIsolated(TH2F *hDet, int column, int row, int matrixSize=1)
std::vector< std::vector< int > > findInhomogeneities(TH2F *hDet, float allowedDifference)
int isolatedHotPadsContainmentSize(TH2F *hDet, int column, int row)
void fillInTheGap(TH2F *hDet, int column, int row, float newGain)
std::vector< int > compareGain(TH2F *hDet, int column, int row, int shiftcolumn, int shiftrow, float allowedDifference)
void populateEmptyNormalizedMap(TH2F *hDet, float valueToSet=-1)
float computeDetectorAverage(TH2F *hDet)
void checkIfIsolatedHotPadCandidate(TH2F *hDet, std::vector< int > coordinates, float upperLimit=1.5, int areaContainedWithin=4)
std::vector< std::vector< int > > findEmpty(TH2F *hDetectorMap)
TH2F * createNormalizedMap(TH2F *hDet, TString sNewName="")
float getAverageFromNeighbors(TH2F *hDet, int column, int row, int nbuffer=3)
PadCalibCCDBBuilder()=default
void checkIfSmallerCloserToCenter(TH2F *hDet, std::vector< int > coordinates, float allowedDifference)
TH2F * getDetectorMap(TTree *tree, int nDet, float mingain=0, float maxgain=10 '000, TString sDetName="")
void smoothenTheDetector(TH2F *hDet, float allowedDifference=1000)
float computeDistance(std::vector< float > pad1, std::vector< float > pad2)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::unique_ptr< TTree > tree((TTree *) flIn.Get(std::string(o2::base::NameConf::CTFTREENAME).c_str()))