Skip to content

Commit ca1ed2c

Browse files
committed
mv >1 line functions from .h to .cxx
1 parent d10a78b commit ca1ed2c

File tree

2 files changed

+142
-117
lines changed

2 files changed

+142
-117
lines changed

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747

4848
#include <array>
4949
#include <cmath>
50+
#include <cstdio>
5051
#include <cstring>
5152
#include <stdexcept>
5253
#include <string>
@@ -861,3 +862,127 @@ void HFInvMassFitter::setReflFuncFixed()
861862
break;
862863
}
863864
}
865+
866+
void HFInvMassFitter::setHistogramForFit(TH1* histoToFit)
867+
{
868+
delete mHistoInvMass;
869+
mHistoInvMass = histoToFit;
870+
mHistoInvMass->SetDirectory(nullptr);
871+
}
872+
873+
void HFInvMassFitter::setFitRange(double minValue, double maxValue)
874+
{
875+
mMinMass = minValue;
876+
mMaxMass = maxValue;
877+
}
878+
879+
void HFInvMassFitter::setFitFunctions(int fitTypeBkg, int fitTypeSgn)
880+
{
881+
mTypeOfBkgPdf = fitTypeBkg;
882+
mTypeOfSgnPdf = fitTypeSgn;
883+
}
884+
885+
void HFInvMassFitter::setSigmaLimit(double sigmaValue, double sigmaLimit)
886+
{
887+
mSigmaValue = sigmaValue;
888+
mParamSgn = sigmaLimit;
889+
}
890+
891+
void HFInvMassFitter::setInitialGaussianMean(double mean)
892+
{
893+
mMass = mean;
894+
mSecMass = mean;
895+
}
896+
897+
void HFInvMassFitter::setInitialGaussianSigma(double sigma)
898+
{
899+
mSigmaSgn = sigma;
900+
mSecSigma = sigma;
901+
}
902+
903+
void HFInvMassFitter::setFixGaussianMean(double mean)
904+
{
905+
setInitialGaussianMean(mean);
906+
mFixedMean = true;
907+
}
908+
909+
void HFInvMassFitter::setBoundGaussianMean(double mean, double meanLowLimit, double meanUpLimit)
910+
{
911+
if (mean < meanLowLimit ||
912+
mean > meanUpLimit) {
913+
printf("Invalid Gaussian mean limit!\n");
914+
}
915+
setInitialGaussianMean(mean);
916+
mMassLowLimit = meanLowLimit;
917+
mMassUpLimit = meanUpLimit;
918+
mBoundMean = true;
919+
}
920+
921+
void HFInvMassFitter::setBoundReflGausMean(double mean, double meanLowLimit, double meanUpLimit)
922+
{
923+
if (mean < meanLowLimit ||
924+
mean > meanUpLimit) {
925+
printf("Invalid Gaussian mean limit for reflection!\n");
926+
}
927+
setInitialGaussianMean(mean);
928+
mMassReflLowLimit = meanLowLimit;
929+
mMassReflUpLimit = meanUpLimit;
930+
mBoundReflMean = true;
931+
}
932+
933+
void HFInvMassFitter::setFixGaussianSigma(double sigma)
934+
{
935+
setInitialGaussianSigma(sigma);
936+
mFixedSigma = true;
937+
}
938+
939+
void HFInvMassFitter::setBoundGausSigma(double sigma, double sigmaLimit)
940+
{
941+
setInitialGaussianSigma(sigma);
942+
setSigmaLimit(sigma, sigmaLimit);
943+
mBoundSigma = true;
944+
}
945+
946+
void HFInvMassFitter::setFixSecondGaussianSigma(double sigma)
947+
{
948+
if (mTypeOfSgnPdf != DoubleGaus) {
949+
printf("Fit type should be 2Gaus!\n");
950+
}
951+
setInitialSecondGaussianSigma(sigma);
952+
mFixedSigmaDoubleGaus = true;
953+
}
954+
955+
void HFInvMassFitter::setFixFrac2Gaus(double frac)
956+
{
957+
if (mTypeOfSgnPdf != DoubleGaus &&
958+
mTypeOfSgnPdf != DoubleGausSigmaRatioPar) {
959+
printf("Fit type should be 2Gaus or 2GausSigmaRatio!\n");
960+
}
961+
setInitialFracDoubleGaus(frac);
962+
mFixedFracDoubleGaus = true;
963+
}
964+
965+
void HFInvMassFitter::setFixRatioToGausSigma(double sigmaFrac)
966+
{
967+
if (mTypeOfSgnPdf != DoubleGausSigmaRatioPar) {
968+
printf("Fit type should be set to k2GausSigmaRatioPar!\n");
969+
}
970+
setInitialRatioDoubleGausSigma(sigmaFrac);
971+
mFixedRatioDoubleGausSigma = true;
972+
}
973+
974+
void HFInvMassFitter::setFixReflOverSgn(double reflOverSgn)
975+
{
976+
setInitialReflOverSgn(reflOverSgn);
977+
mFixReflOverSgn = true;
978+
}
979+
980+
void HFInvMassFitter::setTemplateReflections(TH1* histoRefl)
981+
{
982+
if (histoRefl == nullptr) {
983+
mEnableReflections = false;
984+
return;
985+
}
986+
mHistoTemplateRefl = histoRefl;
987+
mHistoTemplateRefl->SetName("mHistoTemplateRefl");
988+
}

