Skip to content

Commit 38b0367

Browse files
committed
random seed: setter, read from json
1 parent 43fea07 commit 38b0367

4 files changed

Lines changed: 6 additions & 2 deletions

File tree

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1016,7 +1016,7 @@ double HFInvMassFitter::randomizeInitialParameter(const ParameterRanges& paramet
10161016
++nIter;
10171017
if (nIter > MaximalNumberOfIterations) {
10181018
printf("randomizeInitialFitParameter() - long while loop with lower = %f upper = %f initial = %f sigma = %f\n", parameterRanges.lower, parameterRanges.upper, parameterRanges.initial, sigma);
1019-
throw std::runtime_error("");
1019+
throw;
10201020
}
10211021
} while (result < parameterRanges.lower || result > parameterRanges.upper);
10221022

PWGHF/D2H/Macros/HFInvMassFitter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ class HFInvMassFitter : public TNamed
144144
void drawResidual(TVirtualPad* c);
145145
void drawRatio(TVirtualPad* c);
146146
void drawReflection(TVirtualPad* c);
147+
void setRandomSeed(int seed) { mRandomSeed = seed; }
147148

148149
private:
149150
HFInvMassFitter(const HFInvMassFitter& source);

PWGHF/D2H/Macros/config_massfitter.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,5 +158,6 @@
158158
"3 for GausSec"
159159
],
160160
"DrawBgPrefit": true,
161-
"HighlightPeakRegion": true
161+
"HighlightPeakRegion": true,
162+
"RandomSeed": -1
162163
}

PWGHF/D2H/Macros/runMassFitter.C

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ void runMassFitter(const std::string& configFileName)
153153
const bool enableRefl = readJsonField<bool>(config, "EnableRefl", false);
154154
const bool drawBgPrefit = readJsonField<bool>(config, "DrawBgPrefit", true);
155155
const bool highlightPeakRegion = readJsonField<bool>(config, "HighlightPeakRegion", true);
156+
const int randomSeed = readJsonField<int>(config, "RandomSeed", -1);
156157

157158
const int nSliceVarBins = static_cast<int>(sliceVarMin.size());
158159
std::vector<double> sliceVarLimits(nSliceVarBins + 1);
@@ -380,6 +381,7 @@ void runMassFitter(const std::string& configFileName)
380381
} else {
381382
massFitter->setUseChi2Fit();
382383
}
384+
massFitter->setRandomSeed(randomSeed);
383385

384386
auto setFixedValue = [&iSliceVar](bool const& isFix, std::vector<double> const& fixManual, const TH1* histToFix, std::function<void(double)> setFunc, std::string const& var) -> void {
385387
if (isFix) {

0 commit comments

Comments
 (0)