added some more sanity checks for musrt0.
This commit is contained in:
@@ -146,6 +146,9 @@ Int_t musrt0_getMaxBin(const PDoubleVector *data)
|
|||||||
Int_t maxBin = -1;
|
Int_t maxBin = -1;
|
||||||
Double_t maxData = -999;
|
Double_t maxData = -999;
|
||||||
|
|
||||||
|
if (data == nullptr)
|
||||||
|
return maxBin;
|
||||||
|
|
||||||
for (UInt_t i=0; i<data->size(); i++) {
|
for (UInt_t i=0; i<data->size(); i++) {
|
||||||
if (data->at(i) > maxData) {
|
if (data->at(i) > maxData) {
|
||||||
maxData = data->at(i);
|
maxData = data->at(i);
|
||||||
@@ -221,7 +224,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
return PMUSR_SUCCESS;
|
return PMUSR_SUCCESS;
|
||||||
} else if (strstr(argv[i], ".msr")) { // check for filename
|
} else if (strstr(argv[i], ".msr")) { // check for filename
|
||||||
if (strlen(filename) == 0) {
|
if (strlen(filename) == 0) {
|
||||||
strcpy(filename, argv[i]);
|
strncpy(filename, argv[i], sizeof(filename));
|
||||||
} else {
|
} else {
|
||||||
std::cout << std::endl << "**ERROR** only one file name allowed." << std::endl;
|
std::cout << std::endl << "**ERROR** only one file name allowed." << std::endl;
|
||||||
show_syntax = true;
|
show_syntax = true;
|
||||||
@@ -816,7 +819,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE);
|
musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE);
|
||||||
// execute cmd
|
// execute cmd
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((runList->at(i).GetRunNameSize() > 1) && (runList->at(i).GetForwardHistoNoSize() == 1)) { // addruns / no grouping
|
if ((runList->at(i).GetRunNameSize() > 1) && (runList->at(i).GetForwardHistoNoSize() == 1)) { // addruns / no grouping
|
||||||
@@ -842,7 +845,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetAddRunIdx(j); // addruns
|
musrT0Data.SetAddRunIdx(j); // addruns
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() > 1)) { // no addruns / grouping
|
} else if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() > 1)) { // no addruns / grouping
|
||||||
@@ -868,7 +871,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetHistoNoIdx(j);
|
musrT0Data.SetHistoNoIdx(j);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { // addruns / grouping
|
} else { // addruns / grouping
|
||||||
@@ -896,7 +899,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetHistoNoIdx(k);
|
musrT0Data.SetHistoNoIdx(k);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -911,7 +914,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -939,7 +942,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE);
|
musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE);
|
||||||
// execute cmd
|
// execute cmd
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
// feed necessary data backward
|
// feed necessary data backward
|
||||||
musrT0Data.InitData();
|
musrT0Data.InitData();
|
||||||
@@ -961,7 +964,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE);
|
musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE);
|
||||||
// execute cmd
|
// execute cmd
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// get t0's
|
// get t0's
|
||||||
@@ -988,7 +991,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetAddRunIdx(j); // addruns
|
musrT0Data.SetAddRunIdx(j); // addruns
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// feed necessary backward data
|
// feed necessary backward data
|
||||||
@@ -1013,7 +1016,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetAddRunIdx(j); // addruns
|
musrT0Data.SetAddRunIdx(j); // addruns
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() > 1)) { // no addruns / grouping
|
} else if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() > 1)) { // no addruns / grouping
|
||||||
@@ -1039,7 +1042,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetHistoNoIdx(j);
|
musrT0Data.SetHistoNoIdx(j);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// feed necessary backward data
|
// feed necessary backward data
|
||||||
@@ -1064,7 +1067,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetHistoNoIdx(j);
|
musrT0Data.SetHistoNoIdx(j);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { // addruns / grouping
|
} else { // addruns / grouping
|
||||||
@@ -1092,7 +1095,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetHistoNoIdx(k);
|
musrT0Data.SetHistoNoIdx(k);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1120,7 +1123,7 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// feed necessary data
|
// feed necessary data
|
||||||
musrT0Data.SetHistoNoIdx(k);
|
musrT0Data.SetHistoNoIdx(k);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1137,12 +1140,12 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
musrT0Data.SetHistoNo(forwardHistos);
|
musrT0Data.SetHistoNo(forwardHistos);
|
||||||
musrT0Data.SetDetectorTag(PMUSRT0_FORWARD);
|
musrT0Data.SetDetectorTag(PMUSRT0_FORWARD);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
musrT0Data.SetHistoNo(backwardHistos);
|
musrT0Data.SetHistoNo(backwardHistos);
|
||||||
musrT0Data.SetDetectorTag(PMUSRT0_BACKWARD);
|
musrT0Data.SetDetectorTag(PMUSRT0_BACKWARD);
|
||||||
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) {
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1166,7 +1169,8 @@ Int_t main(Int_t argc, Char_t *argv[])
|
|||||||
// copy mlog-file -> msr-file
|
// copy mlog-file -> msr-file
|
||||||
TString fln = TString(filename);
|
TString fln = TString(filename);
|
||||||
Char_t ext[32];
|
Char_t ext[32];
|
||||||
strcpy(ext, ".mlog");
|
memset(ext, '\0', sizeof(ext));
|
||||||
|
strncpy(ext, ".mlog", sizeof(ext));
|
||||||
fln.ReplaceAll(".msr", 4, ext, strlen(ext));
|
fln.ReplaceAll(".msr", 4, ext, strlen(ext));
|
||||||
gSystem->CopyFile(fln.Data(), filename, kTRUE);
|
gSystem->CopyFile(fln.Data(), filename, kTRUE);
|
||||||
// copy __temp.msr -> mlog-file
|
// copy __temp.msr -> mlog-file
|
||||||
|
|||||||
Reference in New Issue
Block a user