PWGHF/D2H/Macros/HFInvMassFitter.h

Lines changed: 17 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#include <RtypesCore.h>
3535

3636
#include <array>
37-
#include <cstdio>
3837
#include <string>
3938
#include <vector>
4039

@@ -70,133 +69,41 @@ class HFInvMassFitter : public TNamed
7069
HFInvMassFitter() = delete;
7170
HFInvMassFitter(TH1* histoToFit, double minValue, double maxValue, int fitTypeBkg = Expo, int fitTypeSgn = SingleGaus);
7271
~HFInvMassFitter() override;
73-
void setHistogramForFit(TH1* histoToFit)
74-
{
75-
delete mHistoInvMass;
76-
mHistoInvMass = histoToFit;
77-
mHistoInvMass->SetDirectory(nullptr);
78-
}
72+
void setHistogramForFit(TH1* histoToFit);
7973
void setUseLikelihoodFit() { mFitOption = "L,E"; }
8074
void setUseChi2Fit() { mFitOption = "Chi2"; }
8175
void setFitOption(const std::string& opt) { mFitOption = opt; }
8276
RooAbsPdf* createBackgroundFitFunction(RooWorkspace* w1) const;
8377
RooAbsPdf* createSignalFitFunction(RooWorkspace* w1);
8478
RooAbsPdf* createReflectionFitFunction(RooWorkspace* w1) const;
8579

