Hi all–
I am writing a script in which I compare two arrays using the Kolmogorov-Smirnov (KS) test, and for some reason I keep getting a “Not defined in current scope” error. Here’s a toy version of my code:
{
Int_t y[5];
double x[5], x_sort[5];
double z[50];
for (Int_t i=0; i<5; i++) {
x[i] = 5 - i;
}
for (Int_t j=0; j<50, j++){
z[j] = j;
}
//I also used this script to learn how Sort() works
TMath::Sort(5, x, y, kFALSE);
//The KS test needs the arrays sorted in ascending order
for (Int_t i=0; i<5; i++) {
x_sort[i] = x[y[i]];
}
cout << "KS: " << KolmogorovTest(5, x_sort, 50, z) << endl;
}
The error message this gives is pretty standard:
“Error: Function KolmogorovTest(5,x_sort,50,z) is not defined in current scope”
What’s weird to me is that both Sort() and KolmogorovTest() are defined in TMath, but I’m apparently not calling KTest properly. I’m sure whatever’s going on here is a silly oversight, but I’d appreciate any help.
Thanks!