Skip to content

Commit b5f7c53

Browse files
committed
recover default constructor (as an entry point for Root macro)
1 parent 37e40dc commit b5f7c53

2 files changed

Lines changed: 80 additions & 71 deletions

File tree

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 79 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -55,85 +55,94 @@
5555

5656
using namespace RooFit;
5757

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+
58129
HFInvMassFitter::HFInvMassFitter(TH1* histoToFit,
59130
double minValue,
60131
double maxValue,
61132
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()
132134
{
133135
// standard constructor
134136
mHistoInvMass = histoToFit;
137+
if (mHistoInvMass == nullptr) {
138+
throw std::runtime_error("HFInvMassFitter(): histoToFit is nullptr");
139+
}
135140
mHistoInvMass->SetName("mHistoInvMass");
136141
mHistoInvMass->SetDirectory(nullptr);
142+
mMinMass = minValue;
143+
mMaxMass = maxValue;
144+
mTypeOfBkgPdf = fitTypeBkg;
145+
mTypeOfSgnPdf = fitTypeSgn;
137146
}
138147

139148
HFInvMassFitter::~HFInvMassFitter()

PWGHF/D2H/Macros/HFInvMassFitter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class HFInvMassFitter : public TNamed
6666
NTypesOfReflPdf
6767
};
6868
std::array<std::string, NTypesOfReflPdf> namesOfReflPdf{"reflFuncGaus", "reflFuncDoubleGaus", "reflFuncPoly3", "reflFuncPoly6"};
69-
HFInvMassFitter() = delete;
69+
HFInvMassFitter();
7070
HFInvMassFitter(TH1* histoToFit, double minValue, double maxValue, int fitTypeBkg = Expo, int fitTypeSgn = SingleGaus);
7171
~HFInvMassFitter() override;
7272
void setHistogramForFit(TH1* histoToFit);

0 commit comments

Comments
 (0)