37 AlignPCLThresholds_Display()
38 : cond::payloadInspector::PlotImage<
AlignPCLThresholds>(
"Display of threshold parameters for SiPixelAli PCL") {
43 auto iov =
iovs.front();
45 auto alignables = payload->getAlignableList();
47 TCanvas
canvas(
"Alignment PCL thresholds summary",
"Alignment PCL thresholds summary", 1500, 800);
51 canvas.SetBottomMargin(0.06);
52 canvas.SetLeftMargin(0.11);
53 canvas.SetRightMargin(0.05);
57 auto Thresholds = std::make_unique<TH2F>(
58 "Thresholds",
"Alignment parameter thresholds", alignables.size(), 0, alignables.size(), 24, 0, 24);
59 Thresholds->SetStats(
false);
61 std::function<float(types, std::string, AlignPCLThresholds::coordType)> cutFunctor =
66 return payload->getCut(alignable, coord);
68 return payload->getSigCut(alignable, coord);
70 return payload->getMaxMoveCut(alignable, coord);
72 return payload->getMaxErrorCut(alignable, coord);
80 unsigned int xBin = 0;
81 for (
const auto& alignable : alignables) {
85 Thresholds->GetXaxis()->SetBinLabel(xBin, (xLabel).c_str());
86 unsigned int yBin = 24;
93 Thresholds->GetYaxis()->SetBinLabel(yBin, theLabel.c_str());
96 Thresholds->SetBinContent(xBin, yBin, cutFunctor(type, alignable, coord));
103 Thresholds->GetXaxis()->LabelsOption(
"h");
104 Thresholds->Draw(
"TEXT");
128 return "should never be here";
138 return "#Delta/#sigma ";
144 return "should never be here";
154 size_t start_pos = 0;
155 while ((start_pos =
out.find(from, start_pos)) != std::string::npos) {
156 out.replace(start_pos, from.length(), to);
157 start_pos += to.length();
tuple ret
prodAgent to be discontinued
#define PAYLOAD_INSPECTOR_CLASS(CLASS_NAME)
void replaceAll(std::string &str, const std::string &from, const std::string &to)
std::string getStringFromTypeEnum(const parameters ¶meter)
#define PAYLOAD_INSPECTOR_MODULE(PAYLOAD_TYPENAME)
std::shared_ptr< PayloadType > fetchPayload(const cond::Hash &payloadHash)