CRXS  1.0
Comic Ray Cross Section Tools
 All Classes Namespaces Functions Variables Pages
Functions | Variables
XS_tools Namespace Reference

Functions

def inv_pp_pbar_CM__Winkler_p
 
def inv_pp_pbar_CM__diMauro_p
 
def factor__AA
 
def inv_AA_pbar_CM
 
def convert_LAB_to_CM
 
def inv_AA_pbar_LAB
 
def _dE_AA_pbar_LAB
 
def _dE_AA_pbar_LAB_incNbarAndHyperon
 
def dE_AA_pbar_LAB
 
def dE_AA_pbar_LAB_incNbarAndHyperon
 

Variables

tuple printinfo = info.CRXSinfo()
 
float fMass_proton = 0.9382720813
 
tuple Korsmeier_I_C1_to_C11 = np.array([ -1, 3.50193e+00, 5.58513e+00, 3.99553e-02, -2.50716e-01, 2.65053e+00, 3.78145e-02, 4.29478e-02, 2.69520e+00, 0.0, 0.0, 0.0 ])
 
tuple diMauro_I_C1_to_C11 = np.array([ -1, 4.499, 3.41, 0.00942, 0.445, 3.502, 0.0622, -0.247, 2.576, 0.0, 0.0, 0.0 ])
 
tuple diMauro_II_C1_to_C11 = np.array([ -1, 4.448, 3.735, 0.00502, 0.708, 3.527, 0.236, -0.729, 2.517, -1.822e-11, 3.527, 0.384 ])
 
tuple Korsmeier_I_D1_to_D2 = np.array([ -1, 0.825, 0.167])
 
tuple Winkler_C1_to_C16 = np.array([ -1, 0.31, 0.30, 21316., 0.9, 0.047, 7.76, 0.168, 0.038, 1.0e-3, 0.7, 30.9, -1.74, 0.71, 0.114, 20736., 0.51 ])
 
tuple Korsmeier_II_C1_to_C16 = np.array([ -1, 0.31, 0.30, 21316., 0.9, 5.01767e-02, 7.79045, 1.64809e-01, 0.038, 4.74370e-04, 3.70480e+00, 30.9, -1.74, 0.71, 0.114, 20736., 0.51 ])
 
tuple Korsmeier_II_D1_to_D2 = np.array([ -1, 0.828, 0.145 ])
 
tuple Winkler_D1_to_D2 = np.array([ -1, 0.839, 0.161 ])
 
dictionary parameters_C = {'WINKLER': Winkler_C1_to_C16, 'KORSMEIER_II' : Korsmeier_II_C1_to_C16, 'KORSMEIER_I':Korsmeier_I_C1_to_C11, 'DI_MAURO_I': diMauro_I_C1_to_C11, 'DI_MAURO_II': diMauro_II_C1_to_C11 }
 
dictionary parameters_D = {'WINKLER': Winkler_D1_to_D2, 'KORSMEIER_II' : Korsmeier_II_D1_to_D2, 'KORSMEIER_I':Korsmeier_I_D1_to_D2 }
 
dictionary NbarAndHyperon_C = {'WINKLER': Winkler_C1_to_C16, 'KORSMEIER_II' : Korsmeier_II_C1_to_C16, 'KORSMEIER_I':Korsmeier_II_C1_to_C16 }
 
tuple _dE_AA_pbar_LAB_incNbarAndHyperon_v = np.vectorize(_dE_AA_pbar_LAB_incNbarAndHyperon)
 
tuple _dE_AA_pbar_LAB_v = np.vectorize(_dE_AA_pbar_LAB)
 

Detailed Description

@package XS_tools
    Documentation of the module XS_tools.
    
    The module provides an interface to CRXS to read the Lorentz invariant XS definitions from cpp.
    Then it provieds some function to transform the XSs to the LAB frame and integrate over all angles.

Function Documentation

