TSpectrum2::Bac... ERROR function not yet implemented


Dear Experts,

Please pardon a strange question and please give a look when you are free.

The root to use is : /cvmfs/sft.cern.ch/lcg/releases/ROOT/6.30.02-398ae/x86_64-centos7-gcc11-opt

In the CMakeLists.txt for my module there has been

find_package(ROOT COMPONENTS Core RIO TreePlayer Spectrum )
….

target_link_libraries( myPack PRIVATE ROOT::Spectrum )

In the code, TSpectrum2 is declared and used per event like

TSpectrum2 * tSpct2 = new TSpectrum2( _maxPeaks ) ;
tSpct2->SetAverageWindow( 5 ) ;
tSpct2->SetDeconIterations( 5 ) ;
Int_t nfound = tSpct2->Search( h2da, 1, “nobackground,col”, 0.1 );
cout <<" #peaks : "<< nfound << endl ;

if ( tSpct2 != 0x0 ) delete tSpct2 ;

The code built well and run to the end, but with always zero peaks, and runtime error like

TSpectrum2::Bac…  ERROR function not yet implemented: h=HoughPeaks_Evt2, iter=747067430, option=8}

The error came from L157 from doc/v630/TSpectrum2_8cxx

It’s more strange, from whole of this TSpectrum2.cxx, this TH1 *Background(…) function was NOT explicitly called in either Search() or SearchHighRes() …

Would experts confirm this Background ERROR will simply lead to null peaks,

or I can ignore that ERROR ?

Or I should re-config my CMakeLists.txt to link/load Spectrum in a better way ?

Many thanks in advance !

Lianyou

Welcome to the ROOT Forum!
Maybe @moneta can help

CMakeLists looks fine.

  • Could you retry with ROOT 6.36? It might be an issue with ROOT 6.30
  • Could you provide a full running reproducer with some dummy random data?

It’s likely that Background was called in another place, such as ShowPeaks if you are calling that somewhere later or so.

In any case, here a PR fixing the missing function:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.