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+ (yy)/ 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+ (yy)/ par[2]),-par[3]);
Could you help me to figure out this?
Thanks
Dil