How to plot generalized hypergeometric function in ROOT?

AI Thread Summary
The discussion revolves around plotting the generalized hypergeometric function 0F3(;4/3,5/3,2;x) using the ROOT framework. The user expresses difficulty in generating this function and seeks guidance on how to define it within the TF1 class. Suggestions include exploring ROOT's official website and forums for tutorials and specific discussions on hypergeometric functions. It is noted that the user needs to plot this function for fitting parameters with experimental data, having previously used ROOT primarily for fitting analyses. The conversation highlights the importance of approximating the function, as it involves an infinite series, and suggests that a custom probability density function (PDF) in RooFit could be a viable alternative, allowing for evaluation without requiring a closed form.
Sandeep Hundal
Messages
9
Reaction score
0
Hello everyone
I am trying to write code in ROOT.I want to plot generalized hypergeometric function pFq with p=0 and q=3 i.e I want to plot 0F3(;4/3,5/3,2;x) as a function of x using TF1 class.I am not getting how to plot this function in ROOT.Kindly help me out.
Thanks in Advance
 
Technology news on Phys.org
Can you be more specific on which part you find difficult?
Is it generating the function? (how you define the TF1 and its parameters)
or is it drawing a TF1?
 
  • Like
Likes jedishrfu
if it's the second, have a look at TF1::Draw()...
If it is the first, then either find a closed form that your function corresponds to (to be honest I wasn't able to find a clear answer to what that function is equal to) or make approximations (you can never have infinite sums), keeping eg the first 3 terms or 4 terms and so on (depending on what you want to do with it)...
Why would you want to use ROOT for that?
 
ChrisVer said:
Can you be more specific on which part you find difficult?
Is it generating the function? (how you define the TF1 and its parameters)
or is it drawing a TF1?
I am not able to generate the hypergeometric function of form 0F3(;4/3,5/3,2;x).The value of function contains limit from n=0 to n=infinity.I am not able to find this function in already defined function in root.
 
ChrisVer said:
if it's the second, have a look at TF1::Draw()...
If it is the first, then either find a closed form that your function corresponds to (to be honest I wasn't able to find a clear answer to what that function is equal to) or make approximations (you can never have infinite sums), keeping eg the first 3 terms or 4 terms and so on (depending on what you want to do with it)...
Why would you want to use ROOT for that?
I need to use root because the function I need to plot contains hypergeometric function and I need to do fitting of the parameters with experimental data.Previously ,I have used ROOT only for fitting in my analysis.So ,I was trying if I can find some way to plot this function in ROOT only.
 
A custom PDF in RooFit could work. You don't need a sum-free closed form for the function that way, you just need a function that can be evaluated for every argument. If you fit data to it, it will take quite some time.
 
Back
Top