def XS_tools.convert_LAB_to_CM (   Tn_proj_LAB,
  T_pbar_LAB,
  eta_LAB 
)
    Convert LAB frame kinetic variable to the CM frame. (The LAB frame is the ISM rest frame.)
    
    \param double Tn_proj_LAB    Kinetic energy per nucleus of the prjectile (in the LAB frame)
    \param doulbe T_pbar_LAB     Kinetic energy of the antiproton (in the LAB frame)
    \param doulbe eta_LAB        Pseudo rapidity of the antiproton (in the LAB frame)
   
   \return (double s, double E_pbar, double pT_pbar, double x_F)   List with CM fram variables: CM energy, Antiproton (total) energy, Antiproton transverse momentum, Feynman scaling variable)
def XS_tools.dE_AA_pbar_LAB (   Tn_proj_LAB,
  T_pbar_LAB,
  A_projectile = 1,
  N_projectile = 0,
  A_target = 1,
  N_target = 0,
  parametrization = 'KORSMEIER_II' 
)
    Energy-differential cross section for general projectile and target nucleus for different XS parametrization
    as function of LAB frame kinetic variables.
    This cross section is integrated over all angles.
    
    Usage: The function is vectorized in both energies. dE_AA_pbar_LAB( [array], [arry] ) returns the correct corrisponding matrix.
    
    \param double Tn_proj_LAB      Kinetic energy per nucleus of the prjectile (in the LAB frame)
    \param doulbe T_pbar_LAB       Kinetic energy of the antiproton (in the LAB frame)
    \param int    A_projectile     Mass number of the projectile
    \param int    N_projectile     Number of neutrons in the projectile
    \param int    A_target         Mass number of the target
    \param int    N_target         Number of neutrons in the target
    \param string parametrization  Cross section parametrization [KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
    
    \return double XS              Cross section in mbarn/GeV
def XS_tools.dE_AA_pbar_LAB_incNbarAndHyperon (   Tn_proj_LAB,
  T_pbar_LAB,
  A_projectile = 1,
  N_projectile = 0,
  A_target = 1,
  N_target = 0,
  parametrization = 'KORSMEIER_II' 
)
    Energy-differential cross section including antineutrons and antihyperons for general projectile and target nucleus
    and for different XS parametrization as function of LAB frame kinetic variables.
    This cross section is integrated over all angles.
    
    This function should only be used for the parametrizations: Winkler, Korsmeier_I and Korsmeier_II.
    For diMauro apply a global factor 2.3 instead.
    
    Usage: The function is vectorized in both energies. dE_AA_pbar_LAB( [array], [arry] ) returns the correct corrisponding matrix.
    
    \param double Tn_proj_LAB      Kinetic energy per nucleus of the prjectile (in the LAB frame)
    \param doulbe T_pbar_LAB       Kinetic energy of the antiproton (in the LAB frame)
    \param int    A_projectile     Mass number of the projectile
    \param int    N_projectile     Number of neutrons in the projectile
    \param int    A_target         Mass number of the target
    \param int    N_target         Number of neutrons in the target
    \param string parametrization  Cross section parametrization [KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
    
    \return double XS              Cross section in mbarn/GeV
def XS_tools.factor__AA (   s,
  xF,
  A_projectile,
  N_projectile,
  A_target,
  N_target,
  parametrization 
)
    Parametrization of the nuclear scaling factor
    
    Taken from:     Korsmeier, et al.; 2018;
    Production cross sections of cosmic antiprotons in the light of new data from the NA61 and LHCb experiments;
    DOI: 10.1103/PhysRevD.97.103019
    
    \param double s               CM energy, squared.
    \param doulbe xF              Feynman scaling (2*pL/sqrt(s) in CMF)
    \param int    A_projectile    Mass number of the projectile
    \param int    N_projectile    Number of neutrons in the projectile
    \param int    A_target        Mass number of the target
    \param int    N_target        Number of neutrons in the target
    \param string parametrization Cross section parametrization [Korsmeier_II (default), Korsmeier_I, Winkler, diMauro_I, diMauro_II]
    
    \return double factor         Scaling factor
def XS_tools.inv_AA_pbar_CM (   s,
  xF,
  pT_pbar,
  A_projectile,
  N_projectile,
  A_target,
  N_target,
  parametrization = 'KORSMEIER_II' 
)
    Invariant cross section for general projectile and target nucleus for different XS parametrization
    
    \param double s               CM energy, squared.
    \param doulbe xF              Feynman scaling (2*pL_pbar/sqrt(s) in CMF)
    \param doulbe pT_pbar         Transverse momentum of the antiproton
    \param int    A_projectile    Mass number of the projectile
    \param int    N_projectile    Number of neutrons in the projectile
    \param int    A_target        Mass number of the target
    \param int    N_target        Number of neutrons in the target
    \param string parametrization Cross section parametrization [KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
    
    \return double XS             Cross section in mbarn/GeV^2
def XS_tools.inv_AA_pbar_LAB (   Tn_proj_LAB,
  T_pbar_LAB,
  eta_LAB,
  A_projectile,
  N_projectile,
  A_target,
  N_target,
  parametrization = 'KORSMEIER_II' 
)
    Invariant cross section for general projectile and target nucleus for different XS parametrization
    as function of LAB frame kinetic variables
    
    \param double Tn_proj_LAB      Kinetic energy per nucleus of the prjectile (in the LAB frame)
    \param doulbe T_pbar_LAB       Kinetic energy of the antiproton (in the LAB frame)
    \param doulbe eta_LAB          Pseudo rapidity of the antiproton (in the LAB frame)
    \param int    A_projectile     Mass number of the projectile
    \param int    N_projectile     Number of neutrons in the projectile
    \param int    A_target         Mass number of the target
    \param int    N_target         Number of neutrons in the target
    \param string parametrization  Cross section parametrization [KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
    
    \return double XS              Cross section in mbarn/GeV^2
def XS_tools.inv_pp_pbar_CM__diMauro_p (   s,
  E_pbar,
  pT_pbar,
  C_array 
)
    Parametrization of the invariant antiproton production (pbar) crosssection from pp in CMF
    
    Taken from:     di Mauro, et al.; 2014;
    A new evaluation of the antiproton production cross section for cosmic ray studies;
    DOI: 10.1103/PhysRevD.90.085017
    
    All cross sections are given in mbarn
    All enegies, momenta, and masses have unit GeV.
    
    \f[  E_{\bar{p}} \frac{ d^3 \sigma_{pp}^{(\bar{p})} }{d^3 p_{\bar{p}} }  (s, E_{\bar{p}}, p_{T,\bar{p}})  \f]
    
    \param double s         CM energy.
    \param doulbe E_pbar    Energy of the produced antiproton in CMF
    \param doulbe pT_pbar   Transverse momentum of the produced antiproton in CMF.
    \param doulbe* C_array  Ci=(1,...,11), parameters. C1=C_array[1], C2=C_array[2], ... (C_array[0] is not used)
    
    \return double XS       Cross section in mbarn/GeV^2
def XS_tools.inv_pp_pbar_CM__Winkler_p (   s,
  E_pbar,
  pT_pbar,
  C_array 
)
    Parametrization of the invariant antiproton production (pbar) crosssection from pp in CMF
    
    Taken from:     Winkler, M. W.; 2017;
    Cosmic Ray Antiprotons at High Energies;
    arXiv:1701.04866
    
    All cross sections are given in mbarn
    All enegies, momenta, and masses have unit GeV.
    
    \f[  E_{\bar{p}} \frac{ d^3 \sigma_{pp}^{(\bar{p})} }{d^3 p_{\bar{p}} }  (s, E_{\bar{p}}, p_{T,\bar{p}})  \f]
    
    \param double s         CM energy.
    \param doulbe E_pbar    Energy of the produced antiproton in CMF
    \param doulbe pT_pbar   Transverse momentum of the produced antiproton in CMF.
    \param doulbe C_array   Ci=(1,...,16), parameters. C1=C_array[1], C2=C_array[2], ... (C_array[0] is not used)
    
    \return double XS       Cross section in mbarn/GeV^2