File tree Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -1023,9 +1023,11 @@ cdef class Minuit:
1023
1023
deref(self .cfmin), self .strategy
1024
1024
)
1025
1025
1026
- for vname in self .parameters:
1026
+
1027
+ vnames = self .parameters if var is None else [var]
1028
+ for vname in vnames:
1027
1029
if self .fixed[vname]:
1028
- if var is not None : # specifying vname but it's fixed
1030
+ if var is not None and var == vname:
1029
1031
warn(' Specified variable name for minos is fixed' ,
1030
1032
mutil.IMinuitWarning)
1031
1033
return None
Original file line number Diff line number Diff line change @@ -493,6 +493,17 @@ def test_minos_all(grad, sigma):
493
493
m .merrors [- 3 ]
494
494
495
495
496
+ def test_minos_all_some_fix ():
497
+ m = Minuit (func0 , fix_x = True , pedantic = False )
498
+ m .migrad ()
499
+ m .minos ()
500
+ assert "x" not in m .merrors
501
+ me = m .merrors ["y" ]
502
+ assert me .name == "y"
503
+ assert me .lower == pytest .approx (- 1 )
504
+ assert me .upper == pytest .approx (1 )
505
+
506
+
496
507
@pytest .mark .parametrize ("grad" , (None , func0_grad ))
497
508
def test_minos_single (grad ):
498
509
m = Minuit (func0 , grad = func0_grad , pedantic = False )
@@ -502,6 +513,16 @@ def test_minos_single(grad):
502
513
assert m .ncalls < 15
503
514
504
515
516
+ def test_minos_single_fixed ():
517
+ m = Minuit (func0 , fix_x = True , pedantic = False )
518
+ m .migrad ()
519
+ m .minos ("y" )
520
+ me = m .merrors ["y" ]
521
+ assert me .name == "y"
522
+ assert me .lower == pytest .approx (- 1 )
523
+ assert me .upper == pytest .approx (1 )
524
+
525
+
505
526
def test_minos_single_fixed_raising ():
506
527
m = Minuit (func0 , pedantic = False , fix_x = True )
507
528
m .migrad ()
You can’t perform that action at this time.
0 commit comments