Possible fix for alpha problem for beta-NMR asymmetry calculation. To be tested.
This commit is contained in:
parent
b8dc67fa1a
commit
dfea8334b7
@ -718,6 +718,18 @@ void PMusrCanvas::UpdateDataTheoryPad()
|
|||||||
// handle data
|
// handle data
|
||||||
HandleDataSet(i, runNo, data);
|
HandleDataSet(i, runNo, data);
|
||||||
break;
|
break;
|
||||||
|
case MSR_FITTYPE_BNMR:
|
||||||
|
data = fRunList->GetAsymmetryBNMR(runNo, PRunListCollection::kRunNo);
|
||||||
|
if (!data) { // something wrong
|
||||||
|
fValid = false;
|
||||||
|
// error message
|
||||||
|
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a beta-NMR asymmetry plot";
|
||||||
|
cerr << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// handle data
|
||||||
|
HandleDataSet(i, runNo, data);
|
||||||
|
break;
|
||||||
case MSR_FITTYPE_ASYM_RRF:
|
case MSR_FITTYPE_ASYM_RRF:
|
||||||
data = fRunList->GetAsymmetryRRF(runNo, PRunListCollection::kRunNo);
|
data = fRunList->GetAsymmetryRRF(runNo, PRunListCollection::kRunNo);
|
||||||
if (!data) { // something wrong
|
if (!data) { // something wrong
|
||||||
@ -742,18 +754,6 @@ void PMusrCanvas::UpdateDataTheoryPad()
|
|||||||
// handle data
|
// handle data
|
||||||
HandleDataSet(i, runNo, data);
|
HandleDataSet(i, runNo, data);
|
||||||
break;
|
break;
|
||||||
case MSR_FITTYPE_BNMR:
|
|
||||||
data = fRunList->GetAsymmetryBNMR(runNo, PRunListCollection::kRunNo);
|
|
||||||
if (!data) { // something wrong
|
|
||||||
fValid = false;
|
|
||||||
// error message
|
|
||||||
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a beta-NMR asymmetry plot";
|
|
||||||
cerr << endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// handle data
|
|
||||||
HandleDataSet(i, runNo, data);
|
|
||||||
break;
|
|
||||||
case MSR_FITTYPE_NON_MUSR:
|
case MSR_FITTYPE_NON_MUSR:
|
||||||
data = fRunList->GetNonMusr(runNo, PRunListCollection::kRunNo);
|
data = fRunList->GetNonMusr(runNo, PRunListCollection::kRunNo);
|
||||||
if (!data) { // something wrong
|
if (!data) { // something wrong
|
||||||
|
@ -222,19 +222,19 @@ Double_t PRunAsymmetryBNMR::CalcChiSquare(const std::vector<Double_t>& par)
|
|||||||
break;
|
break;
|
||||||
case 2: // alpha != 1, beta == 1
|
case 2: // alpha != 1, beta == 1
|
||||||
a = par[fRunInfo->GetAlphaParamNo()-1];
|
a = par[fRunInfo->GetAlphaParamNo()-1];
|
||||||
f = fTheory->Func(time, par, fFuncValues);
|
f = fTheory->Func(time, par, fFuncValues)/2;
|
||||||
asymFcnValue = (f*(a+1.0)-(a-1.0))/((a+1.0)-f*(a-1.0));
|
asymFcnValue = (f*(a+1.0)-(a-1.0))/((a+1.0)-f*(a-1.0)) - (-f*(a+1.0)-(a-1.0))/((a+1.0)+f*(a-1.0));
|
||||||
break;
|
break;
|
||||||
case 3: // alpha == 1, beta != 1
|
case 3: // alpha == 1, beta != 1
|
||||||
b = par[fRunInfo->GetBetaParamNo()-1];
|
b = par[fRunInfo->GetBetaParamNo()-1];
|
||||||
f = fTheory->Func(time, par, fFuncValues);
|
f = fTheory->Func(time, par, fFuncValues)/2;
|
||||||
asymFcnValue = f*(b+1.0)/(2.0-f*(b-1.0));
|
asymFcnValue = f*(b+1.0)/(2.0-f*(b-1.0))-f*(b+1.0)/(2.0+f*(b-1.0));
|
||||||
break;
|
break;
|
||||||
case 4: // alpha != 1, beta != 1
|
case 4: // alpha != 1, beta != 1
|
||||||
a = par[fRunInfo->GetAlphaParamNo()-1];
|
a = par[fRunInfo->GetAlphaParamNo()-1];
|
||||||
b = par[fRunInfo->GetBetaParamNo()-1];
|
b = par[fRunInfo->GetBetaParamNo()-1];
|
||||||
f = fTheory->Func(time, par, fFuncValues);
|
f = fTheory->Func(time, par, fFuncValues)/2;
|
||||||
asymFcnValue = (f*(a*b+1.0)-(a-1.0))/((a+1.0)-f*(a*b-1.0));
|
asymFcnValue = (f*(a*b+1.0)-(a-1.0))/((a+1.0)-f*(a*b-1.0))-(-f*(a*b+1.0)-(a-1.0))/((a+1.0)+f*(a*b-1.0));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
asymFcnValue = 0.0;
|
asymFcnValue = 0.0;
|
||||||
|
@ -972,7 +972,7 @@ PRunData* PRunListCollection::GetAsymmetry(UInt_t index, EDataSwitch tag)
|
|||||||
// GetAsymmetryBNMR (public)
|
// GetAsymmetryBNMR (public)
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* <p>Get a processed asymmetry data set.
|
* <p>Get a processed asymmetry from beta-NMR data set.
|
||||||
*
|
*
|
||||||
* <b>return:</b>
|
* <b>return:</b>
|
||||||
* - pointer to the run data set (processed data) if data set is found
|
* - pointer to the run data set (processed data) if data set is found
|
||||||
|
Loading…
x
Reference in New Issue
Block a user