Belle II Software  release-05-02-19
PhotosMEforZ Class Reference

Static Public Member Functions

static double phwtnlo ()
 
static void set_VakPol (double(*fun)(double[4], double[4], double[4], double[4], double[4], int, int))
 

Static Private Member Functions

static void GIVIZO (int idferm, int ihelic, double *sizo3, double *charge, int *kolor)
 
static double PHBORNM (double svar, double costhe, double T3e, double qe, double T3f, double qf, int Ncf)
 
static double AFBCALC (double SVAR, int IDEE, int IDFF)
 
static int GETIDEE (int IDE)
 
static double PHASYZ (double SVAR, int IDE, int IDF)
 
static double Zphwtnlo (double svar, double xk, int IDHEP3, int IREP, double qp[4], double qm[4], double ph[4], double pp[4], double pm[4], double COSTHG, double BETA, double th1, int IDE, int IDF)
 
static double VakPol (double qp[4], double qm[4], double ph[4], double pp[4], double pm[4], int IDE, int IDF)
 
static double default_VakPol (double qp[4], double qm[4], double ph[4], double pp[4], double pm[4], int IDE, int IDF)
 

Static Private Attributes

static double(* currentVakPol )(double[4], double[4], double[4], double[4], double[4], int, int)
 

Detailed Description

Definition at line 6 of file forZ-MEc.h.

Member Function Documentation

◆ PHBORNM()

double PHBORNM ( double  svar,
double  costhe,
double  T3e,
double  qe,
double  T3f,
double  qf,
int  NCf 
)
staticprivate
                                                                  //

This routine provides unsophisticated Born differential cross section // at the crude x-section level, with Z and gamma s-chanel exchange. //

Definition at line 62 of file forZ-MEc.cc.

63  {
64 
65  double s, Sw2, MZ, MZ2, GammZ, AlfInv, GFermi; // t,MW,MW2,
66  double Ve, Ae, thresh; // sum,deno,
67  double xe, yf, xf, ye, ff0, ff1, amx2, amfin, Vf, Af;
68  double ReChiZ, SqChiZ, RaZ; //,RaW,ReChiW,SqChiW;
69  double Born; //, BornS;
70  // int KeyZet,HadMin,KFbeam;
71  // int i,ke,KFfin,kf,IsGenerated,iKF;
72  int KeyWidFix;
73 
74  AlfInv = 137.0359895;
75  GFermi = 1.16639e-5;
76 
77  //--------------------------------------------------------------------
78  s = svar;
79  //------------------------------
80  // EW paratemetrs taken from BornV
81  MZ = 91.187;
82  GammZ = 2.50072032;
83  Sw2 = .22276773;
84  //------------------------------
85  // Z and gamma couplings to beams (electrons)
86  // Z and gamma couplings to final fermions
87  // Loop over all flavours defined in m_xpar(400+i)
88 
89 
90  //------ incoming fermion
91  Ve = 2 * T3e - 4 * qe * Sw2;
92  Ae = 2 * T3e;
93  //------ final fermion couplings
94  amfin = 0.000511; // m_xpar(kf+6)
95  Vf = 2 * T3f - 4 * qf * Sw2;
96  Af = 2 * T3f;
97  if (fabs(costhe) > 1.0) {
98  cout << "+++++STOP in PHBORN: costhe>0 =" << costhe << endl;
99  exit(-1);
100  }
101  MZ2 = MZ * MZ;
102  RaZ = (GFermi * MZ2 * AlfInv) / (sqrt(2.0) * 8.0 * PI); //
103  RaZ = 1 / (16.0 * Sw2 * (1.0 - Sw2));
104  KeyWidFix = 1; // fixed width
105  KeyWidFix = 0; // variable width
106  if (KeyWidFix == 0) {
107  ReChiZ = (s - MZ2) * s / ((s - MZ2) * (s - MZ2) + (GammZ * s / MZ) * (GammZ * s / MZ)) * RaZ; // variable width
108  SqChiZ = s * s / ((s - MZ2) * (s - MZ2) + (GammZ * s / MZ) * (GammZ * s / MZ)) * RaZ * RaZ; // variable width
109  } else {
110  ReChiZ = (s - MZ2) * s / ((s - MZ2) * (s - MZ2) + (GammZ * MZ) * (GammZ * MZ)) * RaZ; // fixed width
111  SqChiZ = s * s / ((s - MZ2) * (s - MZ2) + (GammZ * MZ) * (GammZ * MZ)) * RaZ * RaZ; // fixed width
112  }
113  xe = Ve * Ve + Ae * Ae;
114  xf = Vf * Vf + Af * Af;
115  ye = 2 * Ve * Ae;
116  yf = 2 * Vf * Af;
117  ff0 = qe * qe * qf * qf + 2 * ReChiZ * qe * qf * Ve * Vf + SqChiZ * xe * xf;
118  ff1 = +2 * ReChiZ * qe * qf * Ae * Af + SqChiZ * ye * yf;
119  Born = (1.0 + costhe * costhe) * ff0 + 2.0 * costhe * ff1;
120  // Colour factor
121  Born = NCf * Born;
122  // Crude method of correcting threshold, cos(theta) depencence incorrect!!!
123  if (svar < 4.0 * amfin * amfin) {
124  thresh = 0.0;
125  } else if (svar < 16.0 * amfin * amfin) {
126  amx2 = 4.0 * amfin * amfin / svar;
127  thresh = sqrt(1.0 - amx2) * (1.0 + amx2 / 2.0);
128  } else {
129  thresh = 1.0;
130  }
131 
132  Born = Born * thresh;
133  return Born;
134  }

◆ Zphwtnlo()

double Zphwtnlo ( double  svar,
double  xk,
int  IDHEP3,
int  IREP,
double  qp[4],
double  qm[4],
double  ph[4],
double  pp[4],
double  pm[4],
double  COSTHG,
double  BETA,
double  th1,
int  IDE,
int  IDF 
)
staticprivate

waga=waga*wagan2 waga=waga*(1-delta) /wt2 ! sprawdzone ze to jest =2/(1.D0+COSTHG*BETA)

% * svar/4./xkap*(1.D0-COSTHG*BETA)*sqrt(1.0-xk)

fprintf(PHLUN,"%f %f %f %f %f") 'pneutr= ',phomom.pneutr[0],phomom.pneutr[1],phomom.pneutr[2],phomom.pneutr[3],phomom.pneutr[4];

Definition at line 243 of file forZ-MEc.cc.


The documentation for this class was generated from the following files: