Skip to content

Commit 5d831e6

Browse files
committed
calc Bkg === 0 when NoBkg; do not allocate mRooNBkg when NoBkg
1 parent b6355ee commit 5d831e6

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -215,11 +215,8 @@ void HFInvMassFitter::doFit()
215215
mInvMassFrame = mass->frame(Title(Form("%s", mHistoInvMass->GetTitle()))); // define the frame to plot
216216
dataHistogram.plotOn(mInvMassFrame, Name("data_c")); // plot data histogram on the frame
217217

218-
// define number of background and background fit function
219-
const ParameterRanges rooNBkgParamRanges{0., 1.2 * mIntegralHisto, 0.3 * mIntegralHisto};
220-
mRooNBkg = new RooRealVar("mRooNBkg", "number of background", randomizeInitialParameter(rooNBkgParamRanges), rooNBkgParamRanges.lower, rooNBkgParamRanges.upper); // background yield
221-
RooAbsPdf* bkgPdf = createBackgroundFitFunction(mWorkspace); // Create background pdf
222-
RooAbsPdf* sgnPdf = createSignalFitFunction(mWorkspace); // Create signal pdf
218+
RooAbsPdf* bkgPdf = createBackgroundFitFunction(mWorkspace); // Create background pdf
219+
RooAbsPdf* sgnPdf = createSignalFitFunction(mWorkspace); // Create signal pdf
223220

224221
// fit MC or Data
225222
if (mTypeOfBkgPdf == NoBkg) { // MC
@@ -240,6 +237,8 @@ void HFInvMassFitter::doFit()
240237
mRatioFrame = mass->frame(Title(Form("%s", mHistoInvMass->GetTitle())));
241238
calculateFitToDataRatio();
242239
} else { // data
240+
const ParameterRanges rooNBkgParamRanges{0., 1.2 * mIntegralHisto, 0.3 * mIntegralHisto};
241+
mRooNBkg = new RooRealVar("mRooNBkg", "number of background", randomizeInitialParameter(rooNBkgParamRanges), rooNBkgParamRanges.lower, rooNBkgParamRanges.upper); // background yield
243242
mBkgPdf = new RooAddPdf("mBkgPdf", "background fit function", RooArgList(*bkgPdf), RooArgList(*mRooNBkg));
244243
if (mTypeOfSgnPdf == GausSec) { // two peak fit
245244
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
@@ -740,6 +739,11 @@ void HFInvMassFitter::calculateSignal(double& signal, double& errSignal) const
740739
// calculate background yield
741740
void HFInvMassFitter::calculateBackground(double& bkg, double& errBkg) const
742741
{
742+
if (mTypeOfBkgPdf == NoBkg) {
743+
bkg = 0.;
744+
errBkg = 0.;
745+
return;
746+
}
743747
bkg = mRooNBkg->getVal() * mIntegralBkg;
744748
errBkg = mRooNBkg->getError() * mIntegralBkg;
745749
}

0 commit comments

Comments
 (0)