Skip to content

Commit 7f96d74

Browse files
committed
[RF] Fix RooCrystalBall integral near n = 1
1 parent b6fb6bd commit 7f96d74

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

roofit/roofit/src/RooCrystalBall.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,10 @@ inline double integrateTailLogVersion(double sigma, double alpha, double n, doub
185185
double a = std::pow(r, n) * exp(-0.5 * alpha * alpha);
186186
double b = r - alpha;
187187

188-
return a * sigma * (log(b - tmin) - log(b - tmax));
188+
double log_b_tmin = log(b - tmin);
189+
double log_b_tmax = log(b - tmax);
190+
191+
return a * sigma * (log_b_tmin - log_b_tmax + 0.5 * (1.0 - n) * (log_b_tmin * log_b_tmin - log_b_tmax * log_b_tmax));
189192
}
190193

191194
inline double integrateTailRegular(double sigma, double alpha, double n, double tmin, double tmax)

0 commit comments

Comments
 (0)