@@ -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
741740void 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