@@ -430,33 +430,38 @@ int runMassFitter(const TString& configFileName)
430430 const Double_t rawYieldErr = massFitter -> getRawYieldError ();
431431 const Double_t rawYieldCounted = massFitter -> getRawYieldCounted ();
432432 const Double_t rawYieldCountedErr = massFitter -> getRawYieldCountedError ();
433+ const Double_t reducedChiSquareBkg = massFitter -> getChiSquareOverNDFBkg ();
434+ const Double_t reducedChiSquareTotal = massFitter -> getChiSquareOverNDFTotal ();
433435 const Double_t mean = massFitter -> getMean ();
434436 const Double_t meanErr = massFitter -> getMeanUncertainty ();
435437 const Double_t sigma = massFitter -> getSigma ();
436438 const Double_t sigmaErr = massFitter -> getSigmaUncertainty ();
437- const Double_t secSigma = massFitter -> getSecSigma ();
438- const Double_t secSigmaErr = massFitter -> getSecSigmaUncertainty ();
439- const Double_t fracDoubleGaus = massFitter -> getFracDoubleGaus ();
440- const Double_t fracDoubleGausErr = massFitter -> getFracDoubleGausUncertainty ();
441- const Double_t reducedChiSquareBkg = massFitter -> getChiSquareOverNDFBkg ();
442- const Double_t reducedChiSquareTotal = massFitter -> getChiSquareOverNDFTotal ();
443439
444440 hRawYieldsSignal -> SetBinContent (iSliceVar + 1 , rawYield );
445441 hRawYieldsSignal -> SetBinError (iSliceVar + 1 , rawYieldErr );
446442 hRawYieldsSignalCounted -> SetBinContent (iSliceVar + 1 , rawYieldCounted );
447443 hRawYieldsSignalCounted -> SetBinError (iSliceVar + 1 , rawYieldCountedErr );
448- hRawYieldsMean -> SetBinContent (iSliceVar + 1 , mean );
449- hRawYieldsMean -> SetBinError (iSliceVar + 1 , meanErr );
450- hRawYieldsSigma -> SetBinContent (iSliceVar + 1 , sigma );
451- hRawYieldsSigma -> SetBinError (iSliceVar + 1 , sigmaErr );
452- hRawYieldsSecSigma -> SetBinContent (iSliceVar + 1 , secSigma );
453- hRawYieldsSecSigma -> SetBinError (iSliceVar + 1 , secSigmaErr );
454- hRawYieldsFracDoubleGaus -> SetBinContent (iSliceVar + 1 , fracDoubleGaus );
455- hRawYieldsFracDoubleGaus -> SetBinError (iSliceVar + 1 , fracDoubleGausErr );
456444 hRawYieldsChiSquareBkg -> SetBinContent (iSliceVar + 1 , reducedChiSquareBkg );
457445 hRawYieldsChiSquareBkg -> SetBinError (iSliceVar + 1 , 0. );
458446 hRawYieldsChiSquareTotal -> SetBinContent (iSliceVar + 1 , reducedChiSquareTotal );
459447 hRawYieldsChiSquareTotal -> SetBinError (iSliceVar + 1 , 0. );
448+ hRawYieldsMean -> SetBinContent (iSliceVar + 1 , mean );
449+ hRawYieldsMean -> SetBinError (iSliceVar + 1 , meanErr );
450+ hRawYieldsSigma -> SetBinContent (iSliceVar + 1 , sigma );
451+ hRawYieldsSigma -> SetBinError (iSliceVar + 1 , sigmaErr );
452+
453+ if (sgnFunc [iSliceVar ] != HFInvMassFitter ::SingleGaus ) {
454+ const Double_t secSigma = massFitter -> getSecSigma ();
455+ const Double_t secSigmaErr = massFitter -> getSecSigmaUncertainty ();
456+ hRawYieldsSecSigma -> SetBinContent (iSliceVar + 1 , secSigma );
457+ hRawYieldsSecSigma -> SetBinError (iSliceVar + 1 , secSigmaErr );
458+ }
459+ if (sgnFunc [iSliceVar ] == HFInvMassFitter ::DoubleGaus || sgnFunc [iSliceVar ] == HFInvMassFitter ::DoubleGausSigmaRatioPar ) {
460+ const Double_t fracDoubleGaus = massFitter -> getFracDoubleGaus ();
461+ const Double_t fracDoubleGausErr = massFitter -> getFracDoubleGausUncertainty ();
462+ hRawYieldsFracDoubleGaus -> SetBinContent (iSliceVar + 1 , fracDoubleGaus );
463+ hRawYieldsFracDoubleGaus -> SetBinError (iSliceVar + 1 , fracDoubleGausErr );
464+ }
460465 } else {
461466 HFInvMassFitter * massFitter ;
462467 massFitter = new HFInvMassFitter (hMassForFit [iSliceVar ], massMin [iSliceVar ], massMax [iSliceVar ],
@@ -504,43 +509,49 @@ int runMassFitter(const TString& configFileName)
504509 const double rawYieldErr = massFitter -> getRawYieldError ();
505510 const double rawYieldCounted = massFitter -> getRawYieldCounted ();
506511 const double rawYieldCountedErr = massFitter -> getRawYieldCountedError ();
512+ const double bkg = massFitter -> getBkgYield ();
513+ const double bkgErr = massFitter -> getBkgYieldError ();
514+ const double significance = massFitter -> getSignificance ();
515+ const double significanceErr = massFitter -> getSignificanceError ();
516+ const double reducedChiSquareBkg = massFitter -> getChiSquareOverNDFBkg ();
517+ const double reducedChiSquareTotal = massFitter -> getChiSquareOverNDFTotal ();
507518 const double mean = massFitter -> getMean ();
508519 const double meanErr = massFitter -> getMeanUncertainty ();
509520 const double sigma = massFitter -> getSigma ();
510521 const double sigmaErr = massFitter -> getSigmaUncertainty ();
511- const double secSigma = massFitter -> getSecSigma ();
512- const double secSigmaErr = massFitter -> getSecSigmaUncertainty ();
513- const double fracDoubleGaus = massFitter -> getFracDoubleGaus ();
514- const double fracDoubleGausErr = massFitter -> getFracDoubleGausUncertainty ();
515- const double reducedChiSquareBkg = massFitter -> getChiSquareOverNDFBkg ();
516- const double reducedChiSquareTotal = massFitter -> getChiSquareOverNDFTotal ();
517- const double significance = massFitter -> getSignificance ();
518- const double significanceErr = massFitter -> getSignificanceError ();
519- const double bkg = massFitter -> getBkgYield ();
520- const double bkgErr = massFitter -> getBkgYieldError ();
521522
522523 hRawYieldsSignal -> SetBinContent (iSliceVar + 1 , rawYield );
523524 hRawYieldsSignal -> SetBinError (iSliceVar + 1 , rawYieldErr );
524525 hRawYieldsSignalCounted -> SetBinContent (iSliceVar + 1 , rawYieldCounted );
525526 hRawYieldsSignalCounted -> SetBinError (iSliceVar + 1 , rawYieldCountedErr );
526- hRawYieldsMean -> SetBinContent (iSliceVar + 1 , mean );
527- hRawYieldsMean -> SetBinError (iSliceVar + 1 , meanErr );
528- hRawYieldsSigma -> SetBinContent (iSliceVar + 1 , sigma );
529- hRawYieldsSigma -> SetBinError (iSliceVar + 1 , sigmaErr );
530- hRawYieldsSecSigma -> SetBinContent (iSliceVar + 1 , secSigma );
531- hRawYieldsSecSigma -> SetBinError (iSliceVar + 1 , secSigmaErr );
532- hRawYieldsFracDoubleGaus -> SetBinContent (iSliceVar + 1 , fracDoubleGaus );
533- hRawYieldsFracDoubleGaus -> SetBinError (iSliceVar + 1 , fracDoubleGausErr );
534- hRawYieldsSignificance -> SetBinContent (iSliceVar + 1 , significance );
535- hRawYieldsSignificance -> SetBinError (iSliceVar + 1 , significanceErr );
536- hRawYieldsSgnOverBkg -> SetBinContent (iSliceVar + 1 , rawYield / bkg );
537- hRawYieldsSgnOverBkg -> SetBinError (iSliceVar + 1 , rawYield / bkg * std ::sqrt (rawYieldErr / rawYield * rawYieldErr / rawYield + bkgErr / bkg * bkgErr / bkg ));
538527 hRawYieldsBkg -> SetBinContent (iSliceVar + 1 , bkg );
539528 hRawYieldsBkg -> SetBinError (iSliceVar + 1 , bkgErr );
529+ hRawYieldsSgnOverBkg -> SetBinContent (iSliceVar + 1 , rawYield / bkg );
530+ hRawYieldsSgnOverBkg -> SetBinError (iSliceVar + 1 , rawYield / bkg * std ::sqrt (rawYieldErr / rawYield * rawYieldErr / rawYield + bkgErr / bkg * bkgErr / bkg ));
531+ hRawYieldsSignificance -> SetBinContent (iSliceVar + 1 , significance );
532+ hRawYieldsSignificance -> SetBinError (iSliceVar + 1 , significanceErr );
540533 hRawYieldsChiSquareBkg -> SetBinContent (iSliceVar + 1 , reducedChiSquareBkg );
541534 hRawYieldsChiSquareBkg -> SetBinError (iSliceVar + 1 , 1.e-20 );
542535 hRawYieldsChiSquareTotal -> SetBinContent (iSliceVar + 1 , reducedChiSquareTotal );
543536 hRawYieldsChiSquareTotal -> SetBinError (iSliceVar + 1 , 1.e-20 );
537+ hRawYieldsMean -> SetBinContent (iSliceVar + 1 , mean );
538+ hRawYieldsMean -> SetBinError (iSliceVar + 1 , meanErr );
539+ hRawYieldsSigma -> SetBinContent (iSliceVar + 1 , sigma );
540+ hRawYieldsSigma -> SetBinError (iSliceVar + 1 , sigmaErr );
541+
542+ if (sgnFunc [iSliceVar ] != HFInvMassFitter ::SingleGaus ) {
543+ const double secSigma = massFitter -> getSecSigma ();
544+ const double secSigmaErr = massFitter -> getSecSigmaUncertainty ();
545+ hRawYieldsSecSigma -> SetBinContent (iSliceVar + 1 , secSigma );
546+ hRawYieldsSecSigma -> SetBinError (iSliceVar + 1 , secSigmaErr );
547+ }
548+ if (sgnFunc [iSliceVar ] == HFInvMassFitter ::DoubleGaus || sgnFunc [iSliceVar ] == HFInvMassFitter ::DoubleGausSigmaRatioPar ) {
549+ const double fracDoubleGaus = massFitter -> getFracDoubleGaus ();
550+ const double fracDoubleGausErr = massFitter -> getFracDoubleGausUncertainty ();
551+ hRawYieldsFracDoubleGaus -> SetBinContent (iSliceVar + 1 , fracDoubleGaus );
552+ hRawYieldsFracDoubleGaus -> SetBinError (iSliceVar + 1 , fracDoubleGausErr );
553+ }
554+
544555 if (enableRefl ) {
545556 hReflectionOverSignal -> SetBinContent (iSliceVar + 1 , reflOverSgn );
546557 }
@@ -618,15 +629,15 @@ int runMassFitter(const TString& configFileName)
618629 }
619630 hRawYieldsSignal -> Write ();
620631 hRawYieldsSignalCounted -> Write ();
632+ hRawYieldsBkg -> Write ();
633+ hRawYieldsSgnOverBkg -> Write ();
634+ hRawYieldsSignificance -> Write ();
635+ hRawYieldsChiSquareBkg -> Write ();
636+ hRawYieldsChiSquareTotal -> Write ();
621637 hRawYieldsMean -> Write ();
622638 hRawYieldsSigma -> Write ();
623639 hRawYieldsSecSigma -> Write ();
624640 hRawYieldsFracDoubleGaus -> Write ();
625- hRawYieldsSignificance -> Write ();
626- hRawYieldsSgnOverBkg -> Write ();
627- hRawYieldsBkg -> Write ();
628- hRawYieldsChiSquareBkg -> Write ();
629- hRawYieldsChiSquareTotal -> Write ();
630641 if (enableRefl ) {
631642 hReflectionOverSignal -> Write ();
632643 }
0 commit comments