How to plot generalized hypergeometric function in ROOT?

In summary, the conversation is about plotting a generalized hypergeometric function in ROOT using the TF1 class. The individual is having difficulty generating the function and finding a way to plot it in ROOT. Some suggested solutions include finding a closed form or making approximations, using TF1::Draw(), or creating a custom PDF in RooFit. The individual wants to use ROOT for fitting the function with experimental data.
  • #1
Sandeep Hundal
9
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
  • #3
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
  • #4
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?
 
  • #5
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.
 
  • #6
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.
 
  • #7
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.
 

Similar threads

Replies
2
Views
2K
Replies
1
Views
2K
Replies
4
Views
4K
Replies
2
Views
891
Replies
30
Views
5K
Back
Top