本文整理汇总了C++中TMinuit::mnimpr方法的典型用法代码示例。如果您正苦于以下问题:C++ TMinuit::mnimpr方法的具体用法?C++ TMinuit::mnimpr怎么用?C++ TMinuit::mnimpr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TMinuit
的用法示例。
在下文中一共展示了TMinuit::mnimpr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: hrstrans3
void hrstrans3(){
// LeRose SNAKE scaled by 1.4
THRSTrans *trans = new THRSTrans( 0.1746, -0.1385, -0.1281, 0.050178, 0.037056, THRSTrans::kStd);
//
//
// // Fit to data optics
// THRSTrans *trans = new THRSTrans( 0.178259, -0.137781, -0.128674, 0.050178, 0.037056, THRSTrans::kStd);
/*
// trans->GetElement(5)->Print();
trans->ShowOutput();
trans->ShowAcc();
trans->ShowFocalLengths();
return;
*/
// LeRose Translated Numbers
//THRSTrans *trans = new THRSTrans( 0.1861, -0.1415, -0.1375, 0.5, 0.5, THRSTrans::kStd);
// trans->ShowOutput();
// return;
// LeRose Numbers Fit to Transport matrix elements, PREX
// THRSTrans *trans = new THRSTrans( 1.34761e-01, -1.38523e-01, -2.13742e-01, 0.02075 };
//
//
// THRSTrans *trans = new THRSTrans( 1.344e-01, -1.431e-01, -1.855e-01, 0.005763, 0.000014, THRSTrans::kPREX);
// trans->SetSeptumPsi( 1.22603, 0.929424);
// HRS Database fit forcing
// THRSTrans *trans = new THRSTrans( 1.38796e-01, -1.39940e-01, -1.73034e-01, 0.02075, THRSTrans::kPREX);
// trans->ShowOutput(4);
// trans->ShowOutput();
// trans->ShowFocalLengths();
// trans->ShowAcc();
// return;
TMinuit *gMinuit = new TMinuit(5);
gMinuit->SetFCN(fcn);
Double_t arglist[10];
Int_t ierflg = 0;
arglist[0] = 1;
gMinuit->mnexcm("SET ERR", arglist ,1,ierflg);
Double_t vstart[5] = {
// Standard tune from data
0.178615, -0.137474, -0.128384, 0.043667, 0.036814};
//PREX Tune
Double_t step[5] = {0.001 , 0.001 , 0.001, 0.001, 0.001};
gMinuit->mnparm(0, "q1", vstart[0], step[0], 0,0,ierflg);
gMinuit->mnparm(1, "q2", vstart[1], step[1], 0,0,ierflg);
gMinuit->mnparm(2, "q3", vstart[2], step[2], 0, 0,ierflg);
gMinuit->mnparm(3, "K1", vstart[3], step[3], 0.0,1.5,ierflg);
gMinuit->mnparm(4, "K2", vstart[4], step[4], 0.0,1.5,ierflg);
arglist[0] = 5000;
arglist[1] = 1.;
gMinuit->mnexcm("SIMPLEX", arglist ,2,ierflg);
Double_t amin,edm,errdef;
Int_t nvpar,nparx,icstat;
gMinuit->mnstat(amin,edm,errdef,nvpar,nparx,icstat);
gMinuit->mnimpr();
gMinuit->mnimpr();
double q1, q2, q3, psi1, psi2, e1;
gMinuit->GetParameter(0, q1, e1);
gMinuit->GetParameter(1, q2, e1);
gMinuit->GetParameter(2, q3, e1);
gMinuit->GetParameter(3, psi1, e1);
gMinuit->GetParameter(4, psi2, e1);
THRSTrans *result = new THRSTrans( q1, q2, q3, psi1, psi2);
result->ShowOutput();
result->GetOptics()->Print();
result->ShowAcc();
result->ShowFocalLengths();
return;
}