added necessary DKS switches in prepare sector.
This commit is contained in:
parent
7d27c18da5
commit
14c3cd73ed
@ -2624,14 +2624,23 @@ void PFitter::PrepareSector(PDoubleVector ¶m, PDoubleVector &error)
|
||||
secFitRange[0].second = fSector[k].GetTimeRangeLast();
|
||||
fRunListCollection->SetFitRange(secFitRange);
|
||||
// calculate chisq
|
||||
val = (*fFitterFcn)(param);
|
||||
if (fDKSReady)
|
||||
val = (*fFitterFcnDKS)(param);
|
||||
else
|
||||
val = (*fFitterFcn)(param);
|
||||
fSector[k].SetChisq(val);
|
||||
// calculate NDF
|
||||
ndf = static_cast<UInt_t>(fFitterFcn->GetTotalNoOfFittedBins()) - usedParams;
|
||||
if (fDKSReady)
|
||||
ndf = fFitterFcnDKS->GetTotalNoOfFittedBins() - static_cast<UInt_t>(usedParams);
|
||||
else
|
||||
ndf = fFitterFcn->GetTotalNoOfFittedBins() - static_cast<UInt_t>(usedParams);
|
||||
fSector[k].SetNDF(ndf);
|
||||
// calculate expected chisq
|
||||
totalExpectedChisq = 0.0;
|
||||
fFitterFcn->CalcExpectedChiSquare(param, totalExpectedChisq, expectedChisqPerRun);
|
||||
if (fDKSReady)
|
||||
fFitterFcnDKS->CalcExpectedChiSquare(param, totalExpectedChisq, expectedChisqPerRun);
|
||||
else
|
||||
fFitterFcn->CalcExpectedChiSquare(param, totalExpectedChisq, expectedChisqPerRun);
|
||||
fSector[k].SetExpectedChisq(totalExpectedChisq);
|
||||
// calculate chisq per run
|
||||
for (UInt_t i=0; i<fRunInfo->GetMsrRunList()->size(); i++) {
|
||||
@ -2643,7 +2652,10 @@ void PFitter::PrepareSector(PDoubleVector ¶m, PDoubleVector &error)
|
||||
if (totalExpectedChisq != 0.0) {
|
||||
UInt_t ndf_run = 0;
|
||||
for (UInt_t i=0; i<expectedChisqPerRun.size(); i++) {
|
||||
ndf_run = fFitterFcn->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
if (fDKSReady)
|
||||
ndf_run = fFitterFcnDKS->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
else
|
||||
ndf_run = fFitterFcn->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
if (ndf_run > 0) {
|
||||
fSector[k].SetNDF(ndf_run, i);
|
||||
}
|
||||
@ -2651,7 +2663,10 @@ void PFitter::PrepareSector(PDoubleVector ¶m, PDoubleVector &error)
|
||||
} else if (chisqPerRun.size() > 0) { // in case expected chisq is not applicable like for asymmetry fits
|
||||
UInt_t ndf_run = 0;
|
||||
for (UInt_t i=0; i<chisqPerRun.size(); i++) {
|
||||
ndf_run = fFitterFcn->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
if (fDKSReady)
|
||||
ndf_run = fFitterFcnDKS->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
else
|
||||
ndf_run = fFitterFcn->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
if (ndf_run > 0) {
|
||||
fSector[k].SetNDF(ndf_run, i);
|
||||
}
|
||||
@ -2671,14 +2686,23 @@ void PFitter::PrepareSector(PDoubleVector ¶m, PDoubleVector &error)
|
||||
secFitRange[0].second = fSector[k].GetTimeRangeLast();
|
||||
fRunListCollection->SetFitRange(secFitRange);
|
||||
// calculate maxLH
|
||||
val = (*fFitterFcn)(param);
|
||||
if (fDKSReady)
|
||||
val = (*fFitterFcnDKS)(param);
|
||||
else
|
||||
val = (*fFitterFcn)(param);
|
||||
fSector[k].SetChisq(val);
|
||||
// calculate NDF
|
||||
ndf = static_cast<UInt_t>(fFitterFcn->GetTotalNoOfFittedBins()) - usedParams;
|
||||
if (fDKSReady)
|
||||
ndf = fFitterFcnDKS->GetTotalNoOfFittedBins() - static_cast<UInt_t>(usedParams);
|
||||
else
|
||||
ndf = fFitterFcn->GetTotalNoOfFittedBins() - static_cast<UInt_t>(usedParams);
|
||||
fSector[k].SetNDF(ndf);
|
||||
// calculate expected maxLH
|
||||
totalExpectedMaxLH = 0.0;
|
||||
fFitterFcn->CalcExpectedChiSquare(param, totalExpectedMaxLH, expectedMaxLHPerRun);
|
||||
if (fDKSReady)
|
||||
fFitterFcnDKS->CalcExpectedChiSquare(param, totalExpectedMaxLH, expectedMaxLHPerRun);
|
||||
else
|
||||
fFitterFcn->CalcExpectedChiSquare(param, totalExpectedMaxLH, expectedMaxLHPerRun);
|
||||
fSector[k].SetExpectedChisq(totalExpectedMaxLH);
|
||||
// calculate maxLH per run
|
||||
for (UInt_t i=0; i<fRunInfo->GetMsrRunList()->size(); i++) {
|
||||
@ -2690,7 +2714,10 @@ void PFitter::PrepareSector(PDoubleVector ¶m, PDoubleVector &error)
|
||||
if (totalExpectedMaxLH != 0.0) {
|
||||
UInt_t ndf_run = 0;
|
||||
for (UInt_t i=0; i<expectedMaxLHPerRun.size(); i++) {
|
||||
ndf_run = fFitterFcn->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
if (fDKSReady)
|
||||
ndf_run = fFitterFcnDKS->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
else
|
||||
ndf_run = fFitterFcn->GetNoOfFittedBins(i) - fRunInfo->GetNoOfFitParameters(i);
|
||||
if (ndf_run > 0) {
|
||||
fSector[k].SetNDF(ndf_run, i);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user