Skip to content

Commit 0db0b7f

Browse files
committed
Implement Oleksii's comments
1 parent 56db18f commit 0db0b7f

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
@@ -381,7 +381,7 @@ void HFInvMassFitter::doFit()
381381
countSignal(mRawYieldCounted, mRawYieldCountedErr);
382382
calculateSignificance(mSignificance, mSignificanceErr);
383383
// Fit to data ratio
384-
mRatioFrame = mass->frame(Title("Fit/Data Ratio"));
384+
mRatioFrame = mass->frame(Title(Form("%s", mHistoInvMass->GetTitle())));
385385
calculateFitToDataRatio();
386386
}
387387
}
@@ -669,21 +669,9 @@ void HFInvMassFitter::drawResidual(TVirtualPad* pad)
669669
void HFInvMassFitter::drawRatio(TVirtualPad* pad)
670670
{
671671
pad->cd();
672-
mRatioFrame->GetYaxis()->SetTitle("");
673-
TPaveText* textInfo = new TPaveText(0.12, 0.65, 0.47, .89, "NDC");
674-
textInfo->SetBorderSize(0);
675-
textInfo->SetFillStyle(0);
676-
textInfo->SetTextColor(kBlue);
677-
textInfo->AddText(Form("S = %.0f #pm %.0f ", mRawYield, mRawYieldErr));
678-
textInfo->AddText(Form("S_{count} = %.0f #pm %.0f ", mRawYieldCounted, mRawYieldCountedErr));
679-
textInfo->AddText(Form("mean = %.3f #pm %.3f", mRooMeanSgn->getVal(), mRooMeanSgn->getError()));
680-
if (mTypeOfSgnPdf == DoubleGaus) {
681-
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
682-
textInfo->AddText(Form("sigma 2 = %.3f #pm %.3f", mRooSecSigmaSgn->getVal(), mRooSecSigmaSgn->getError()));
683-
} else {
684-
textInfo->AddText(Form("sigma = %.3f #pm %.3f", mRooSigmaSgn->getVal(), mRooSigmaSgn->getError()));
685-
}
686-
mRatioFrame->addObject(textInfo);
672+
mRatioFrame->GetXaxis()->SetTitleOffset(1.2);
673+
mRatioFrame->GetYaxis()->SetTitleOffset(1.5);
674+
mRatioFrame->GetYaxis()->SetTitle("Fit / Data");
687675
double xMin = mRatioFrame->GetXaxis()->GetXmin();
688676
double xMax = mRatioFrame->GetXaxis()->GetXmax();
689677
TLine* line = new TLine(xMin, 1.0, xMax, 1.0);
@@ -883,7 +871,7 @@ void HFInvMassFitter::plotRefl(RooAbsPdf* pdf)
883871
}
884872

885873
// Calculate fit to data ratio
886-
void HFInvMassFitter::calculateFitToDataRatio()
874+
void HFInvMassFitter::calculateFitToDataRatio() const
887875
{
888876
if (!mInvMassFrame)
889877
return;
@@ -911,9 +899,9 @@ void HFInvMassFitter::calculateFitToDataRatio()
911899
ratioHist->SetPointError(i, 0, 0, err, err);
912900
}
913901

902+
mRatioFrame->addPlotable(ratioHist, "P");
914903
mRatioFrame->SetMinimum(0.5);
915904
mRatioFrame->SetMaximum(1.5);
916-
mRatioFrame->addPlotable(ratioHist, "P");
917905
}
918906

919907
// Fix reflection pdf

PWGHF/D2H/Macros/HFInvMassFitter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ class HFInvMassFitter : public TNamed
229229
void calculateBackground(Double_t& bkg, Double_t& bkgErr) const;
230230
void calculateSignificance(Double_t& significance, Double_t& significanceErr) const;
231231
void checkForSignal(Double_t& estimatedSignal);
232-
void calculateFitToDataRatio();
232+
void calculateFitToDataRatio() const;
233233
void drawFit(TVirtualPad* c, const std::vector<std::string>& plotLabels, Bool_t writeParInfo = true);
234234
void drawResidual(TVirtualPad* c);
235235
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
@@ -651,6 +651,8 @@ int runMassFitter(const TString& configFileName)
651651
outputFileName.ReplaceAll(".root", ".pdf");
652652
TString outputFileNameResidual = outputFileName;
653653
outputFileNameResidual.ReplaceAll(".pdf", "_Residuals.pdf");
654+
TString outputFileRatio = outputFileName;
655+
outputFileRatio.ReplaceAll(".pdf", "_Ratio.pdf");
654656
for (int iCanvas = 0; iCanvas < nCanvases; iCanvas++) {
655657
if (iCanvas == 0 && nCanvases > 1) {
656658
canvasMass[iCanvas]->SaveAs(Form("%s[", outputFileName.Data()));
@@ -660,13 +662,22 @@ int runMassFitter(const TString& configFileName)
660662
canvasMass[iCanvas]->SaveAs(Form("%s]", outputFileName.Data()));
661663
}
662664
if (!isMc) {
665+
// residuals
663666
if (iCanvas == 0 && nCanvases > 1) {
664667
canvasResiduals[iCanvas]->SaveAs(Form("%s[", outputFileNameResidual.Data()));
665668
}
666669
canvasResiduals[iCanvas]->SaveAs(outputFileNameResidual.Data());
667670
if (iCanvas == nCanvases - 1 && nCanvases > 1) {
668671
canvasResiduals[iCanvas]->SaveAs(Form("%s]", outputFileNameResidual.Data()));
669672
}
673+
// ratio
674+
if (iCanvas == 0 && nCanvases > 1) {
675+
canvasRatio[iCanvas]->SaveAs(Form("%s[", outputFileRatio.Data()));
676+
}
677+
canvasRatio[iCanvas]->SaveAs(outputFileRatio.Data());
678+
if (iCanvas == nCanvases - 1 && nCanvases > 1) {
679+
canvasRatio[iCanvas]->SaveAs(Form("%s]", outputFileRatio.Data()));
680+
}
670681
}
671682
}
672683
return 0;

0 commit comments

Comments
 (0)