86-
void setFitRange(double minValue, double maxValue)
87-
{
88-
mMinMass = minValue;
89-
mMaxMass = maxValue;
90-
}
91-
void setFitFunctions(int fitTypeBkg, int fitTypeSgn)
92-
{
93-
mTypeOfBkgPdf = fitTypeBkg;
94-
mTypeOfSgnPdf = fitTypeSgn;
95-
}
96-
void setSigmaLimit(double sigmaValue, double sigmaLimit)
97-
{
98-
mSigmaValue = sigmaValue;
99-
mParamSgn = sigmaLimit;
100-
}
80+
void setFitRange(double minValue, double maxValue);
81+
void setFitFunctions(int fitTypeBkg, int fitTypeSgn);
82+
void setSigmaLimit(double sigmaValue, double sigmaLimit);
10183
void setParticlePdgMass(double mass) { mMassParticle = mass; }
10284
[[nodiscard]] double getParticlePdgMass() const { return mMassParticle; }
103-
void setInitialGaussianMean(double mean)
104-
{
105-
mMass = mean;
106-
mSecMass = mean;
107-
}
108-
void setInitialGaussianSigma(double sigma)
109-
{
110-
mSigmaSgn = sigma;
111-
mSecSigma = sigma;
112-
}
85+
void setInitialGaussianMean(double mean);
86+
void setInitialGaussianSigma(double sigma);
11387
void setInitialSecondGaussianSigma(double sigma) { mSigmaSgnDoubleGaus = sigma; }
11488
void setInitialFracDoubleGaus(double frac) { mFracDoubleGaus = frac; }
11589
void setInitialRatioDoubleGausSigma(double fracSigma) { mRatioDoubleGausSigma = fracSigma; }
116-
void setFixGaussianMean(double mean)
117-
{
118-
setInitialGaussianMean(mean);
119-
mFixedMean = true;
120-
}
121-
void setBoundGaussianMean(double mean, double meanLowLimit, double meanUpLimit)
122-
{
123-
if (mean < meanLowLimit ||
124-
mean > meanUpLimit) {
125-
printf("Invalid Gaussian mean limit!\n");
126-
}
127-
setInitialGaussianMean(mean);
128-
mMassLowLimit = meanLowLimit;
129-
mMassUpLimit = meanUpLimit;
130-
mBoundMean = true;
131-
}
132-
void setBoundReflGausMean(double mean, double meanLowLimit, double meanUpLimit)
133-
{
134-
if (mean < meanLowLimit ||
135-
mean > meanUpLimit) {
136-
printf("Invalid Gaussian mean limit for reflection!\n");
137-
}
138-
setInitialGaussianMean(mean);
139-
mMassReflLowLimit = meanLowLimit;
140-
mMassReflUpLimit = meanUpLimit;
141-
mBoundReflMean = true;
142-
}
143-
void setFixGaussianSigma(double sigma)
144-
{
145-
setInitialGaussianSigma(sigma);
146-
mFixedSigma = true;
147-
}
148-
void setBoundGausSigma(double sigma, double sigmaLimit)
149-
{
150-
setInitialGaussianSigma(sigma);
151-
setSigmaLimit(sigma, sigmaLimit);
152-
mBoundSigma = true;
153-
}
154-
void setFixSecondGaussianSigma(double sigma)
155-
{
156-
if (mTypeOfSgnPdf != DoubleGaus) {
157-
printf("Fit type should be 2Gaus!\n");
158-
}
159-
setInitialSecondGaussianSigma(sigma);
160-
mFixedSigmaDoubleGaus = true;
161-
}
162-
void setFixFrac2Gaus(double frac)
163-
{
164-
if (mTypeOfSgnPdf != DoubleGaus &&
165-
mTypeOfSgnPdf != DoubleGausSigmaRatioPar) {
166-
printf("Fit type should be 2Gaus or 2GausSigmaRatio!\n");
167-
}
168-
setInitialFracDoubleGaus(frac);
169-
mFixedFracDoubleGaus = true;
170-
}
171-
void setFixRatioToGausSigma(double sigmaFrac)
172-
{
173-
if (mTypeOfSgnPdf != DoubleGausSigmaRatioPar) {
174-
printf("Fit type should be set to k2GausSigmaRatioPar!\n");
175-
}
176-
setInitialRatioDoubleGausSigma(sigmaFrac);
177-
mFixedRatioDoubleGausSigma = true;
178-
}
90+
void setFixGaussianMean(double mean);
91+
void setBoundGaussianMean(double mean, double meanLowLimit, double meanUpLimit);
92+
void setBoundReflGausMean(double mean, double meanLowLimit, double meanUpLimit);
93+
void setFixGaussianSigma(double sigma);
94+
void setBoundGausSigma(double sigma, double sigmaLimit);
95+
void setFixSecondGaussianSigma(double sigma);
96+
void setFixFrac2Gaus(double frac);
97+
void setFixRatioToGausSigma(double sigmaFrac);
17998
void setFixSignalYield(double yield) { mFixedRawYield = yield; }
18099
void setNumberOfSigmaForSidebands(double numberOfSigma) { mNSigmaForSidebands = numberOfSigma; }
181100
void plotBkg(RooAbsPdf* mFunc, Color_t color = kRed);
182101
void plotRefl(RooAbsPdf* mFunc);
183102
void setReflFuncFixed();
184103
void doFit();
185104
void setInitialReflOverSgn(double reflOverSgn) { mReflOverSgn = reflOverSgn; }
186-
void setFixReflOverSgn(double reflOverSgn)
187-
{
188-
setInitialReflOverSgn(reflOverSgn);
189-
mFixReflOverSgn = true;
190-
}
191-
void setTemplateReflections(TH1* histoRefl)
192-
{
193-
if (histoRefl == nullptr) {
194-
mEnableReflections = false;
195-
return;
196-
}
197-
mHistoTemplateRefl = histoRefl;
198-
mHistoTemplateRefl->SetName("mHistoTemplateRefl");
199-
}
105+
void setFixReflOverSgn(double reflOverSgn);
106+
void setTemplateReflections(TH1* histoRefl);
200107
void setDrawBgPrefit(bool value = true) { mDrawBgPrefit = value; }
201108
void setHighlightPeakRegion(bool value = true) { mHighlightPeakRegion = value; }
202109
[[nodiscard]] double getChiSquareOverNDFTotal() const { return mChiSquareOverNdfTotal; }
@@ -217,14 +124,7 @@ class HFInvMassFitter : public TNamed
217124
[[nodiscard]] double getSecSigmaUncertainty() const { return mRooSecSigmaSgn->getError(); }
218125
[[nodiscard]] double getFracDoubleGaus() const { return mRooFracDoubleGaus->getVal(); }
219126
[[nodiscard]] double getFracDoubleGausUncertainty() const { return mRooFracDoubleGaus->getError(); }
220-
[[nodiscard]] double getReflOverSig() const
221-
222-
{
223-
if (mReflPdf != nullptr) {
224-
return mReflOverSgn;
225-
}
226-
return 0;
227-
}
127+
[[nodiscard]] double getReflOverSig() const { return mReflPdf != nullptr ? mReflOverSgn : 0.; }
228128
void calculateSignal(double& signal, double& signalErr) const;
229129
void countSignal(double& signal, double& signalErr) const;
230130
void calculateBackground(double& bkg, double& bkgErr) const;

0 commit comments

Comments
 (0)