@@ -56,8 +56,7 @@ using namespace RooFit;
5656
5757ClassImp (HFInvMassFitter);
5858
59- HFInvMassFitter::HFInvMassFitter () : TNamed(),
60- mHistoInvMass(nullptr ),
59+ HFInvMassFitter::HFInvMassFitter () : mHistoInvMass(nullptr ),
6160 mFitOption(" L,E" ),
6261 mMinMass(0 ),
6362 mMaxMass(5 ),
@@ -128,8 +127,7 @@ HFInvMassFitter::HFInvMassFitter() : TNamed(),
128127 // default constructor
129128}
130129
131- HFInvMassFitter::HFInvMassFitter (const TH1* histoToFit, Double_t minValue, Double_t maxValue, Int_t fitTypeBkg, Int_t fitTypeSgn) : TNamed(),
132- mHistoInvMass(nullptr ),
130+ HFInvMassFitter::HFInvMassFitter (const TH1* histoToFit, Double_t minValue, Double_t maxValue, Int_t fitTypeBkg, Int_t fitTypeSgn) : mHistoInvMass(nullptr ),
133131 mFitOption(" L,E" ),
134132 mMinMass(minValue),
135133 mMaxMass(maxValue),
@@ -260,7 +258,7 @@ void HFInvMassFitter::doFit()
260258 if (mTypeOfBkgPdf == NoBkg) { // MC
261259 mRooNSgn = new RooRealVar (" mRooNSig" , " number of signal" , 0.3 * mIntegralHisto , 0 ., 1.2 * mIntegralHisto ); // signal yield
262260 mTotalPdf = new RooAddPdf (" mMCFunc" , " MC fit function" , RooArgList (*sgnPdf), RooArgList (*mRooNSgn )); // create total pdf
263- if (! strcmp (mFitOption .Data (), " Chi2" )) {
261+ if (strcmp (mFitOption .Data (), " Chi2" ) == 0 ) {
264262 mTotalPdf ->chi2FitTo (dataHistogram, Range (" signal" ));
265263 } else {
266264 mTotalPdf ->fitTo (dataHistogram, Range (" signal" ));
@@ -272,13 +270,13 @@ void HFInvMassFitter::doFit()
272270 } else { // data
273271 mBkgPdf = new RooAddPdf (" mBkgPdf" , " background fit function" , RooArgList (*bkgPdf), RooArgList (*mRooNBkg ));
274272 if (mTypeOfSgnPdf == GausSec) { // two peak fit
275- if (! strcmp (mFitOption .Data (), " Chi2" )) {
273+ if (strcmp (mFitOption .Data (), " Chi2" ) == 0 ) {
276274 mBkgPdf ->chi2FitTo (dataHistogram, Range (" SBL,SBR,SEC" ), Save ());
277275 } else {
278276 mBkgPdf ->fitTo (dataHistogram, Range (" SBL,SBR,SEC" ), Save ());
279277 }
280278 } else { // single peak fit
281- if (! strcmp (mFitOption .Data (), " Chi2" )) {
279+ if (strcmp (mFitOption .Data (), " Chi2" ) == 0 ) {
282280 mBkgPdf ->chi2FitTo (dataHistogram, Range (" SBL,SBR" ), Save ());
283281 } else {
284282 mBkgPdf ->fitTo (dataHistogram, Range (" SBL,SBR" ), Save ());
@@ -287,7 +285,7 @@ void HFInvMassFitter::doFit()
287285 // define the frame to evaluate background sidebands chi2 (bg pdf needs to be plotted within sideband ranges)
288286 RooPlot* frameTemporary = mass->frame (Title (Form (" %s_temp" , mHistoInvMass ->GetTitle ())));
289287 dataHistogram.plotOn (frameTemporary, Name (" data_for_bkgchi2" ));
290- mBkgPdf ->plotOn (frameTemporary, Range (" SBL" , " SBR " ), Name (" Bkg_sidebands" ));
288+ mBkgPdf ->plotOn (frameTemporary, Range (" SBL" , true ), Name (" Bkg_sidebands" ));
291289 mChiSquareOverNdfBkg = frameTemporary->chiSquare (" Bkg_sidebands" , " data_for_bkgchi2" ); // calculate reduced chi2 / NDF of background sidebands (pre-fit)
292290 delete frameTemporary;
293291 RooAbsPdf* mBkgPdfPrefit {nullptr };
@@ -311,15 +309,15 @@ void HFInvMassFitter::doFit()
311309 }
312310 mSgnPdf = new RooAddPdf (" mSgnPdf" , " signal fit function" , RooArgList (*sgnPdf), RooArgList (*mRooNSgn ));
313311 // create reflection template and fit to reflection
314- if (mHistoTemplateRefl ) {
312+ if (mHistoTemplateRefl != nullptr ) {
315313 RooAbsPdf* reflPdf = createReflectionFitFunction (mWorkspace ); // create reflection pdf
316314 RooDataHist reflHistogram (" reflHistogram" , " refl for fit" , *mass, Import (*mHistoTemplateRefl ));
317315 mReflFrame = mass->frame ();
318316 mReflOnlyFrame = mass->frame (Title (Form (" %s" , mHistoTemplateRefl ->GetTitle ())));
319317 reflHistogram.plotOn (mReflOnlyFrame );
320318 mRooNRefl = new RooRealVar (" mNRefl" , " number of reflection" , 0.5 * mHistoTemplateRefl ->Integral (), 0 , mHistoTemplateRefl ->Integral ());
321319 RooAddPdf reflFuncTemp (" reflFuncTemp" , " template reflection fit function" , RooArgList (*reflPdf), RooArgList (*mRooNRefl ));
322- if (! strcmp (mFitOption .Data (), " Chi2" )) {
320+ if (strcmp (mFitOption .Data (), " Chi2" ) == 0 ) {
323321 reflFuncTemp.chi2FitTo (reflHistogram);
324322 } else {
325323 reflFuncTemp.fitTo (reflHistogram);
@@ -330,7 +328,7 @@ void HFInvMassFitter::doFit()
330328 mRooNRefl ->setConstant (kTRUE );
331329 setReflFuncFixed (); // fix reflection pdf parameter
332330 mTotalPdf = new RooAddPdf (" mTotalPdf" , " background + signal + reflection fit function" , RooArgList (*bkgPdf, *sgnPdf, *reflPdf), RooArgList (*mRooNBkg , *mRooNSgn , *mRooNRefl ));
333- if (! strcmp (mFitOption .Data (), " Chi2" )) {
331+ if (strcmp (mFitOption .Data (), " Chi2" ) == 0 ) {
334332 mTotalPdf ->chi2FitTo (dataHistogram);
335333 } else {
336334 mTotalPdf ->fitTo (dataHistogram);
@@ -350,7 +348,7 @@ void HFInvMassFitter::doFit()
350348 mSgnPdf ->plotOn (mResidualFrame , Normalization (1.0 , RooAbsReal::RelativeExpected), LineColor (kBlue ));
351349 } else {
352350 mTotalPdf = new RooAddPdf (" mTotalPdf" , " background + signal pdf" , RooArgList (*bkgPdf, *sgnPdf), RooArgList (*mRooNBkg , *mRooNSgn ));
353- if (! strcmp (mFitOption .Data (), " Chi2" )) {
351+ if (strcmp (mFitOption .Data (), " Chi2" ) == 0 ) {
354352 mTotalPdf ->chi2FitTo (dataHistogram);
355353 } else {
356354 mTotalPdf ->fitTo (dataHistogram);
@@ -576,7 +574,7 @@ void HFInvMassFitter::drawFit(TVirtualPad* pad, Int_t writeFitInfo)
576574 textInfoLeft->AddText (Form (" B (%d#sigma) = %.0f #pm %.0f" , mNSigmaForSidebands , mBkgYield , mBkgYieldErr ));
577575 textInfoLeft->AddText (Form (" S/B (%d#sigma) = %.4g " , mNSigmaForSidebands , mRawYield / mBkgYield ));
578576 }
579- if (mReflPdf ) {
577+ if (mReflPdf != nullptr ) {
580578 textInfoLeft->AddText (Form (" Refl/Sig = %.3f #pm %.3f " , mReflOverSgn , 0.0 ));
581579 }
582580 if (mTypeOfBkgPdf != NoBkg) {
@@ -610,7 +608,7 @@ void HFInvMassFitter::drawFit(TVirtualPad* pad, Int_t writeFitInfo)
610608 mInvMassFrame ->GetXaxis ()->SetTitle (Form (" %s" , mHistoInvMass ->GetXaxis ()->GetTitle ()));
611609 mInvMassFrame ->Draw ();
612610 highlightPeakRegion (mInvMassFrame );
613- if (mHistoTemplateRefl ) {
611+ if (mHistoTemplateRefl != nullptr ) {
614612 mReflFrame ->Draw (" same" );
615613 }
616614 }
@@ -643,8 +641,9 @@ void HFInvMassFitter::drawResidual(TVirtualPad* pad)
643641// draw peak region with vertical lines
644642void HFInvMassFitter::highlightPeakRegion (const RooPlot* plot, Color_t color, Width_t width, Style_t style) const
645643{
646- if (!mHighlightPeakRegion )
644+ if (!mHighlightPeakRegion ) {
647645 return ;
646+ }
648647 double yMin = plot->GetMinimum ();
649648 double yMax = plot->GetMaximum ();
650649 const Double_t mean = mRooMeanSgn ->getVal ();
0 commit comments