ROOT Version: 6.24/02
Platform: Ubuntu preview on Windows
Compiler: gcc
Good evening, this is my first question in the forum so I will try my best to be clear enough. I am trying to perform a fit of some experimental data with the function sigma_swave
implemented below
double const kb=1.3806*pow(10,-23);
double const pi=3.14159;
double fit(double *x, double *par)
{
double fit;
fit=par[0]*(1-pow(x[0]/par[1],4));
return fit;
}
double Delta_s(double *x, double *par)
{
double Delta_s=par[0]*TMath::ATan(1.82*pow(1.082*(par[1]/x[0]-1),0.51));
return Delta_s;
}
double f(double *x, double *par)
{
TF1 *Delta=new TF1("Delta",Delta_s,0,5,2);
Delta->SetParameters(par[0],par[1]);
double FermiDirac=pow(1+TMath::Exp(sqrt(x[0]*x[0]+Delta->Eval(par[2])*Delta->Eval(par[2]))/(kb*par[2])),-1);
double f=FermiDirac*(1-FermiDirac);
return f;
}
double sigma_swave(double *x,double *par)
{
TF1 *fu=new TF1("fu",f,0,99999,3);
fu->SetParameters(par[0],par[1],x[0]);
auto integral=fu->Integral(0,99999);
double sigma=par[2]*(2/(kb*x[0]))*integral;
return sigma;
}
which involves an integral of a 2d function over just one variable from 0 to infinity. The first question is related to the calculation of the integral: is there an alternative method that doesn’t require a finite interval? The second question is related to the error I have after the calculation of the fit:
cling::DynamicLibraryManager::loadLibrary(): libgsl.so.23: cannot open shared object file: No such file or directory
Error in TInterpreter::TCling::AutoLoad: failure loading library libMathMore.so for ROOT::Math::GSLIntegrator
cling::DynamicLibraryManager::loadLibrary(): libgsl.so.23: cannot open shared object file: No such file or directory
Warning in ROOT::Math::IntegratorOneDim::CreateIntegrator: Error loading one dimensional GSL integrator - use Gauss integrator.
I already tried to solve the problem by using sudo apt-get install libgsl-dev
, but then the following appears:
The following packages have unmet dependencies: apt-file : Depends: libregexp-assemble-perl but it is not going to be installed
liblist-moreutils-perl : Depends: liblist-moreutils-xs-perl but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
May I ask if the problem is related to that and how to fix it?