make sure that for non-muSR data errors are not = 0. Will set it to 1, and issue a warning. This prevents chisq to crash.
This commit is contained in:
parent
6812f68a8f
commit
532b6f42ff
BIN
doc/examples/.DS_Store
vendored
BIN
doc/examples/.DS_Store
vendored
Binary file not shown.
@ -3697,6 +3697,8 @@ Bool_t PRunDataHandler::ReadAsciiFile()
|
|||||||
{
|
{
|
||||||
Bool_t success = true;
|
Bool_t success = true;
|
||||||
|
|
||||||
|
std::cout << "as35> in ReadAsciiFile() ..." << std::endl;
|
||||||
|
|
||||||
// open file
|
// open file
|
||||||
std::ifstream f;
|
std::ifstream f;
|
||||||
|
|
||||||
@ -3848,7 +3850,14 @@ Bool_t PRunDataHandler::ReadAsciiFile()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ey = ostr->GetString().Atof();
|
ey = ostr->GetString().Atof();
|
||||||
|
if (ey == 0) {
|
||||||
|
std::cerr << std::endl << ">> PRunDataHandler::ReadAsciiFile **WARNING** line no " << lineNo << ": error y = 0 which doesn't make sense. Will set it to 1.0. Please check!!";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
ey = 1.0;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
std::cerr << std::endl << ">> PRunDataHandler::ReadAsciiFile **WARNING** line no " << lineNo << ": error y = 0 which doesn't make sense. Will set it to 1.0. Please check!!";
|
||||||
|
std::cerr << std::endl;
|
||||||
ey = 1.0;
|
ey = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4357,7 +4366,7 @@ Bool_t PRunDataHandler::ReadDatFile()
|
|||||||
// open file
|
// open file
|
||||||
std::ifstream f;
|
std::ifstream f;
|
||||||
|
|
||||||
// open db-file
|
// open dat-file
|
||||||
f.open(fRunPathName.Data(), std::ifstream::in);
|
f.open(fRunPathName.Data(), std::ifstream::in);
|
||||||
if (!f.is_open()) {
|
if (!f.is_open()) {
|
||||||
std::cerr << std::endl << ">> PRunDataHandler::ReadDatFile **ERROR** Couldn't open data file (" << fRunPathName.Data() << ") for reading, sorry ...";
|
std::cerr << std::endl << ">> PRunDataHandler::ReadDatFile **ERROR** Couldn't open data file (" << fRunPathName.Data() << ") for reading, sorry ...";
|
||||||
@ -4456,6 +4465,12 @@ Bool_t PRunDataHandler::ReadDatFile()
|
|||||||
idx++;
|
idx++;
|
||||||
} else { // error value
|
} else { // error value
|
||||||
if (isData[i-1] == 1) { // Err or PosErr hence keep it
|
if (isData[i-1] == 1) { // Err or PosErr hence keep it
|
||||||
|
if (dval == 0.0) {
|
||||||
|
std::cout << std::endl << ">> PRunDataHandler::ReadDatFile **WARNING** found Err value = 0. Doesn't make sense! Will set it to 1. Please check!";
|
||||||
|
std::cerr << std::endl << ">> in line: " << lineNo;
|
||||||
|
std::cerr << std::endl;
|
||||||
|
dval = 1.0;
|
||||||
|
}
|
||||||
runData.fDataNonMusr.AppendSubErrData(idx-1, dval);
|
runData.fDataNonMusr.AppendSubErrData(idx-1, dval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4470,11 +4485,11 @@ Bool_t PRunDataHandler::ReadDatFile()
|
|||||||
|
|
||||||
f.close();
|
f.close();
|
||||||
|
|
||||||
// got through all the data sets and if there is NO error vector set it to '0.0'
|
// got through all the data sets and if there is NO error vector set it to '1.0'
|
||||||
for (UInt_t i=0; i<noOfDataSets; i++) {
|
for (UInt_t i=0; i<noOfDataSets; i++) {
|
||||||
if (runData.fDataNonMusr.GetErrData()->at(i).size() == 0) {
|
if (runData.fDataNonMusr.GetErrData()->at(i).size() == 0) {
|
||||||
for (UInt_t j=0; j<runData.fDataNonMusr.GetData()->at(i).size(); j++) {
|
for (UInt_t j=0; j<runData.fDataNonMusr.GetData()->at(i).size(); j++) {
|
||||||
runData.fDataNonMusr.AppendSubErrData(i, 0.0);
|
runData.fDataNonMusr.AppendSubErrData(i, 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user