Skip to content

Commit 5b35095

Browse files
committed
do not create another histogram for rebinning
1 parent eaf393a commit 5b35095

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

PWGHF/D2H/Macros/runMassFitter.C

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -329,12 +329,6 @@ void runMassFitter(const std::string& configFileName)
329329
TH1* hSecondSigmaToFix = getHistToFix(fixSecondSigma, fixSecondSigmaManual, secondSigmaFile, "SecSigma");
330330
TH1* hFracDoubleGausToFix = getHistToFix(fixFracDoubleGaus, fixFracDoubleGausManual, fracDoubleGausFile, "FracDoubleGaus");
331331

332-
// fit histograms
333-
334-
std::vector<TH1*> hMassForFit(nSliceVarBins);
335-
std::vector<TH1*> hMassForRefl(nSliceVarBins);
336-
std::vector<TH1*> hMassForSgn(nSliceVarBins);
337-
338332
int canvasSize[2] = {1920, 1080};
339333
if (nSliceVarBins == 1) {
340334
canvasSize[0] = 500;
@@ -367,22 +361,22 @@ void runMassFitter(const std::string& configFileName)
367361
for (int iSliceVar = 0; iSliceVar < nSliceVarBins; iSliceVar++) {
368362
const int iCanvas = std::floor(static_cast<float>(iSliceVar) / nCanvasesMax);
369363

370-
hMassForFit[iSliceVar] = hMass[iSliceVar]->Rebin(nRebin[iSliceVar]);
364+
hMass[iSliceVar]->Rebin(nRebin[iSliceVar]);
371365
TString const ptTitle =
372366
Form("%0.2f < " + sliceVarName + " < %0.2f " + sliceVarUnit, sliceVarMin[iSliceVar], sliceVarMax[iSliceVar]);
373-
hMassForFit[iSliceVar]->SetTitle(Form("%s;%s;Counts per %0.1f MeV/#it{c}^{2}",
374-
ptTitle.Data(), massAxisTitle.c_str(),
375-
hMassForFit[iSliceVar]->GetBinWidth(1) * 1000));
376-
hMassForFit[iSliceVar]->SetName(Form("MassForFit%d", iSliceVar));
367+
hMass[iSliceVar]->SetTitle(Form("%s;%s;Counts per %0.1f MeV/#it{c}^{2}",
368+
ptTitle.Data(), massAxisTitle.c_str(),
369+
hMass[iSliceVar]->GetBinWidth(1) * 1000));
370+
hMass[iSliceVar]->SetName(Form("MassForFit%d", iSliceVar));
377371

378372
if (enableRefl) {
379-
hMassForRefl[iSliceVar] = hMassRefl[iSliceVar]->Rebin(nRebin[iSliceVar]);
380-
hMassForSgn[iSliceVar] = hMassSgn[iSliceVar]->Rebin(nRebin[iSliceVar]);
373+
hMassRefl[iSliceVar]->Rebin(nRebin[iSliceVar]);
374+
hMassSgn[iSliceVar]->Rebin(nRebin[iSliceVar]);
381375
}
382376

383377
double reflOverSgn = 0;
384378

385-
HFInvMassFitter* massFitter = new HFInvMassFitter(hMassForFit[iSliceVar], massMin[iSliceVar], massMax[iSliceVar], bkgFunc[iSliceVar], sgnFunc[iSliceVar]);
379+
HFInvMassFitter* massFitter = new HFInvMassFitter(hMass[iSliceVar], massMin[iSliceVar], massMax[iSliceVar], bkgFunc[iSliceVar], sgnFunc[iSliceVar]);
386380
massFitter->setDrawBgPrefit(drawBgPrefit);
387381
massFitter->setHighlightPeakRegion(highlightPeakRegion);
388382
massFitter->setInitialGaussianMean(massPDG);
@@ -413,8 +407,8 @@ void runMassFitter(const std::string& configFileName)
413407
setFixedValue(fixFracDoubleGaus, fixFracDoubleGausManual, hFracDoubleGausToFix, std::bind(&HFInvMassFitter::setFixFrac2Gaus, massFitter, std::placeholders::_1), "FRAC DOUBLE GAUS");
414408

415409
if (!isMc && enableRefl) {
416-
reflOverSgn = hMassForSgn[iSliceVar]->Integral(hMassForSgn[iSliceVar]->FindBin(massMin[iSliceVar] * 1.0001), hMassForSgn[iSliceVar]->FindBin(massMax[iSliceVar] * 0.999));
417-
reflOverSgn = hMassForRefl[iSliceVar]->Integral(hMassForRefl[iSliceVar]->FindBin(massMin[iSliceVar] * 1.0001), hMassForRefl[iSliceVar]->FindBin(massMax[iSliceVar] * 0.999)) / reflOverSgn;
410+
reflOverSgn = hMassSgn[iSliceVar]->Integral(hMassSgn[iSliceVar]->FindBin(massMin[iSliceVar] * 1.0001), hMassSgn[iSliceVar]->FindBin(massMax[iSliceVar] * 0.999));
411+
reflOverSgn = hMassRefl[iSliceVar]->Integral(hMassRefl[iSliceVar]->FindBin(massMin[iSliceVar] * 1.0001), hMassRefl[iSliceVar]->FindBin(massMax[iSliceVar] * 0.999)) / reflOverSgn;
418412
massFitter->setFixReflOverSgn(reflOverSgn);
419413
massFitter->setTemplateReflections(hMassRefl[iSliceVar]);
420414
}

0 commit comments

Comments
 (0)