diff --git a/src/external/TFitPofB-lib/classes/TFitPofBStartupHandler.cpp b/src/external/TFitPofB-lib/classes/TFitPofBStartupHandler.cpp index a007f867..194eba2c 100644 --- a/src/external/TFitPofB-lib/classes/TFitPofBStartupHandler.cpp +++ b/src/external/TFitPofB-lib/classes/TFitPofBStartupHandler.cpp @@ -358,7 +358,7 @@ void TFitPofBStartupHandler::CheckLists() } if(fDebug) { - cout << "Energies and Labels:"; + cout << "Energies and Labels:" << endl; for ( map::const_iterator iter(fEnergies.begin()); iter != fEnergies.end(); ++iter ) cout << iter->first << " " << iter->second << endl; } diff --git a/src/external/TFitPofB-lib/classes/TTrimSPDataHandler.cpp b/src/external/TFitPofB-lib/classes/TTrimSPDataHandler.cpp index cdad8c80..5edbc64e 100644 --- a/src/external/TFitPofB-lib/classes/TTrimSPDataHandler.cpp +++ b/src/external/TFitPofB-lib/classes/TTrimSPDataHandler.cpp @@ -67,6 +67,7 @@ TTrimSPData::TTrimSPData(const string &path, map &energies) { double zz(0.0), nzz(0.0); vector vzz, vnzz; string word, energyStr; + bool goodFile(false); for ( map::const_iterator iter(energies.begin()); iter != energies.end(); ++iter ) { @@ -78,36 +79,48 @@ TTrimSPData::TTrimSPData(const string &path, map &energies) { delete rgeFile; rgeFile = 0; } else { - fEnergy.push_back(iter->first); - while(*rgeFile >> word) - if(word == "PARTICLES") break; - - while(!rgeFile->eof()) { - *rgeFile >> zz >> nzz; - vzz.push_back(zz); - vnzz.push_back(nzz); + while(*rgeFile >> word) { + if(word == "PARTICLES") { + goodFile = true; + break; + } } - fDZ.push_back(vzz[1]-vzz[0]); + if (goodFile) { - while(zz < 2100.0){ - zz += *(fDZ.end()-1); - vzz.push_back(zz); - vnzz.push_back(0.0); + fEnergy.push_back(iter->first); + + while(!rgeFile->eof()) { + *rgeFile >> zz >> nzz; + vzz.push_back(zz); + vnzz.push_back(nzz); + } + + fDZ.push_back(vzz[1]-vzz[0]); + + while(zz < 2100.0){ + zz += *(fDZ.end()-1); + vzz.push_back(zz); + vnzz.push_back(0.0); + } + + fDataZ.push_back(vzz); + fDataNZ.push_back(vnzz); + + + rgeFile->close(); + delete rgeFile; + rgeFile = 0; + + vzz.clear(); + vnzz.clear(); + goodFile = false; + + } else { + cerr << "TTrimSPData::TTrimSPData: " << energyStr << " does not seem to be a valid unmodified TRIM.SP output file!" << endl; + continue; } - - fDataZ.push_back(vzz); - fDataNZ.push_back(vnzz); - - - rgeFile->close(); - delete rgeFile; - rgeFile = 0; - - vzz.clear(); - vnzz.clear(); - } }