TF2 Function

Hello Rooters,
I need to look at the following function for Q2 vs XB plot.
xBj^alpha * (1-xBj)^beta * (1+Q^2/LambdaSq)^(-gamma)

So I tried it as follows.

TF2  *floglisum = new TF2("floglisum","LogxBQSq",0.0,1.0,1.5,10.0);
                                                    
                                                    floglisum->SetParameters(0,0.5);
                                                    floglisum->SetParameters(1,3.0);
                                                    floglisum->SetParameters(2,1.0);
                                                    floglisum->SetParameters(3,2.0);

Double_t LogxBQSq(Double_t *x,Double_t *y,Double_t *par){
    
    Double_t result=0;
    Double_t LogLiSum=0;
    result= TMath::Power(x,par[0]) * TMath::Power((1-x),par[1])* TMath::Power((1+ (y*y)/ par[2]),-par[3]);
    return result;
    
    
}

But I got the following error.

././cross_section_acc.C:3114:13: error: no matching function for call to ‘Power’
result= TMath::Power(x,par[0]) * TMath::Power((1-x),par[1])* TMath::Power((1+ (y*y)/ par[2]),-par[3]);
^~~~~~~~~~~~
/u/site/12gev_phys/2.4/Linux_CentOS7.7.1908-gcc9.2.0/root/6.20.04/include/TMath.h:737:24: note: candidate function not viable: no known conversion from ‘Double_t *’ (aka ‘double *’) to ‘Double_t’ (aka ‘double’) for 1st argument; dereference the argument with *
inline Double_t TMath::Power(Double_t x, Double_t y)
^
/u/site/12gev_phys/2.4/Linux_CentOS7.7.1908-gcc9.2.0/root/6.20.04/include/TMath.h:725:28: note: candidate function not viable: no known conversion from ‘Double_t *’ (aka ‘double *’) to ‘LongDouble_t’ (aka ‘long double’) for 1st argument; dereference the argument with *
inline LongDouble_t TMath::Power(LongDouble_t x, LongDouble_t y)
^
/u/site/12gev_phys/2.4/Linux_CentOS7.7.1908-gcc9.2.0/root/6.20.04/include/TMath.h:729:28: note: candidate function not viable: no known conversion from ‘Double_t *’ (aka ‘double *’) to ‘LongDouble_t’ (aka ‘long double’) for 1st argument; dereference the argument with *
inline LongDouble_t TMath::Power(LongDouble_t x, Long64_t y)
^
/u/site/12gev_phys/2.4/Linux_CentOS7.7.1908-gcc9.2.0/root/6.20.04/include/TMath.h:733:28: note: candidate function not viable: no known conversion from ‘Double_t *’ (aka ‘double *’) to ‘Long64_t’ (aka ‘long long’) for 1st argument; dereference the argument with *
inline LongDouble_t TMath::Power(Long64_t x, Long64_t y)
^
/u/site/12gev_phys/2.4/Linux_CentOS7.7.1908-gcc9.2.0/root/6.20.04/include/TMath.h:741:24: note: candidate function not viable: no known conversion from ‘Double_t *’ (aka ‘double *’) to ‘Double_t’ (aka ‘double’) for 1st argument; dereference the argument with *
inline Double_t TMath::Power(Double_t x, Int_t y) {
^
In file included from input_line_11:18:
././cross_section_acc.C:3114:53: error: invalid operands to binary expression (‘int’ and 'Double_t ’ (aka 'double '))
result= TMath::Power(x,par[0]) * TMath::Power((1-x),par[1])
TMath::Power((1+ (y
y)/ par[2]),-par[3]);
~^~
././cross_section_acc.C:3114:85: error: invalid operands to binary expression (‘Double_t *’ (aka 'double ') and 'Double_t ')
result= TMath::Power(x,par[0]) * TMath::Power((1-x),par[1])
TMath::Power((1+ (y
y)/ par[2]),-par[3]);

Could you help me to figure out this?
Thanks
Dil

TF2

Double_t LogxBQSq(Double_t *val,Double_t *par){
   Float_t x = val[0];
   Float_t y = val[1];
   Double_t result;
   result = TMath::Power(x, par[0]) *
            TMath::Power((1-x),par[1]) *
            TMath::Power((1+(y*y)/par[2]),-par[3]);
   return result;
}

void dil()
{
   auto floglisum = new TF2("floglisum",LogxBQSq,0.0,1.0,1.5,10.0,4);
   floglisum->SetParameters(0,0.5);
   floglisum->SetParameters(1,3.0);
   floglisum->SetParameters(2,1.0);
   floglisum->SetParameters(3,2.0);
   floglisum->Draw();
}
root [0] . dil.C

gives:

Thank You…