FairRoot/PandaRoot
|
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <cmath>
#include "ranlxs.h"
#include "ranlxd.h"
#include "mzparameters.h"
#include "mzfunctions.h"
#include "mzfunctions_pp_to_leplep_vandewi.h"
Go to the source code of this file.
Functions | |
void | ranlxs (float r[], int n) |
void | ranlxd (double r[], int n) |
void | rlxs_init (int level, int seed) |
void | rlxd_init (int level, int seed) |
void | mz_pp_to_leplep_vandewi_init (int seed, int particle_flag, double P, double GE_to_GM, double cos_theta_min, double cos_theta_max) |
double | mz_pp_to_leplep_vandewi_sigma (int particle_flag, double P, double GE, double GM, double cos_theta) |
double | mz_pp_to_leplep_vandewi_sigma_nonorm (int particle_flag, double P, double GE_to_GM, double cos_theta) |
void | mz_pp_to_leplep_vandewi_event (int particle_flag, double P, double GE_to_GM, double cos_theta_min, double cos_theta_max, double *lepplus_p, double *lepminus_p) |
void mz_pp_to_leplep_vandewi_event | ( | int | particle_flag, |
double | P, | ||
double | GE_to_GM, | ||
double | cos_theta_min, | ||
double | cos_theta_max, | ||
double * | lepplus_p, | ||
double * | lepminus_p | ||
) |
function mz_pp_to_leplep_vandewi_event
INPUT: particle_flag: 0=electron, 1=muon, 2=tau P: anti-proton momentum (lab frame) [GeV] GE_to_GM: ratio |G_E|/|G_M| cos_theta_min: cos(theta*) minimum; theta*=angle(lep-,pbar) CMS frame cos_theta_max: cos(theta*) maximum
OUTPUT:
lepplus_p: 4-momentum lep+ lab frame lepminus_p: 4-momentum lep- lab frame
Definition at line 331 of file mzfunctions_pp_to_leplep_vandewi.cxx.
References acos(), cos(), fabs(), i, max(), me, mmu, mp, mtau, mz_pp_to_leplep_vandewi_sigma_nonorm(), mzboost(), mzrnd(), mzvmod2(), P, phi, PI, R, sin(), theta, x, and y.
Referenced by PndLepLepGenerator::ReadEvent().
void mz_pp_to_leplep_vandewi_init | ( | int | seed, |
int | particle_flag, | ||
double | P, | ||
double | GE_to_GM, | ||
double | cos_theta_min, | ||
double | cos_theta_max | ||
) |
function mz_pp_to_leplep_vandewi_init
INPUT:
seed -> RANLUX seed particle_flag -> 0=electron, 1=muon, 2=tau P -> anti-proton momentum (lab frame) [GeV] GE_to_GM -> ratio |G_E|/|G_M| cos_theta_min -> cos(theta*) minimum; theta*=angle(lep-,pbar) CMS frame cos_theta_max -> cos_theta_max: cos(theta*) maximum
OUTPUT:
without output
DESCRIPTION:
function mz_pp_to_leplep_vandewi_init checks the values of all arguments, killing the job if at least one value lies outside its allowed range. In case of tau production, it determines compatibility with the input antiproton momentum, killing the job if the proton-antiproton center-of-mass energy does not reach the threshold for tau production. Kinematic information is printed out to the log file. RANLUX is initialised.
Definition at line 30 of file mzfunctions_pp_to_leplep_vandewi.cxx.
References exit(), mp, mtau, printf(), and rlxd_init().
Referenced by PndLepLepGenerator::Init().
double mz_pp_to_leplep_vandewi_sigma | ( | int | particle_flag, |
double | P, | ||
double | GE, | ||
double | GM, | ||
double | cos_theta | ||
) |
function mz_pp_to_leplep_vandewi_sigma
INPUT: particle_flag: 0=electron, 1=muon, 2=tau P: anti-proton momentum (lab frame) [GeV] GE: |G_E| GM: |G_M| cos_theta: cos(theta*), theta*=angle(lep-,pbar) CMS frame
RETURNS:
value of the cross section d / d cos(theta*) [fb] for antiproton momentum P, electric and magnetic form factors GE_to_GM at the point cos_theta
Definition at line 183 of file mzfunctions_pp_to_leplep_vandewi.cxx.
References acos(), alpha_QED, hc2, me, mmu, mp, mtau, PI, and sigma.
double mz_pp_to_leplep_vandewi_sigma_nonorm | ( | int | particle_flag, |
double | P, | ||
double | GE_to_GM, | ||
double | cos_theta | ||
) |
function mz_pp_to_leplep_vandewi_sigma_nonorm
INPUT: particle_flag: 0=electron, 1=muon, 2=tau P: anti-proton momentum (lab frame) [GeV] GE_to_GM: ratio |G_E|/|G_M| cos_theta: cos(theta*), theta*=angle(lep-,pbar) CMS frame
RETURNS:
value of the non-normalized cross section d / d cos(theta*) for antiproton momentum P and and ratio GE_to_GM at the point cos_theta
the non-normalized cross section is
d sigma / d cos(theta*) ~ 1 + A*cos(theta*), with
A = beta_l^2[1-R^2/tau] / ( 2-beta_l^2 + R^2/tau ), where
beta_l = sqrt{1-4m^2/s} m: lepton mass tau = q^2/(4M^2) M: proton mass
Definition at line 263 of file mzfunctions_pp_to_leplep_vandewi.cxx.
References me, mmu, mp, mtau, R, and sigma.
Referenced by mz_pp_to_leplep_vandewi_event().
void ranlxd | ( | double | r[], |
int | n | ||
) |
Definition at line 571 of file ranlxd.cxx.
void ranlxs | ( | float | r[], |
int | n | ||
) |
void rlxd_init | ( | int | level, |
int | seed | ||
) |
Definition at line 501 of file ranlxd.cxx.
Referenced by mz_pp_to_leplep_vandewi_init().
void rlxs_init | ( | int | level, |
int | seed | ||
) |
Definition at line 495 of file ranlxs.cxx.