From 0ee32cf526bcd9ddf4d5bd9ae672ad3f606c77b5 Mon Sep 17 00:00:00 2001 From: nemu Date: Wed, 14 May 2008 14:46:28 +0000 Subject: [PATCH] fixed alpha & beta for view --- src/classes/PRunAsymmetry.cpp | 40 ++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/src/classes/PRunAsymmetry.cpp b/src/classes/PRunAsymmetry.cpp index 8d843047..1af4f9ba 100644 --- a/src/classes/PRunAsymmetry.cpp +++ b/src/classes/PRunAsymmetry.cpp @@ -672,6 +672,12 @@ return false; */ bool PRunAsymmetry::PrepareViewData(PRawRunData* runData, unsigned int histoNo[2]) { + // feed the parameter vector + std::vector par; + PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); + for (unsigned int i=0; isize(); i++) + par.push_back((*paramList)[i].fValue); + // transform raw histo data. This is done the following way (for details see the manual): // first rebin the data, than calculate the asymmetry // first get start data, end data, and t0 @@ -763,11 +769,35 @@ bool PRunAsymmetry::PrepareViewData(PRawRunData* runData, unsigned int histoNo[2 // form asymmetry including error propagation double asym; - double f, b, ef, eb; + double f, b, ef, eb, alpha, beta; // fill data time start, and step // data start at data_start-t0 fData.fDataTimeStart = fTimeResolution*(((double)start[0]-t0[0])+(double)fRunInfo->fPacking/2.0); fData.fDataTimeStep = fTimeResolution*(double)fRunInfo->fPacking; + + // get the proper alpha and beta + switch (fAlphaBetaTag) { + case 1: // alpha == 1, beta == 1 + alpha = 1.0; + beta = 1.0; + break; + case 2: // alpha != 1, beta == 1 + alpha = par[fRunInfo->fAlphaParamNo-1]; + beta = 1.0; + break; + case 3: // alpha == 1, beta != 1 + alpha = 1.0; + beta = par[fRunInfo->fBetaParamNo-1]; + break; + case 4: // alpha != 1, beta != 1 + alpha = par[fRunInfo->fAlphaParamNo-1]; + beta = par[fRunInfo->fBetaParamNo-1]; + break; + default: + break; + } +cout << endl << ">> alpha = " << alpha << ", beta = " << beta; + for (unsigned int i=0; i par; - PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); - for (unsigned int i=0; isize(); i++) - par.push_back((*paramList)[i].fValue); - // calculate functions for (int i=0; iGetNoOfFuncs(); i++) { fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), fRunInfo->fMap, par);