|
55 | 55 |
|
56 | 56 | using namespace RooFit; |
57 | 57 |
|
| 58 | +HFInvMassFitter::HFInvMassFitter() : mHistoInvMass(nullptr), |
| 59 | + mFitOption("L,E"), |
| 60 | + mMinMass(0.), |
| 61 | + mMaxMass(5.), |
| 62 | + mTypeOfBkgPdf(Expo), |
| 63 | + mTypeOfSgnPdf(SingleGaus), |
| 64 | + mTypeOfReflPdf(1), |
| 65 | + mMassParticle(TDatabasePDG::Instance()->GetParticle("D0")->Mass()), |
| 66 | + mMass(1.865), |
| 67 | + mMassLowLimit(0), |
| 68 | + mMassUpLimit(0), |
| 69 | + mMassReflLowLimit(0), |
| 70 | + mMassReflUpLimit(0), |
| 71 | + mSecMass(1.969), |
| 72 | + mSigmaSgn(0.012), |
| 73 | + mSecSigma(0.006), |
| 74 | + mNSigmaForSidebands(3.), |
| 75 | + mNSigmaForSgn(3.), |
| 76 | + mSigmaSgnErr(0.), |
| 77 | + mSigmaSgnDoubleGaus(0.025), |
| 78 | + mFixedMean(false), |
| 79 | + mBoundMean(false), |
| 80 | + mBoundReflMean(false), |
| 81 | + mFixedSigma(false), |
| 82 | + mFixedSigmaDoubleGaus(false), |
| 83 | + mBoundSigma(false), |
| 84 | + mSigmaValue(0.012), |
| 85 | + mParamSgn(0.1), |
| 86 | + mFracDoubleGaus(0.2), |
| 87 | + mFixedRawYield(-1.), |
| 88 | + mFixedFracDoubleGaus(false), |
| 89 | + mRatioDoubleGausSigma(0.), |
| 90 | + mFixedRatioDoubleGausSigma(false), |
| 91 | + mReflOverSgn(0), |
| 92 | + mEnableReflections(false), |
| 93 | + mRawYield(0), |
| 94 | + mRawYieldErr(0), |
| 95 | + mRawYieldCounted(0), |
| 96 | + mRawYieldCountedErr(0), |
| 97 | + mBkgYield(0), |
| 98 | + mBkgYieldErr(0), |
| 99 | + mSignificance(0), |
| 100 | + mSignificanceErr(0), |
| 101 | + mChiSquareOverNdfTotal(0), |
| 102 | + mChiSquareOverNdfBkg(0), |
| 103 | + mFixReflOverSgn(false), |
| 104 | + mRooMeanSgn(nullptr), |
| 105 | + mRooSigmaSgn(nullptr), |
| 106 | + mRooSecSigmaSgn(nullptr), |
| 107 | + mRooFracDoubleGaus(nullptr), |
| 108 | + mSgnPdf(nullptr), |
| 109 | + mBkgPdf(nullptr), |
| 110 | + mReflPdf(nullptr), |
| 111 | + mRooNSgn(nullptr), |
| 112 | + mRooNBkg(nullptr), |
| 113 | + mRooNRefl(nullptr), |
| 114 | + mTotalPdf(nullptr), |
| 115 | + mInvMassFrame(nullptr), |
| 116 | + mReflFrame(nullptr), |
| 117 | + mReflOnlyFrame(nullptr), |
| 118 | + mResidualFrame(nullptr), |
| 119 | + mRatioFrame(nullptr), |
| 120 | + mResidualFrameForCalculation(nullptr), |
| 121 | + mWorkspace(nullptr), |
| 122 | + mIntegralHisto(0), |
| 123 | + mIntegralBkg(0), |
| 124 | + mIntegralSgn(0), |
| 125 | + mHistoTemplateRefl(nullptr), |
| 126 | + mDrawBgPrefit(false), |
| 127 | + mHighlightPeakRegion(false) {} |
| 128 | + |
58 | 129 | HFInvMassFitter::HFInvMassFitter(TH1* histoToFit, |
59 | 130 | double minValue, |
60 | 131 | double maxValue, |
61 | 132 | int fitTypeBkg, |
62 | | - int fitTypeSgn) : mHistoInvMass(nullptr), |
63 | | - mFitOption("L,E"), |
64 | | - mMinMass(minValue), |
65 | | - mMaxMass(maxValue), |
66 | | - mTypeOfBkgPdf(fitTypeBkg), |
67 | | - mTypeOfSgnPdf(fitTypeSgn), |
68 | | - mTypeOfReflPdf(1), |
69 | | - mMassParticle(TDatabasePDG::Instance()->GetParticle("D0")->Mass()), |
70 | | - mMass(1.865), |
71 | | - mMassLowLimit(0), |
72 | | - mMassUpLimit(0), |
73 | | - mMassReflLowLimit(0), |
74 | | - mMassReflUpLimit(0), |
75 | | - mSecMass(1.969), |
76 | | - mSigmaSgn(0.012), |
77 | | - mSecSigma(0.006), |
78 | | - mNSigmaForSidebands(3.), |
79 | | - mNSigmaForSgn(3.), |
80 | | - mSigmaSgnErr(0.), |
81 | | - mSigmaSgnDoubleGaus(0.025), |
82 | | - mFixedMean(false), |
83 | | - mBoundMean(false), |
84 | | - mBoundReflMean(false), |
85 | | - mFixedSigma(false), |
86 | | - mFixedSigmaDoubleGaus(false), |
87 | | - mBoundSigma(false), |
88 | | - mSigmaValue(0.012), |
89 | | - mParamSgn(0.1), |
90 | | - mFracDoubleGaus(0.2), |
91 | | - mFixedRawYield(-1.), |
92 | | - mFixedFracDoubleGaus(false), |
93 | | - mRatioDoubleGausSigma(0.), |
94 | | - mFixedRatioDoubleGausSigma(false), |
95 | | - mReflOverSgn(0), |
96 | | - mEnableReflections(false), |
97 | | - mRawYield(0), |
98 | | - mRawYieldErr(0), |
99 | | - mRawYieldCounted(0), |
100 | | - mRawYieldCountedErr(0), |
101 | | - mBkgYield(0), |
102 | | - mBkgYieldErr(0), |
103 | | - mSignificance(0), |
104 | | - mSignificanceErr(0), |
105 | | - mChiSquareOverNdfTotal(0), |
106 | | - mChiSquareOverNdfBkg(0), |
107 | | - mFixReflOverSgn(false), |
108 | | - mRooMeanSgn(nullptr), |
109 | | - mRooSigmaSgn(nullptr), |
110 | | - mRooSecSigmaSgn(nullptr), |
111 | | - mRooFracDoubleGaus(nullptr), |
112 | | - mSgnPdf(nullptr), |
113 | | - mBkgPdf(nullptr), |
114 | | - mReflPdf(nullptr), |
115 | | - mRooNSgn(nullptr), |
116 | | - mRooNBkg(nullptr), |
117 | | - mRooNRefl(nullptr), |
118 | | - mTotalPdf(nullptr), |
119 | | - mInvMassFrame(nullptr), |
120 | | - mReflFrame(nullptr), |
121 | | - mReflOnlyFrame(nullptr), |
122 | | - mResidualFrame(nullptr), |
123 | | - mRatioFrame(nullptr), |
124 | | - mResidualFrameForCalculation(nullptr), |
125 | | - mWorkspace(nullptr), |
126 | | - mIntegralHisto(0), |
127 | | - mIntegralBkg(0), |
128 | | - mIntegralSgn(0), |
129 | | - mHistoTemplateRefl(nullptr), |
130 | | - mDrawBgPrefit(false), |
131 | | - mHighlightPeakRegion(false) |
| 133 | + int fitTypeSgn) : HFInvMassFitter() |
132 | 134 | { |
133 | 135 | // standard constructor |
134 | 136 | mHistoInvMass = histoToFit; |
| 137 | + if (mHistoInvMass == nullptr) { |
| 138 | + throw std::runtime_error("HFInvMassFitter(): histoToFit is nullptr"); |
| 139 | + } |
135 | 140 | mHistoInvMass->SetName("mHistoInvMass"); |
136 | 141 | mHistoInvMass->SetDirectory(nullptr); |
| 142 | + mMinMass = minValue; |
| 143 | + mMaxMass = maxValue; |
| 144 | + mTypeOfBkgPdf = fitTypeBkg; |
| 145 | + mTypeOfSgnPdf = fitTypeSgn; |
137 | 146 | } |
138 | 147 |
|
139 | 148 | HFInvMassFitter::~HFInvMassFitter() |
|
0 commit comments