Skip to content

Commit b241d2d

Browse files
committed
reduce code repetition in writeParInfo and setFixedValue
1 parent e14af0b commit b241d2d

File tree

2 files changed

+12
-33
lines changed

2 files changed

+12
-33
lines changed

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -605,26 +605,13 @@ void HFInvMassFitter::drawFit(TVirtualPad* pad, const std::vector<std::string>&
605605
textSignalPar->SetFillStyle(0);
606606
textSignalPar->SetTextColor(kBlue);
607607
textSignalPar->SetTextAlign(13);
608-
if (mFixedMean) {
609-
textSignalPar->AddText(Form("mean(fixed) = %.3f #pm %.3f", mRooMeanSgn->getVal(), mRooMeanSgn->getError()));
610-
} else {
611-
textSignalPar->AddText(Form("mean(free) = %.3f #pm %.3f", mRooMeanSgn->getVal(), mRooMeanSgn->getError()));
612-
}
608+
const std::string fixMeanStatus = mFixedMean ? "fixed" : "free";
609+
const std::string fixSigmaStatus = mFixedSigma ? "fixed" : "free";
610+
const std::string fixSigmaDoubleGausStatus = mFixedSigmaDoubleGaus ? "fixed" : "free";
611+
textSignalPar->AddText(Form("mean(%s) = %.3f #pm %.3f", fixMeanStatus.c_str(), mRooMeanSgn->getVal(), mRooMeanSgn->getError()));
612+
textSignalPar->AddText(Form("sigma(%s) = %.3f #pm %.3f", fixSigmaStatus.c_str(), mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
613613
if (mTypeOfSgnPdf == DoubleGaus) {
614-
if (mFixedSigma) {
615-
textSignalPar->AddText(Form("sigma(fixed) = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
616-
} else {
617-
textSignalPar->AddText(Form("sigma(free) = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
618-
}
619-
if (mFixedSigmaDoubleGaus) {
620-
textSignalPar->AddText(Form("sigma 2(fixed) = %.3f #pm %.3f", mRooSecSigmaSgn->getVal(), mRooSecSigmaSgn->getError()));
621-
} else {
622-
textSignalPar->AddText(Form("sigma 2(free) = %.3f #pm %.3f", mRooSecSigmaSgn->getVal(), mRooSecSigmaSgn->getError()));
623-
}
624-
} else if (mFixedSigma) {
625-
textSignalPar->AddText(Form("sigma(fixed) = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
626-
} else {
627-
textSignalPar->AddText(Form("sigma(free) = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
614+
textSignalPar->AddText(Form("sigma 2(%s) = %.3f #pm %.3f", fixSigmaDoubleGausStatus.c_str(), mRooSecSigmaSgn->getVal(), mRooSecSigmaSgn->getError()));
628615
}
629616
mInvMassFrame->addObject(textSignalPar);
630617
}
@@ -652,11 +639,9 @@ void HFInvMassFitter::drawResidual(TVirtualPad* pad)
652639
textInfo->AddText(Form("S = %.0f #pm %.0f ", mRawYield, mRawYieldErr));
653640
textInfo->AddText(Form("S_{count} = %.0f #pm %.0f ", mRawYieldCounted, mRawYieldCountedErr));
654641
textInfo->AddText(Form("mean = %.3f #pm %.3f", mRooMeanSgn->getVal(), mRooMeanSgn->getError()));
642+
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
655643
if (mTypeOfSgnPdf == DoubleGaus) {
656-
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
657644
textInfo->AddText(Form("sigma 2 = %.3f #pm %.3f", mRooSecSigmaSgn->getVal(), mRooSecSigmaSgn->getError()));
658-
} else {
659-
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
660645
}
661646
mResidualFrame->addObject(textInfo);
662647
mResidualFrame->Draw();

PWGHF/D2H/Macros/runMassFitter.C

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -463,17 +463,11 @@ int runMassFitter(const TString& configFileName)
463463

464464
auto setFixedValue = [&iSliceVar](bool const& isFix, std::vector<double> const& fixManual, const TH1* histToFix, std::function<void(Double_t)> setFunc, std::string const& var) -> void {
465465
if (isFix) {
466-
if (fixManual.empty()) {
467-
setFunc(histToFix->GetBinContent(iSliceVar + 1));
468-
printf("*****************************\n");
469-
printf("FIXED %s: %f\n", var.data(), histToFix->GetBinContent(iSliceVar + 1));
470-
printf("*****************************\n");
471-
} else {
472-
setFunc(fixManual[iSliceVar]);
473-
printf("*****************************\n");
474-
printf("FIXED %s: %f\n", var.data(), fixManual[iSliceVar]);
475-
printf("*****************************\n");
476-
}
466+
const auto valueToFix = fixManual.empty() ? histToFix->GetBinContent(iSliceVar + 1) : fixManual[iSliceVar];
467+
setFunc(valueToFix);
468+
printf("*****************************\n");
469+
printf("FIXED %s: %f\n", var.data(), valueToFix);
470+
printf("*****************************\n");
477471
}
478472
};
479473

0 commit comments

Comments
 (0)