Hi,
Apologies if this is a very naive question, I’m not particularly experienced with RooFit.
I’m trying to run some limit setting code on blinded data, and am seeing the following behaviour:
Getting limit for nll: nll_CombinedPdf_asimovData_0
Minuit2Minimizer: Minimize with max-calls 12000 convergence for edm < 1 strategy 2
MnSeedGenerator: for initial parameters FCN = 0.964439
MnSeedGenerator: Initial state: - FCN = 0.9644388262245 Edm = -13813.3 NCalls = 107
MnSeedGenerator: Negative G2 found - new state: - FCN = -1906.862295397 Edm = 5396.03 NCalls = 164
MnSeedGenerator: run Hesse - new state: - FCN = -1906.862295397 Edm = 10199.6 NCalls = 537
VariableMetric: start iterating until Edm is < 0.001
VariableMetric: Initial state - FCN = -1906.862295397 Edm = 10199.6 NCalls = 537
VariableMetric: Iteration # 0 - FCN = -1906.862295397 Edm = 10199.6 NCalls = 537
VariableMetric: Iteration # 1 - FCN = -2907.593495041 Edm = 7820.25 NCalls = 591
VariableMetric: Iteration # 2 - FCN = -3749.416392392 Edm = 1355.62 NCalls = 643
VariableMetric: Iteration # 3 - FCN = -4167.95404513 Edm = 24.6958 NCalls = 695
VariableMetric: Iteration # 4 - FCN = -4192.383761139 Edm = 0.275901 NCalls = 744
VariableMetric: Iteration # 5 - FCN = -4192.642113973 Edm = 0.0029536 NCalls = 794
VariableMetric: Iteration # 6 - FCN = -4192.644861449 Edm = 0.000146763 NCalls = 844
VariableMetric: After Hessian - FCN = -4192.644861449 Edm = 0.00018698 NCalls = 1243
VariableMetric: Iteration # 7 - FCN = -4192.644861449 Edm = 0.00018698 NCalls = 1243
Minuit2Minimizer : Valid minimum - status = 0
FVAL = -4192.64486144903913
Edm = 0.000186980140839105544
Nfcn = 1243
…
mu_guess = -nan
sigma_guess = -nan
ERROR::POI gave nan. Please intervene.
I’m assuming the problem is coming from the line I’ve highlighted in bold. I’m not sure negative edm values make sense - but I don’t really know why they’re appearing.
Does anyone have any advice (or is more information needed)? Are negative edm values ok and the problem likely elsewhere? What typically causes them?