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