Skip to content

Commit 678233c

Browse files
committed
use enums for Sgn and Refl types, reduce code repetition in Refl Poly processing
1 parent b241d2d commit 678233c

File tree

1 file changed

+18
-32
lines changed

1 file changed

+18
-32
lines changed

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -789,27 +789,27 @@ RooAbsPdf* HFInvMassFitter::createSignalFitFunction(RooWorkspace* workspace)
789789
{
790790
RooAbsPdf* sgnPdf{nullptr};
791791
switch (mTypeOfSgnPdf) {
792-
case 0: {
792+
case SingleGaus: {
793793
sgnPdf = workspace->pdf("sgnFuncGaus");
794794
mRooSigmaSgn = workspace->var("sigma");
795795
mRooSecSigmaSgn = workspace->var("sigma");
796796
mRooMeanSgn = workspace->var("mean");
797797
} break;
798-
case 1: {
798+
case DoubleGaus: {
799799
sgnPdf = workspace->pdf("sgnFuncDoubleGaus");
800800
mRooSigmaSgn = workspace->var("sigma");
801801
mRooSecSigmaSgn = workspace->var("sigmaDoubleGaus");
802802
mRooMeanSgn = workspace->var("mean");
803803
mRooFracDoubleGaus = workspace->var("fracDoubleGaus");
804804
} break;
805-
case 2: {
805+
case DoubleGausSigmaRatioPar: {
806806
sgnPdf = workspace->pdf("sgnFuncGausRatio");
807807
mRooSigmaSgn = workspace->var("sigma");
808808
mRooSecSigmaSgn = workspace->var("sigmaDoubleGausRatio");
809809
mRooMeanSgn = workspace->var("mean");
810810
mRooFracDoubleGaus = workspace->var("fracDoubleGausRatio");
811811
} break;
812-
case 3: {
812+
case GausSec: {
813813
sgnPdf = workspace->pdf("sgnFuncDoublePeak");
814814
mRooSigmaSgn = workspace->var("sigma");
815815
mRooSecSigmaSgn = workspace->var("sigmaSec");
@@ -891,15 +891,13 @@ void HFInvMassFitter::calculateFitToDataRatio() const
891891
void HFInvMassFitter::setReflFuncFixed()
892892
{
893893
switch (mTypeOfReflPdf) {
894-
case 0: // exponential
895-
{
894+
case SingleGausRefl: {
896895
RooRealVar* meanRefl = mWorkspace->var("meanRefl");
897896
RooRealVar* sigmaRefl = mWorkspace->var("sigmaRefl");
898897
meanRefl->setConstant(kTRUE);
899898
sigmaRefl->setConstant(kTRUE);
900899
} break;
901-
case 1: // poly1
902-
{
900+
case DoubleGausRefl: {
903901
RooRealVar* meanRefl = mWorkspace->var("meanRefl");
904902
RooRealVar* sigmaRefl = mWorkspace->var("sigmaRefl");
905903
RooRealVar* meanReflDoubleGaus = mWorkspace->var("meanReflDoubleGaus");
@@ -911,31 +909,19 @@ void HFInvMassFitter::setReflFuncFixed()
911909
sigmaReflDoubleGaus->setConstant(kTRUE);
912910
fracRefl->setConstant(kTRUE);
913911
} break;
914-
case 2: {
915-
RooRealVar* polyReflParam0 = mWorkspace->var("polyReflParam0");
916-
RooRealVar* polyReflParam1 = mWorkspace->var("polyReflParam1");
917-
RooRealVar* polyReflParam2 = mWorkspace->var("polyReflParam2");
918-
RooRealVar* polyReflParam3 = mWorkspace->var("polyReflParam3");
919-
polyReflParam0->setConstant(kTRUE);
920-
polyReflParam1->setConstant(kTRUE);
921-
polyReflParam2->setConstant(kTRUE);
922-
polyReflParam3->setConstant(kTRUE);
912+
case Poly3Refl: {
913+
std::array<RooRealVar*, 4> polyReflParam{nullptr};
914+
for (int iPar = 0; iPar < 4; ++iPar) {
915+
polyReflParam.at(iPar) = mWorkspace->var(Form("polyReflParam%d", iPar));
916+
polyReflParam.at(iPar)->setConstant(kTRUE);
917+
}
923918
} break;
924-
case 3: {
925-
RooRealVar* polyReflParam0 = mWorkspace->var("polyReflParam0");
926-
RooRealVar* polyReflParam1 = mWorkspace->var("polyReflParam1");
927-
RooRealVar* polyReflParam2 = mWorkspace->var("polyReflParam2");
928-
RooRealVar* polyReflParam3 = mWorkspace->var("polyReflParam3");
929-
RooRealVar* polyReflParam4 = mWorkspace->var("polyReflParam4");
930-
RooRealVar* polyReflParam5 = mWorkspace->var("polyReflParam5");
931-
RooRealVar* polyReflParam6 = mWorkspace->var("polyReflParam6");
932-
polyReflParam0->setConstant(kTRUE);
933-
polyReflParam1->setConstant(kTRUE);
934-
polyReflParam2->setConstant(kTRUE);
935-
polyReflParam3->setConstant(kTRUE);
936-
polyReflParam4->setConstant(kTRUE);
937-
polyReflParam5->setConstant(kTRUE);
938-
polyReflParam6->setConstant(kTRUE);
919+
case Poly6Refl: {
920+
std::array<RooRealVar*, 6> polyReflParam{nullptr};
921+
for (int iPar = 0; iPar < 6; ++iPar) {
922+
polyReflParam.at(iPar) = mWorkspace->var(Form("polyReflParam%d", iPar));
923+
polyReflParam.at(iPar)->setConstant(kTRUE);
924+
}
939925
} break;
940926
default:
941927
break;

0 commit comments

Comments
 (0)