16 #include <pxd/dbobjects/PXDClusterShapeClassifierPar.h>
17 #include <pxd/dbobjects/PXDClusterOffsetPar.h>
29 class PXDClusterPositionEstimatorPar:
public TObject {
38 void addGrid(
int clusterkind,
const TH2F& grid)
43 for (
auto uBin = 1; uBin <=
m_gridmap[clusterkind].GetXaxis()->GetNbins(); uBin++) {
44 for (
auto vBin = 1; vBin <=
m_gridmap[clusterkind].GetYaxis()->GetNbins(); vBin++) {
46 m_gridmap[clusterkind].SetBinContent(uBin, vBin, size);
59 void setShapeClassifier(
const PXDClusterShapeClassifierPar& classifier,
int uBin,
int vBin,
int clusterkind)
61 int key =
m_gridmap[clusterkind].GetBinContent(uBin, vBin);
68 int key =
m_gridmap.at(clusterkind).GetBinContent(uBin, vBin);
77 int uBin = grid.GetXaxis()->FindBin(thetaU);
78 int vBin = grid.GetYaxis()->FindBin(thetaV);
79 int key = grid.GetBinContent(uBin, vBin);
84 bool hasClassifier(
double thetaU,
double thetaV,
int clusterkind)
const
93 int uBin = grid.GetXaxis()->FindBin(thetaU);
94 int vBin = grid.GetYaxis()->FindBin(thetaV);
95 int uBins = grid.GetXaxis()->GetNbins();
96 int vBins = grid.GetYaxis()->GetNbins();
97 if ((uBin < 1) || (uBin > uBins) || (vBin < 1) || (vBin > vBins))
110 const PXDClusterShapeClassifierPar& classifier =
getShapeClassifier(thetaU, thetaV, clusterkind);
111 return classifier.getOffset(shape_index, eta);
115 float getShapeLikelyhood(
int shape_index,
double thetaU,
double thetaV,
int clusterkind)
const
124 auto it = likelyhoodMap.find(shape_index);
125 if (it == likelyhoodMap.end())