Belle II Software  release-06-01-15
PhotosMEforW Class Reference

Static Public Member Functions

static void PHOBWnlo (double *WT)
 

Static Private Member Functions

static double WDecayEikonalSqrKS_1ph (double p3[4], double p1[4], double p2[4], double k[4])
 
static double WDecayBornAmpSqrKS_1ph (double p3[4], double p1[4], double p2[4])
 
static double WDecayAmplitudeSqrKS_1ph (double p3[4], double p1[4], double p2[4], double k[4])
 
static double SANC_WT (double PW[4], double PNE[4], double PMU[4], double PPHOT[4], double B_PW[4], double B_PNE[4], double B_PMU[4])
 
static void SANC_INIT1 (double QB0, double QF20, double MF10, double MF20, double MB0)
 
static void SANC_INIT (double ALPHA, int PHLUN)
 
static complex< double > InProd_zero (double p1[4], int l1, double p2[4], int l2)
 
static double InSqrt (double p[4], double q[4])
 
static complex< double > InProd_mass (double p1[4], double m1, int l1, double p2[4], double m2, int l2)
 
static complex< double > BsFactor (int s, double k[4], double p[4], double m)
 
static complex< double > WDecayEikonalKS_1ph (double p3[4], double p1[4], double p2[4], double k[4], int s)
 
static complex< double > SoftFactor (int s, double k[4], double p1[4], double m1, double p2[4], double m2, double Gmass2)
 
static complex< double > TrMatrix_zero (double p1[4], double m1, int l1, double k[4], int s, double p2[4], double m2, int l2)
 
static complex< double > TrMatrix_mass (double p1[4], double m1, int l1, double k[4], double m, int s, double p2[4], double m2, int l2)
 
static complex< double > WDecayBornAmpKS_1ph (double p3[4], int l3, double p1[4], int l1, double p2[4], int l2)
 
static complex< double > WDecayAmplitudeKS_1ph (double p3[4], int l3, double p1[4], int l1, double p2[4], int l2, double k[4], int s)
 

Static Private Attributes

static double spV [4]
 
static double bet [4]
 
static double pi
 
static double sw
 
static double cw
 
static double alphaI
 
static double qb
 
static double mb
 
static double mf1
 
static double mf2
 
static double qf1
 
static double qf2
 
static double vf
 
static double af
 
static double mcLUN
 

Detailed Description

Definition at line 8 of file forW-MEc.h.

Member Function Documentation

◆ PHOBWnlo()

void PHOBWnlo ( double *  WT)
static

write(*,*) 'IDPHOs=',IDPHO(1),IDPHO(2),IDPHO(3),IDPHO(4),IDPHO(5) write(*,*) 'IDPHOs=',pho.jdahep[1-i][1-i],npho write(*,*) 'hep.IDPHOs=',hep.IDhep(1),hep.IDhep(2),hep.IDhep(3),hep.IDhep(4),hep.IDhep(5)

position of W

Definition at line 918 of file forW-MEc.cc.

