Hi,
In TSpectrum::Search, the parameter threshold must be 0<threshold<1
I have added a warning when threshold is outside this range.
Rene Brun
Venkatesh Kaushik wrote:
>
> Hi ALL,
>
> I was just looking at the sample program in the tutorials
> for finding peaks in histograms, which is useful in my
> analysis. I think I found some error in the TSpectrum::Search()
> with setting the threshold. I am not sure if that's a bug or
> its meant to be interpreted that way. But here it is..
>
> I am using Root Version 3.05/07 27 July 2003.
> Here's the sample code for peaks.C that I got from the
> tutorials. I have stripped the code down to a few lines
> to illustrate the error.
>
> /**************************************/
> #include "TCanvas.h"
> #include "TH1.h"
> #include "TF1.h"
> #include "TRandom.h"
> #include "TSpectrum.h"
> #include "TVirtualFitter.h"
>
> Int_t npeaks = 30;
>
> void peaks(Int_t np=10) {
> npeaks = np;
> TH1F *h = new TH1F("h","test",50,-4,4);
> TCanvas *c1 = new TCanvas("c1","c1",10,10,1000,900);
> h->FillRandom("gaus",50000);
> h->Draw();
>
> TSpectrum *s = new TSpectrum(2);
> Int_t nfound = s->Search(h,1,"new",1.0); // <--- Threshold set to 1.0
> printf("Found %d candidate peaks to fitn",nfound);
> c1->Update();
> }
>
> /**************************************/
>
> Here's the output
>
> Error in <TSpectrum::Search1HighRes>: Invalid threshold, must be positive
> and less than 100
>
> I think the error should read something like
>
> Invalid threshold, must be positive and less than 100% or
> Invalid threshold, must be positive and less than 1.0
>
> Any comments?
>
> Venkat.
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET