PRunSingleHisto: replace TObjArray/TObjString with PStringUtils
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -38,12 +38,13 @@
|
||||
#include <cmath>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <TString.h>
|
||||
#include <TObjArray.h>
|
||||
#include <TObjString.h>
|
||||
|
||||
#include "PMusr.h"
|
||||
#include "PStringUtils.h"
|
||||
#include "PRunSingleHisto.h"
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -844,18 +845,15 @@ UInt_t PRunSingleHisto::GetNoOfFitBins()
|
||||
*/
|
||||
void PRunSingleHisto::SetFitRangeBin(const TString fitRange)
|
||||
{
|
||||
TObjArray *tok = nullptr;
|
||||
TObjString *ostr = nullptr;
|
||||
TString str;
|
||||
Ssiz_t idx = -1;
|
||||
Int_t offset = 0;
|
||||
|
||||
tok = fitRange.Tokenize(" \t");
|
||||
std::vector<std::string> tok = PStringUtils::Split(fitRange.Data(), " \t");
|
||||
|
||||
if (tok->GetEntries() == 3) { // structure FIT_RANGE fgb+n0 lgb-n1
|
||||
if (tok.size() == 3) { // structure FIT_RANGE fgb+n0 lgb-n1
|
||||
// handle fgb+n0 entry
|
||||
ostr = dynamic_cast<TObjString*>(tok->At(1));
|
||||
str = ostr->GetString();
|
||||
str = tok[1];
|
||||
// check if there is an offset present
|
||||
idx = str.First("+");
|
||||
if (idx != -1) { // offset present
|
||||
@@ -866,8 +864,7 @@ void PRunSingleHisto::SetFitRangeBin(const TString fitRange)
|
||||
fFitStartTime = (fGoodBins[0] + offset - fT0s[0]) * fTimeResolution;
|
||||
|
||||
// handle lgb-n1 entry
|
||||
ostr = dynamic_cast<TObjString*>(tok->At(2));
|
||||
str = ostr->GetString();
|
||||
str = tok[2];
|
||||
// check if there is an offset present
|
||||
idx = str.First("-");
|
||||
if (idx != -1) { // offset present
|
||||
@@ -876,16 +873,15 @@ void PRunSingleHisto::SetFitRangeBin(const TString fitRange)
|
||||
offset = str.Atoi();
|
||||
}
|
||||
fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution;
|
||||
} else if ((tok->GetEntries() > 3) && (tok->GetEntries() % 2 == 1)) { // structure FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]]
|
||||
Int_t pos = 2*(fRunNo+1)-1;
|
||||
} else if ((tok.size() > 3) && (tok.size() % 2 == 1)) { // structure FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]]
|
||||
UInt_t pos = 2*(fRunNo+1)-1;
|
||||
|
||||
if (pos + 1 >= tok->GetEntries()) {
|
||||
if (pos + 1 >= tok.size()) {
|
||||
std::cerr << std::endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'";
|
||||
std::cerr << std::endl << ">> will ignore it. Sorry ..." << std::endl;
|
||||
} else {
|
||||
// handle fgb+n0 entry
|
||||
ostr = dynamic_cast<TObjString*>(tok->At(pos));
|
||||
str = ostr->GetString();
|
||||
str = tok[pos];
|
||||
// check if there is an offset present
|
||||
idx = str.First("+");
|
||||
if (idx != -1) { // offset present
|
||||
@@ -896,8 +892,7 @@ void PRunSingleHisto::SetFitRangeBin(const TString fitRange)
|
||||
fFitStartTime = (fGoodBins[0] + offset - fT0s[0]) * fTimeResolution;
|
||||
|
||||
// handle lgb-n1 entry
|
||||
ostr = dynamic_cast<TObjString*>(tok->At(pos+1));
|
||||
str = ostr->GetString();
|
||||
str = tok[pos+1];
|
||||
// check if there is an offset present
|
||||
idx = str.First("-");
|
||||
if (idx != -1) { // offset present
|
||||
@@ -911,11 +906,6 @@ void PRunSingleHisto::SetFitRangeBin(const TString fitRange)
|
||||
std::cerr << std::endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'";
|
||||
std::cerr << std::endl << ">> will ignore it. Sorry ..." << std::endl;
|
||||
}
|
||||
|
||||
// clean up
|
||||
if (tok) {
|
||||
delete tok;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -2430,23 +2420,15 @@ Bool_t PRunSingleHisto::IsScaleN0AndBkg()
|
||||
PMsrLines *cmd = fMsrInfo->GetMsrCommands();
|
||||
for (UInt_t i=0; i<cmd->size(); i++) {
|
||||
if (cmd->at(i).fLine.Contains("SCALE_N0_BKG", TString::kIgnoreCase)) {
|
||||
TObjArray *tokens = nullptr;
|
||||
TObjString *ostr = nullptr;
|
||||
TString str;
|
||||
tokens = cmd->at(i).fLine.Tokenize(" \t");
|
||||
if (tokens->GetEntries() != 2) {
|
||||
std::vector<std::string> tokens = PStringUtils::Split(cmd->at(i).fLine.Data(), " \t");
|
||||
if (tokens.size() != 2) {
|
||||
std::cerr << std::endl << ">> PRunSingleHisto::IsScaleN0AndBkg(): **WARNING** Found uncorrect 'SCALE_N0_BKG' command, will ignore it.";
|
||||
std::cerr << std::endl << ">> Allowed commands: SCALE_N0_BKG TRUE | FALSE" << std::endl;
|
||||
return willScale;
|
||||
}
|
||||
ostr = dynamic_cast<TObjString*>(tokens->At(1));
|
||||
str = ostr->GetString();
|
||||
if (!str.CompareTo("FALSE", TString::kIgnoreCase)) {
|
||||
if (PStringUtils::IsEqualNoCase(tokens[1], "FALSE")) {
|
||||
willScale = false;
|
||||
}
|
||||
// clean up
|
||||
if (tokens)
|
||||
delete tokens;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user