Heavy Neutrino (HeavyN) Sandbox
R. Ruiz
2013 October 18
2014 October 29: rewrite
2016 February 29: New plotting routine
2017 February 17: Update for Cuba 4.1+ compatibility
2023 August 17: Update for Cuba 4.2.2 compatibility

The .tgz file is a self-contained package:
https://gitlab.cern.ch/riruiz/public-projects/-/blob/master/HeavyNSandbox/HeavyNSandbox_2023_0818.tgz

If this program is used, please cite: R. Ruiz [arXiv:1509.06375]
Please consider also citing T. Hahn [arXiv:hep-ph/0404043]



1. What:
This program will calculate and plot in ROOT the production rate for
	p p \rightarrow  W^{*\pm} \rightarrow N l^{\pm}     (1)
via the Drell-Yan process for arbitrary mN and active-sterile mixing mixing
at a 14 TeV proton-proton collider (LHC) versus heavy neutrino mass. 

The entire program is self-contained except for one important detail: the user must install the libCuba libraries [1]. 
The makefile requires by default that libcuba.a be located in: /usr/local/lib/libcuba.a
However, the makefile can be modified to point anywhere to which the user has write/build access.

[1] http://www.feynarts.de/cuba/

For legacy purposes, a (tarred) copy of Cuba 4.2.2 is located in the directory CubaLocal. 
To untar and install, do:
$ cd ./CubaLocal
$ tar -zxvf Cuba-4.2.2.tar.gz
$ cd ./Cuba-4.2.2
$ ./configure (--prefix=/usr/local)
$ make
$ (sudo) make install

2. Compilation and usage:

2a. Option A:
$ make
$ ./runpp_Nl_Example.bin

2b. Option B:
$ gfortran -o runpp_Nl_Example.bin -g -fno-align-commons -ffixed-line-length-none pp_Nl_Example.f ./PDFSRC/Cteq6Pdf-2010.f   /usr/local/lib/libcuba.a
$ ./runpp_Nl_Example.bin


3. Output:
The binary runpp_Nl_Example.bin has two outputs.

3a. The ROOT macro ROOT/getPP_NL_XSec.C will generate a plot that shows the production rate for Eq.(1) as a function of heavy neutrino mass.
The usage for this is:
$ root -l 
[0] .L getPP_NL_XSec.C
[1] getPP_Nl_XSecPlot()  
[2] .q 

3b. The terminal output will appear as a series of the following:
 seed  =        41503   <----- This is the seed used to generate random no.
 binNr =            3   <----- The bin no. for the plot in 3a.
 mN    =           54.  <----- heavy neutrino mass (GeV) used in calculation
 nregions =       32539 <----- Number of regions in vegas integration
 neval    =      210190 <----- Number of evaluations in vegas integration
 fail     =           1 <----- Did the integration converge? 0 = Yes, 1 = No
integral(1), err, err[%]:        3.71701        0.02459        0.66166
Total XSec     (fb):         3.717 <---- Cross section in fb
Total XSec Err (fb):         0.025 <---- Cross section uncertainty in fb

4. By default, the units GeV and fb are used.

5. The file output.log has the expected terminal output for current settings of pp_Nl_Example.f.

6. The results have been checked against C. Degrande, et al in [arXiv:1602.06957 [hep-ph]] and A. Atre, et al [arXiv:0901.3589 [hep-ph]].

7. References:

\bibitem{Ruiz:2015gsa}
  R.~E.~Ruiz,
  %``Hadron Collider Tests of Neutrino Mass-Generating Mechanisms,''
  PhD thesis. University of Pittsburgh (2015)
  [arXiv:1509.06375].

\bibitem{Hahn:2004fe} 
  T.~Hahn,
  %``CUBA: A Library for multidimensional numerical integration,''
  Comput.\ Phys.\ Commun.\  {\bf 168}, 78 (2005)
  doi:10.1016/j.cpc.2005.01.010
  [arXiv:hep-ph/0404043].
