add tests for the case that maps and/or functions are absent.
This commit is contained in:
parent
086050f4e3
commit
f4d6f63607
@ -95,10 +95,16 @@ Double_t PFitterFcnDKS::operator()(const std::vector<Double_t>& par) const
|
|||||||
ierr += fDKS.callSetConsts(dksp.fN0, dksp.fTau, dksp.fNbkg);
|
ierr += fDKS.callSetConsts(dksp.fN0, dksp.fTau, dksp.fNbkg);
|
||||||
|
|
||||||
// set fun values
|
// set fun values
|
||||||
ierr += fDKS.writeFunctions(&dksp.fFun[0], dksp.fFun.size());
|
if (dksp.fFun.size() == 0)
|
||||||
|
ierr += fDKS.writeFunctions(nullptr, 0);
|
||||||
|
else
|
||||||
|
ierr += fDKS.writeFunctions(&dksp.fFun[0], dksp.fFun.size());
|
||||||
|
|
||||||
// set map values
|
// set map values
|
||||||
ierr += fDKS.writeMaps(&dksp.fMap[0], dksp.fMap.size());
|
if (dksp.fMap.size() == 0)
|
||||||
|
ierr += fDKS.writeMaps(nullptr, 0);
|
||||||
|
else
|
||||||
|
ierr += fDKS.writeMaps(&dksp.fMap[0], dksp.fMap.size());
|
||||||
|
|
||||||
// calc chisq/log-mlh
|
// calc chisq/log-mlh
|
||||||
chisq = 0.0;
|
chisq = 0.0;
|
||||||
@ -122,10 +128,16 @@ Double_t PFitterFcnDKS::operator()(const std::vector<Double_t>& par) const
|
|||||||
ierr += fDKS.callSetConsts(dksp.fAlpha, dksp.fBeta);
|
ierr += fDKS.callSetConsts(dksp.fAlpha, dksp.fBeta);
|
||||||
|
|
||||||
// set fun values
|
// set fun values
|
||||||
ierr += fDKS.writeFunctions(&dksp.fFun[0], dksp.fFun.size());
|
if (dksp.fFun.size() == 0)
|
||||||
|
ierr += fDKS.writeFunctions(nullptr, 0);
|
||||||
|
else
|
||||||
|
ierr += fDKS.writeFunctions(&dksp.fFun[0], dksp.fFun.size());
|
||||||
|
|
||||||
// set map values
|
// set map values
|
||||||
ierr += fDKS.writeMaps(&dksp.fMap[0], dksp.fMap.size());
|
if (dksp.fMap.size() == 0)
|
||||||
|
ierr += fDKS.writeMaps(nullptr, 0);
|
||||||
|
else
|
||||||
|
ierr += fDKS.writeMaps(&dksp.fMap[0], dksp.fMap.size());
|
||||||
|
|
||||||
// calc chisq
|
// calc chisq
|
||||||
chisq = 0.0;
|
chisq = 0.0;
|
||||||
@ -318,7 +330,6 @@ void PFitterFcnDKS::InitDKS(const UInt_t dksTag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// now ready to init the chisq buffer on the GPU
|
// now ready to init the chisq buffer on the GPU
|
||||||
// std::cout << "debug> maximal packed histo size=" << maxSize << ", parSize=" << parSize << ", funSize=" << funSize << ", mapSize=" << mapSize << std::endl;
|
|
||||||
ierr = fDKS.initChiSquare(maxSize, parSize, funSize, mapSize);
|
ierr = fDKS.initChiSquare(maxSize, parSize, funSize, mapSize);
|
||||||
if (ierr != 0) {
|
if (ierr != 0) {
|
||||||
std::cerr << ">> PFitterFcnDKS::InitDKS: **ERROR** failed to allocate the necessary chisq buffer on the GPU." << std::endl;
|
std::cerr << ">> PFitterFcnDKS::InitDKS: **ERROR** failed to allocate the necessary chisq buffer on the GPU." << std::endl;
|
||||||
@ -381,10 +392,9 @@ void PFitterFcnDKS::InitDKS(const UInt_t dksTag)
|
|||||||
fValid = false;
|
fValid = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
startTimeBin = fRunListCollection->GetStartTimeBin(MSR_FITTYPE_ASYM, i); //as35
|
startTimeBin = fRunListCollection->GetStartTimeBin(MSR_FITTYPE_ASYM, i);
|
||||||
endTimeBin = fRunListCollection->GetEndTimeBin(MSR_FITTYPE_ASYM, i); //as35
|
endTimeBin = fRunListCollection->GetEndTimeBin(MSR_FITTYPE_ASYM, i);
|
||||||
length = endTimeBin-startTimeBin;
|
length = endTimeBin-startTimeBin;
|
||||||
std::cout << "debug> length=" << length << std::endl; //as35
|
|
||||||
if (startTimeBin < 0) {
|
if (startTimeBin < 0) {
|
||||||
std::cerr << ">> PFitterFcnDKS::InitDKS: **ERROR** startTimeBin undefind (asymmetry fit)." << std::endl;
|
std::cerr << ">> PFitterFcnDKS::InitDKS: **ERROR** startTimeBin undefind (asymmetry fit)." << std::endl;
|
||||||
fValid = false;
|
fValid = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user