Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RooFFTConvPdf is not working for ROOT 6.30/02 #14162

Closed
1 task
wwdws1 opened this issue Dec 2, 2023 · 3 comments · Fixed by #14174
Closed
1 task

RooFFTConvPdf is not working for ROOT 6.30/02 #14162

wwdws1 opened this issue Dec 2, 2023 · 3 comments · Fixed by #14174

Comments

@wwdws1
Copy link

wwdws1 commented Dec 2, 2023

Check duplicate issues.

  • Checked for duplicates

Description

When I use the RooFFTConvPdf function to convolved two pdf, there is an error infomation:

Error in <TVirtualFFT::FFT>: handler not found
Error in <TVirtualFFT::FFT>: handler not found
Error in <TVirtualFFT::FFT>: handler not found
[#0] FATAL:Eval -- RooFFTConvPdf::fillCacheSlice(sigpdfCannot get a handle to fftw. Maybe ROOT was built without it?
terminate called after throwing an instance of 'std::runtime_error'
  what():  Cannot get a handle to fftw.

But I have already installed all the dependencies include libfftw3-dev.

And I also try the same script under the ROOT 6.28/06, it works well.

Reproducer

A part of script:

    auto h1a = new TH1D("h1a", "h1a", nbins1, xlow1, xup1);
    t2->Draw("x>>h1a");

    RooDataHist exmch1a("exmch1a", "exmch1a", x, h1a, 1.0);

    RooHistPdf exmcpdf("exmcpdf", "exmcpdf", x, exmch1a, 0);

    RooRealVar mean_gauss("mean_gauss", "mean_gauss", 0.0, -10000.0, 10000.0);
    RooRealVar width_gauss("width_gauss", "width_gauss", 0.0, 0.0, 1000.0);
    RooGaussModel gausspdf("gausspdf", "gausspdf", x, mean_gauss, width_gauss);

    RooFFTConvPdf sigpdf("sigpdf", "sigpdf", x, exmcpdf, gausspdf);

I'm sorry I can't provide the rest of the script.

I run this script with the following command

root fit.cxx

ROOT version

ROOT 6.30/02

Installation method

pre-compiled binary

Operating system

Ubuntu 22.04

Additional context

No response

@guitargeek
Copy link
Contributor

Hi @wwdws1, thanks for the report!

Unfortunately we had to take out the interface between ROOT and fftw3 out of the released binaries, because it was not license compatible with fftw3. Installing fftw3 doesn't help, because the relevant TVirtualFFT plugins won't be there.

I have suggested a solution to fix this for the next release:
#14174

@guitargeek
Copy link
Contributor

Until we have solved this problem, you either have to use an older ROOT release prior to 6.30.00, or build root from source with -Dfftw3=ON.

@wwdws1
Copy link
Author

wwdws1 commented Dec 6, 2023

Sorry for the late reply and thanks for your help. Now I am using the 6.28/06 and it works well.

@guitargeek guitargeek added this to Issues in Fixed in 6.32.00 via automation Dec 7, 2023
@guitargeek guitargeek added this to Issues in Fixed in 6.30.04 via automation Dec 7, 2023
@dpiparo dpiparo changed the title RooFFTConvPdf is not working at ROOT 6.30/02 RooFFTConvPdf is not working for ROOT 6.30/02 Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

2 participants