919  {
920  // FILE *PHLUN = stdout; // printouts from matrix element calculations
921  // directed with phlun still
922  int phlun = 6;
923  double EMU, MCHREN, BETA, COSTHG, MPASQR, XPH;
924  double PW[4], PMU[4], PPHOT[4], PNE[4];
925  double B_PW[4], B_PNE[4], B_PMU[4]; //,AMPSQR;
926  static int i = 1;
927  int I, IJ, I3, I4, JJ;
928  double MB, MF1, MF2, QB, QF2;
929  // double pi,sw,cw,alphaI,qb,mb,mf1,mf2,qf1,qf2,vf,af;
930 
931 
935 
936  //--
937  if (abs(pho.idhep[1 - i]) == 24 &&
938  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i ]) >= 11 &&
939  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i ]) <= 16 &&
940  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i + 1]) >= 11 &&
941  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i + 1]) <= 16) {
942 
943  if (
944  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i ]) == 11 ||
945  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i ]) == 13 ||
946  abs(pho.idhep[pho.jdahep[1 - i][1 - i] - i ]) == 15) {
947  I = pho.jdahep[1 - i][1 - i];
948  } else {
949  I = pho.jdahep[1 - i][1 - i] + 1;
950  }
951  //.. muon energy
952  EMU = pho.phep[I - i][4 - i];
953  //.. muon mass square
954  MCHREN = fabs(pho.phep[I - i][4 - i] * pho.phep[I - i][4 - i] - pho.phep[I - i][3 - i] * pho.phep[I - i][3 - i]
955  - pho.phep[I - i][2 - i] * pho.phep[I - i][2 - i] - pho.phep[I - i][1 - i] * pho.phep[I - i][1 - i]);
956  BETA = sqrt(1 - MCHREN / pho.phep[I - i][4 - i] * pho.phep[I - i][4 - i]);
957  COSTHG = ((pho.phep[I - i][3 - i] * pho.phep[pho.nhep - i][3 - i] + pho.phep[I - i][2 - i] * pho.phep[pho.nhep - i][2 - i]
958  + pho.phep[I - i][1 - i] * pho.phep[pho.nhep - i][1 - i]) /
959  sqrt(pho.phep[I - i][3 - i] * pho.phep[I - i][3 - i] + pho.phep[I - i][2 - i] * pho.phep[I - i][2 - i] + pho.phep[I - i][1 - i] *
960  pho.phep[I - i][1 - i]) /
961  sqrt(pho.phep[pho.nhep - i][3 - i] * pho.phep[pho.nhep - i][3 - i] + pho.phep[pho.nhep - i][2 - i] * pho.phep[pho.nhep - i][2 - i] +
962  pho.phep[pho.nhep - i][1 - i] * pho.phep[pho.nhep - i][1 - i]));
963  MPASQR = pho.phep[1 - i][4 - i] * pho.phep[1 - i][4 - i];
964  XPH = pho.phep[pho.nhep - i][4 - i];
965 
966  //... Initialization of the W->l\nu\gamma
967  //... decay Matrix Element parameters
968  SANC_INIT(phocop.alpha, phlun);
969 
970 
971  MB = pho.phep[1 - i][4 - i]; // ! W boson mass
972  MF2 = sqrt(MCHREN); // ! muon mass
973  I3 = -1;
974  for (IJ = 1; IJ <= hep.nhep; IJ++) {
975  if (abs(hep.idhep[IJ - i]) == 24) { I3 = IJ;}
976  }
977  if (I3 == -1) {cout << " ERROR IN PHOBWnlo of PHOTS W-ME: I3= &2i" << I3 << endl;}
978  if (
979  abs(hep.idhep[hep.jdahep[I3 - i][1 - i] - i ]) == 11 ||
980  abs(hep.idhep[hep.jdahep[I3 - i][1 - i] - i ]) == 13 ||
981  abs(hep.idhep[hep.jdahep[I3 - i][1 - i] - i ]) == 15) {
982  I4 = hep.jdahep[I3 - i][1 - i];
983  } // ! position of lepton
984  else {
985  I4 = hep.jdahep[I3 - i][1 - i] + 1 ; // ! position of lepton
986  }
987 
988  if (hep.idhep[I3 - i] == -24) QB = -1.0; // ! W boson charge
989  if (hep.idhep[I3 - i] == +24) QB = +1.0; //
990  if (hep.idhep[I4 - i] > 0.0) QF2 = -1.0; // ! lepton charge
991  if (hep.idhep[I4 - i] < 0.0) QF2 = +1.0;
992 
993 
994  //... Particle momenta before foton radiation; effective Born level
995  for (JJ = 1; JJ <= 4; JJ++) {
996  B_PW [(JJ % 4)] = hep.phep[I3 - i][JJ - i]; // ! W boson
997  B_PNE[(JJ % 4)] = hep.phep[I3 - i][JJ - i] - hep.phep[I4 - i][JJ - i]; // ! neutrino
998  B_PMU[(JJ % 4)] = hep.phep[I4 - i][JJ - i]; // ! muon
999  }
1000 
1001  //.. Particle monenta after photon radiation
1002  for (JJ = 1; JJ <= 4; JJ++) {
1003  PW [(JJ % 4)] = pho.phep[1 - i][JJ - i];
1004  PMU [(JJ % 4)] = pho.phep[I - i][JJ - i];
1005  PPHOT[(JJ % 4)] = pho.phep[pho.nhep - i][JJ - i];
1006  PNE [(JJ % 4)] = pho.phep[1 - i][JJ - i] - pho.phep[I - i][JJ - i] - pho.phep[pho.nhep - i][JJ - i];
1007  }
1008 
1009  // two options of calculating neutrino (spectator) mass
1010  MF1 = sqrt(fabs(B_PNE[0] * B_PNE[0] * -B_PNE[1] * B_PNE[1] - B_PNE[2] * B_PNE[2] - B_PNE[3] * B_PNE[3]));
1011  MF1 = sqrt(fabs(PNE[0] * PNE[0] - PNE[1] * PNE[1] - PNE[2] * PNE[2] - PNE[3] * PNE[3]));
1012 
1013  SANC_INIT1(QB, QF2, MF1, MF2, MB);
1014  *WT = (*WT) * SANC_WT(PW, PNE, PMU, PPHOT, B_PW, B_PNE, B_PMU);
1015  }
1016  // write(*,*) 'AMPSQR/EIKONALFACTOR= ', AMPSQR/EIKONALFACTOR
1017  }

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