Python wrapper for GLoBES Author: Andrii Terliuk
First, load CVMFS software v. 4.0.1 into your environment! This is only necessary at compile time, the paths to the libraries are baked into the library by setting RPATH. It should then be possible to use the library from any environment, provided that CVMFS is reachable and paths didn't change.
Install GLoBES, currently available stable version is 3.0.11 Go to some folder and do:
wget http://www.mpi-hd.mpg.de/personalhomes/globes/download/globes-3.0.11.tar.gz
tar -xvzf globes-3.0.11.tar.gz
cd ./globes-3.0.11
Install it using :
./configure --prefix=<path/to/globes/installation/folder/>
make
make install
Get Sterile neutrinos and non-standard interactions extension for globes https://www.mpi-hd.mpg.de/personalhomes/globes/tools.html
Place snu.c
and snu.h
into ./snu/
subfolder of this repository.
go to /snu
folder and apply a bit hacky patch to set correct electron density
edit prefix path in Makefile:
prefix=<put/your/path/to/GLoBES/prefix/here>
and then do
make
make install
After this you need to compile a Python interface for SNU extension.
First, put location of your GLoBES/SNU extension installation as prefix
to Makefile,
then run make
and make install
.
You should see GLoBES.so
file and now it should be ready to use.
You can check whether the library will work in your environment by running
ldd -r GLoBES.so
. If it finds all the libraries and no undefined symbols,
you are good to go.
Go to examples folder and change path in plot_numubar.py
file to the location of the folder containitng GLoBES.so
.
Then simply run the script, which should produce the following oscillogram:
This browser does not support PDFs. Please download the PDF to view it: Download PDF.