Skip to content

Commit 3ec2aed

Browse files
committed
random seed: setter, read from json
1 parent 0b2b3bd commit 3ec2aed

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
@@ -1013,7 +1013,7 @@ double HFInvMassFitter::randomizeInitialParameter(const ParameterRanges& paramet
10131013
++nIter;
10141014
if (nIter > MaximalNumberOfIterations) {
10151015
printf("randomizeInitialFitParameter() - long while loop with lower = %f upper = %f initial = %f sigma = %f\n", parameterRanges.lower, parameterRanges.upper, parameterRanges.initial, sigma);
1016-
throw std::runtime_error("");
1016+
throw;
10171017
}
10181018
} while (result < parameterRanges.lower || result > parameterRanges.upper);
10191019

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
@@ -154,6 +154,7 @@ void runMassFitter(const std::string& configFileName)
154154
const bool enableRefl = readJsonField<bool>(config, "EnableRefl", false);
155155
const bool drawBgPrefit = readJsonField<bool>(config, "DrawBgPrefit", true);
156156
const bool highlightPeakRegion = readJsonField<bool>(config, "HighlightPeakRegion", true);
157+
const int randomSeed = readJsonField<int>(config, "RandomSeed", -1);
157158

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

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

0 commit comments

Comments
 (0)