Skip to content

Commit 695548a

Browse files
committed
Implement Oleksii's comments
1 parent 6cb6aa8 commit 695548a

File tree

4 files changed

+22
-19
lines changed

4 files changed

+22
-19
lines changed

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ void HFInvMassFitter::doFit()
384384
countSignal(mRawYieldCounted, mRawYieldCountedErr);
385385
calculateSignificance(mSignificance, mSignificanceErr);
386386
// Fit to data ratio
387-
mRatioFrame = mass->frame(Title("Fit/Data Ratio"));
387+
mRatioFrame = mass->frame(Title(Form("%s", mHistoInvMass->GetTitle())));
388388
calculateFitToDataRatio();
389389
}
390390
}
@@ -672,21 +672,9 @@ void HFInvMassFitter::drawResidual(TVirtualPad* pad)
672672
void HFInvMassFitter::drawRatio(TVirtualPad* pad)
673673
{
674674
pad->cd();
675-
mRatioFrame->GetYaxis()->SetTitle("");
676-
TPaveText* textInfo = new TPaveText(0.12, 0.65, 0.47, .89, "NDC");
677-
textInfo->SetBorderSize(0);
678-
textInfo->SetFillStyle(0);
679-
textInfo->SetTextColor(kBlue);
680-
textInfo->AddText(Form("S = %.0f #pm %.0f ", mRawYield, mRawYieldErr));
681-
textInfo->AddText(Form("S_{count} = %.0f #pm %.0f ", mRawYieldCounted, mRawYieldCountedErr));
682-
textInfo->AddText(Form("mean = %.3f #pm %.3f", mRooMeanSgn->getVal(), mRooMeanSgn->getError()));
683-
if (mTypeOfSgnPdf == DoubleGaus) {
684-
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
685-
textInfo->AddText(Form("sigma 2 = %.3f #pm %.3f", mRooSecSigmaSgn->getVal(), mRooSecSigmaSgn->getError()));
686-
} else {
687-
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
688-
}
689-
mRatioFrame->addObject(textInfo);
675+
mRatioFrame->GetXaxis()->SetTitleOffset(1.2);
676+
mRatioFrame->GetYaxis()->SetTitleOffset(1.5);
677+
mRatioFrame->GetYaxis()->SetTitle("Fit / Data");
690678
double xMin = mRatioFrame->GetXaxis()->GetXmin();
691679
double xMax = mRatioFrame->GetXaxis()->GetXmax();
692680
TLine* line = new TLine(xMin, 1.0, xMax, 1.0);
@@ -885,7 +873,7 @@ void HFInvMassFitter::plotRefl(RooAbsPdf* pdf)
885873
}
886874

887875
// Calculate fit to data ratio
888-
void HFInvMassFitter::calculateFitToDataRatio()
876+
void HFInvMassFitter::calculateFitToDataRatio() const
889877
{
890878
if (!mInvMassFrame)
891879
return;
@@ -913,9 +901,9 @@ void HFInvMassFitter::calculateFitToDataRatio()
913901
ratioHist->SetPointError(i, 0, 0, err, err);
914902
}
915903

904+
mRatioFrame->addPlotable(ratioHist, "P");
916905
mRatioFrame->SetMinimum(0.5);
917906
mRatioFrame->SetMaximum(1.5);
918-
mRatioFrame->addPlotable(ratioHist, "P");
919907
}
920908

921909
// Fix reflection pdf

PWGHF/D2H/Macros/HFInvMassFitter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ class HFInvMassFitter : public TNamed
228228
void calculateBackground(Double_t& bkg, Double_t& bkgErr) const;
229229
void calculateSignificance(Double_t& significance, Double_t& significanceErr) const;
230230
void checkForSignal(Double_t& estimatedSignal);
231-
void calculateFitToDataRatio();
231+
void calculateFitToDataRatio() const;
232232
void drawFit(TVirtualPad* c, const std::vector<std::string>& plotLabels, Bool_t writeParInfo = true);
233233
void drawResidual(TVirtualPad* c);
234234
void drawRatio(TVirtualPad* c);

PWGHF/D2H/Macros/config_massfitter.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
22
"IsMC": false,
3+
"WriteSignalPar": true,
4+
"_WriteSignalPar": "write signal parameter values on mass canvas",
35
"InFileName": "hMasses.root",
46
"_InFileName": "download example file here https://cernbox.cern.ch/s/uoWicuRAVGArDsV",
57
"ReflFileName": "",
@@ -35,6 +37,8 @@
3537
"Dstar",
3638
"XicToXiPiPi"
3739
],
40+
"CollisionSystem": "pp #sqrt{#it{s}} = 13.6 TeV",
41+
"_CollisionSystems": "Label for mass canvases",
3842
"EnableRefl": false,
3943
"FixSigma": false,
4044
"SigmaFile": "",

PWGHF/D2H/Macros/runMassFitter.C

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,8 @@ int runMassFitter(const TString& configFileName)
652652
outputFileName.ReplaceAll(".root", ".pdf");
653653
TString outputFileNameResidual = outputFileName;
654654
outputFileNameResidual.ReplaceAll(".pdf", "_Residuals.pdf");
655+
TString outputFileRatio = outputFileName;
656+
outputFileRatio.ReplaceAll(".pdf", "_Ratio.pdf");
655657
for (int iCanvas = 0; iCanvas < nCanvases; iCanvas++) {
656658
if (iCanvas == 0 && nCanvases > 1) {
657659
canvasMass[iCanvas]->SaveAs(Form("%s[", outputFileName.Data()));
@@ -661,13 +663,22 @@ int runMassFitter(const TString& configFileName)
661663
canvasMass[iCanvas]->SaveAs(Form("%s]", outputFileName.Data()));
662664
}
663665
if (!isMc) {
666+
// residuals
664667
if (iCanvas == 0 && nCanvases > 1) {
665668
canvasResiduals[iCanvas]->SaveAs(Form("%s[", outputFileNameResidual.Data()));
666669
}
667670
canvasResiduals[iCanvas]->SaveAs(outputFileNameResidual.Data());
668671
if (iCanvas == nCanvases - 1 && nCanvases > 1) {
669672
canvasResiduals[iCanvas]->SaveAs(Form("%s]", outputFileNameResidual.Data()));
670673
}
674+
// ratio
675+
if (iCanvas == 0 && nCanvases > 1) {
676+
canvasRatio[iCanvas]->SaveAs(Form("%s[", outputFileRatio.Data()));
677+
}
678+
canvasRatio[iCanvas]->SaveAs(outputFileRatio.Data());
679+
if (iCanvas == nCanvases - 1 && nCanvases > 1) {
680+
canvasRatio[iCanvas]->SaveAs(Form("%s]", outputFileRatio.Data()));
681+
}
671682
}
672683
}
673684
return 0;

0 commit comments

Comments
 (0)