66{
67
68
69
70
71
72
73
74
75
76
77
78
79
80 Double_t val2mi, val2pl;
81 Int_t nbad, ilax, ilax2, ngood, nfcnmi, iin, knt;
82
83 if (fNpar <= 0) goto L700;
84 ngood = 0;
85 nbad = 0;
86 nfcnmi = fNfcn;
87
88 for (knt = 1; knt <= fNpar; ++knt) {
89 if (Int_t(fWord7[1]) == 0) {
90 ilax = fNexofi[knt-1];
91 } else {
92 if (knt >= 7) break;
93 ilax = Int_t(fWord7[knt]);
94 if (ilax == 0) break;
95 if (ilax > 0 && ilax <= fNu) {
96 if (fNiofex[ilax-1] > 0) goto L565;
97 }
98 Printf(" PARAMETER NUMBER %3d NOT A VARIABLE. IGNORED.",ilax);
99 continue;
100 }
101L565:
102
103 ilax2 = 0;
104 mnmnot(ilax, ilax2, val2pl, val2mi);
105 if (fLnewmn) goto L650;
106
107 iin = fNiofex[ilax-1];
108 if (fErp[iin-1] > 0) ++ngood;
109 else ++nbad;
110 if (fErn[iin-1] < 0) ++ngood;
111 else ++nbad;
112 }
113
114
115 fCfrom = "MINOS ";
116 fNfcnfr = nfcnmi;
117 fCstatu = "UNCHANGED ";
118 if (ngood == 0 && nbad == 0) goto L700;
119 if (ngood > 0 && nbad == 0) fCstatu = "SUCCESSFUL";
120 if (ngood == 0 && nbad > 0) fCstatu = "FAILURE ";
121 if (ngood > 0 && nbad > 0) fCstatu = "PROBLEMS ";
122 if (fISW[4] >= 0) mnprin(4, fAmin);
123 if (fISW[4] >= 2) mnmatu(0);
124 return;
125
126L650:
127 fCfrom = "MINOS ";
128 fNfcnfr = nfcnmi;
129 fCstatu = "NEW MINIMU";
130 if (fISW[4] >= 0) {
131 mnprin(4, fAmin);
132 Printf(" NEW MINIMUM FOUND. GO BACK TO MINIMIZATION STEP.");
133 Printf(" =================================================");
134 Printf(" V");
135 Printf(" V");
136 Printf(" V");
137 Printf(" VVVVVVV");
138 Printf(" VVVVV");
139 Printf(" VVV");
140 Printf(" V");
141 Printf(" ");
142 }
143 return;
144L700:
145 Printf(" THERE ARE NO MINOS ERRORS TO CALCULATE.");
146}