| File: | generators/evtgen/models/besiii/src/EvtDToKSpipi0pi0.cc |
| Warning: | line 456, column 9 Value stored to 'temp_PDF' is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
| 1 | // Model: EvtDToKSpipi0pi0 |
| 2 | // This file is an amplitude model for D+ -> K_S0 pi- pi0 pi0. |
| 3 | // The model is from the BESIII Collaboration in JHEP09 (2023) 077. DOI: https://doi.org/10.1007/JHEP09(2023)077 |
| 4 | // |
| 5 | // Permission to include these files in basf2 was generously granted by the BESIII Collaboration. |
| 6 | // |
| 7 | // Please cite the original reference for any public/published results where this model was used. |
| 8 | |
| 9 | #include <EvtGenBase/EvtPatches.hh> |
| 10 | #include <EvtGenBase/EvtParticle.hh> |
| 11 | #include <EvtGenBase/EvtGenKine.hh> |
| 12 | #include <EvtGenBase/EvtPDL.hh> |
| 13 | #include <EvtGenBase/EvtReport.hh> |
| 14 | #include <EvtGenBase/EvtComplex.hh> |
| 15 | #include <EvtGenBase/EvtDecayTable.hh> |
| 16 | #include <stdlib.h> |
| 17 | #include <stdio.h> |
| 18 | #include <iostream> |
| 19 | #include <cmath> |
| 20 | |
| 21 | #include <generators/evtgen/EvtGenModelRegister.h> |
| 22 | #include <generators/evtgen/models/besiii/EvtDToKSpipi0pi0.h> |
| 23 | |
| 24 | using namespace std; |
| 25 | |
| 26 | namespace Belle2 { |
| 27 | |
| 28 | /** register the model in EvtGen */ |
| 29 | B2_EVTGEN_REGISTER_MODEL(EvtDToKSpipi0pi0)namespace { Belle2::EvtGenModelRegister::Factory<EvtDToKSpipi0pi0 > EvtGenModelFactory_EvtDToKSpipi0pi0; }; |
| 30 | |
| 31 | EvtDToKSpipi0pi0::~EvtDToKSpipi0pi0() {} |
| 32 | |
| 33 | std::string EvtDToKSpipi0pi0::getName() |
| 34 | { |
| 35 | return "DToKSpipi0pi0"; |
| 36 | } |
| 37 | |
| 38 | EvtDecayBase* EvtDToKSpipi0pi0::clone() |
| 39 | { |
| 40 | return new EvtDToKSpipi0pi0; |
| 41 | } |
| 42 | |
| 43 | void EvtDToKSpipi0pi0::init() |
| 44 | { |
| 45 | |
| 46 | checkNArg(0); |
| 47 | checkNDaug(4); |
| 48 | checkSpinParent(EvtSpinType::SCALAR); |
| 49 | |
| 50 | mK1270 = 1.272; mK1400 = 1.403; |
| 51 | GK1270 = 0.09; GK1400 = 0.174; |
| 52 | mKstr0 = 0.89555; mrho = 0.77511; |
| 53 | GKstr0 = 0.0473; Grho = 0.1485; |
| 54 | msigma = 0.526; ma1 = 1.230; |
| 55 | Gsigma = 0.535; Ga1 = 0.420; |
| 56 | mD = 1.86965; |
| 57 | math_pi = 3.1415926; |
| 58 | |
| 59 | rho[0] = 3.0177e+00;//5 |
| 60 | phi[0] = 7.5497e-01; |
| 61 | |
| 62 | rho[1] = 1;//a1(1260) |
| 63 | phi[1] = 0; |
| 64 | |
| 65 | rho[2] = 2.3527e-01;//7S_1400 |
| 66 | phi[2] = -2.9985e+00; |
| 67 | |
| 68 | rho[3] = 5.5731e-01;//7D_1400 |
| 69 | phi[3] = 4.2940e+00; |
| 70 | |
| 71 | rho[4] = 9.0803e-01;//11_sigma |
| 72 | phi[4] = 4.7731e+00; |
| 73 | |
| 74 | rho[5] = 2.5345e-01;//23S |
| 75 | phi[5] = -3.3205e+00; |
| 76 | |
| 77 | rho[6] = 6.0504e-02;//23P |
| 78 | phi[6] = -1.6803e+00; |
| 79 | |
| 80 | rho[7] = 7.6978e-01;//25S |
| 81 | phi[7] = -5.5937e+00; |
| 82 | |
| 83 | modetype[0] = 403; |
| 84 | modetype[1] = 100; |
| 85 | modetype[2] = 200; |
| 86 | modetype[3] = 200; |
| 87 | modetype[4] = 204; |
| 88 | modetype[5] = 2; |
| 89 | modetype[6] = 2; |
| 90 | modetype[7] = 2; |
| 91 | |
| 92 | int GG[4][4] = { {1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1} }; |
| 93 | int EE[4][4][4][4] = { |
| 94 | { {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, |
| 95 | {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 1}, {0, 0, -1, 0}}, |
| 96 | {{0, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, 0, 0}, {0, 1, 0, 0} }, |
| 97 | {{0, 0, 0, 0}, {0, 0, 1, 0}, {0, -1, 0, 0}, {0, 0, 0, 0} } |
| 98 | }, |
| 99 | { {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, 1, 0} }, |
| 100 | {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, |
| 101 | {{0, 0, 0, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, 0, 0, 0}}, |
| 102 | {{0, 0, -1, 0}, {0, 0, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} } |
| 103 | }, |
| 104 | { {{0, 0, 0, 0}, {0, 0, 0, 1}, {0, 0, 0, 0}, {0, -1, 0, 0}}, |
| 105 | {{0, 0, 0, -1}, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 0, 0, 0} }, |
| 106 | {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, |
| 107 | {{0, 1, 0, 0}, {-1, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} } |
| 108 | }, |
| 109 | { {{0, 0, 0, 0}, {0, 0, -1, 0}, {0, 1, 0, 0}, {0, 0, 0, 0} }, |
| 110 | {{0, 0, 1, 0}, {0, 0, 0, 0}, {-1, 0, 0, 0}, {0, 0, 0, 0} }, |
| 111 | {{0, -1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, |
| 112 | {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} } |
| 113 | } |
| 114 | }; |
| 115 | for (int i = 0; i < 4; i++) { |
| 116 | for (int j = 0; j < 4; j++) { |
| 117 | G[i][j] = GG[i][j]; |
| 118 | for (int k = 0; k < 4; k++) { |
| 119 | for (int l = 0; l < 4; l++) { |
| 120 | E[i][j][k][l] = EE[i][j][k][l]; |
| 121 | } |
| 122 | } |
| 123 | } |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | void EvtDToKSpipi0pi0::initProbMax() |
| 128 | { |
| 129 | setProbMax(2325.0); |
| 130 | } |
| 131 | |
| 132 | void EvtDToKSpipi0pi0::decay(EvtParticle* p) |
| 133 | { |
| 134 | //-----------for max value------------------ |
| 135 | /* double maxprob = 0.0; |
| 136 | for(int ir=0;ir<=60000000;ir++){ |
| 137 | p->initializePhaseSpace(getNDaug(),getDaugs()); |
| 138 | EvtVector4R Ks0 = p->getDaug(0)->getP4(); |
| 139 | EvtVector4R pi1 = p->getDaug(1)->getP4(); |
| 140 | EvtVector4R pi2 = p->getDaug(2)->getP4(); |
| 141 | EvtVector4R pi3 = p->getDaug(3)->getP4(); |
| 142 | double value; |
| 143 | double Ks[4],Pip[4],Pi01[4],Pi02[4]; |
| 144 | mother_c=EvtPDL::getStdHep(p->getId()); |
| 145 | if(mother_c==411){ |
| 146 | Ks[0] = Ks0.get(0); Pip[0] = pi1.get(0); Pi01[0] = pi2.get(0); Pi02[0] = pi3.get(0); |
| 147 | Ks[1] = Ks0.get(1); Pip[1] = pi1.get(1); Pi01[1] = pi2.get(1); Pi02[1] = pi3.get(1); |
| 148 | Ks[2] = Ks0.get(2); Pip[2] = pi1.get(2); Pi01[2] = pi2.get(2); Pi02[2] = pi3.get(2); |
| 149 | Ks[3] = Ks0.get(3); Pip[3] = pi1.get(3); Pi01[3] = pi2.get(3); Pi02[3] = pi3.get(3); |
| 150 | }else if(mother_c==-411){ |
| 151 | Ks[0] = Ks0.get(0); Pip[0] = pi1.get(0); Pi01[0] = pi2.get(0); Pi02[0] = pi3.get(0); |
| 152 | Ks[1] = -1.0*Ks0.get(1); Pip[1] = -1.0*pi1.get(1); Pi01[1] = -1.0*pi2.get(1); Pi02[1] = -1.0*pi3.get(1); |
| 153 | Ks[2] = -1.0*Ks0.get(2); Pip[2] = -1.0*pi1.get(2); Pi01[2] = -1.0*pi2.get(2); Pi02[2] = -1.0*pi3.get(2); |
| 154 | Ks[3] = -1.0*Ks0.get(3); Pip[3] = -1.0*pi1.get(3); Pi01[3] = -1.0*pi2.get(3); Pi02[3] = -1.0*pi3.get(3);} |
| 155 | calPDF(Ks, Pip, Pi01, Pi02, value); |
| 156 | if(value>maxprob) { |
| 157 | maxprob=value; |
| 158 | } |
| 159 | } |
| 160 | return;*/ |
| 161 | //----------------------------------------------- |
| 162 | p->initializePhaseSpace(getNDaug(), getDaugs()); |
| 163 | EvtVector4R Ks0 = p->getDaug(0)->getP4(); |
| 164 | EvtVector4R pip = p->getDaug(1)->getP4(); |
| 165 | EvtVector4R pi01 = p->getDaug(2)->getP4(); |
| 166 | EvtVector4R pi02 = p->getDaug(3)->getP4(); |
| 167 | |
| 168 | mother_c = EvtPDL::getStdHep(p->getId()); |
| 169 | double Ks[4], Pip[4], Pi01[4], Pi02[4]; |
| 170 | if (mother_c == 411) { |
| 171 | Ks[0] = Ks0.get(0); Pip[0] = pip.get(0); Pi01[0] = pi01.get(0); Pi02[0] = pi02.get(0); |
| 172 | Ks[1] = Ks0.get(1); Pip[1] = pip.get(1); Pi01[1] = pi01.get(1); Pi02[1] = pi02.get(1); |
| 173 | Ks[2] = Ks0.get(2); Pip[2] = pip.get(2); Pi01[2] = pi01.get(2); Pi02[2] = pi02.get(2); |
| 174 | Ks[3] = Ks0.get(3); Pip[3] = pip.get(3); Pi01[3] = pi01.get(3); Pi02[3] = pi02.get(3); |
| 175 | } else if (mother_c == -411) { |
| 176 | Ks[0] = Ks0.get(0); Pip[0] = pip.get(0); Pi01[0] = pi01.get(0); Pi02[0] = pi02.get(0); |
| 177 | Ks[1] = -1.0 * Ks0.get(1); Pip[1] = -1.0 * pip.get(1); Pi01[1] = -1.0 * pi01.get(1); Pi02[1] = -1.0 * pi02.get(1); |
| 178 | Ks[2] = -1.0 * Ks0.get(2); Pip[2] = -1.0 * pip.get(2); Pi01[2] = -1.0 * pi01.get(2); Pi02[2] = -1.0 * pi02.get(2); |
| 179 | Ks[3] = -1.0 * Ks0.get(3); Pip[3] = -1.0 * pip.get(3); Pi01[3] = -1.0 * pi01.get(3); Pi02[3] = -1.0 * pi02.get(3); |
| 180 | } |
| 181 | |
| 182 | //Ks[0] = 0.656878382777544; Pip[0] = 0.465468253141211; Pi01[0] = 0.364737466814715; Pi02[0] = 0.399546086976042; |
| 183 | //Ks[1] = -0.426050514556759; Pip[1] = 0.440786345532845; Pi01[1] = -0.195437195063332; Pi02[1] = 0.352799494203111; |
| 184 | //Ks[2] = -0.015331547333183; Pip[2] = -0.003143271463748; Pi01[2] = 0.195716648451034; Pi02[2] = -0.106603408016079; |
| 185 | //Ks[3] = -0.046026135420350; Pip[3] = -0.053650975933667; Pi01[3] = 0.195739708428659; Pi02[3] = 0.074743717862502; |
| 186 | |
| 187 | double value; |
| 188 | calPDF(Ks, Pip, Pi01, Pi02, value); |
| 189 | setProb(value); |
| 190 | return; |
| 191 | } |
| 192 | |
| 193 | double EvtDToKSpipi0pi0::calPDF(const double Ks[], const double Pip[], const double Pi01[], const double Pi02[], double& Result) |
| 194 | { |
| 195 | double cof[2], amp_tmp1[2], amp_tmp2[2], amp_tmp[2], amp_PDF[2], PDF[2]; |
| 196 | double flag[3], mass_R[2], width_R[2]; |
| 197 | double sa[3], sb[3], sc[3], B[3] = {}; |
| 198 | double t1D[4], t1V[4], t1A[4]; |
| 199 | double pS[4], pV[4], pD[4], pA[4]; |
| 200 | double pro1[2], pro2[2], proKPi_S[2], pro[2]; |
| 201 | |
| 202 | double rD2 = 25.0; |
| 203 | double rRes2 = 9.0; |
| 204 | double mass1[8] = {mrho, mrho, mKstr0, mKstr0, msigma, mKstr0, mKstr0, mKstr0 }; |
| 205 | double mass2[8] = {mrho, ma1, mK1400, mK1400, ma1, mrho, mrho, mrho }; |
| 206 | double width1[8] = {Grho, Grho, GKstr0, GKstr0, Gsigma, GKstr0, GKstr0, GKstr0 }; |
| 207 | double width2[8] = {Grho, Ga1, GK1400, GK1400, Ga1, Grho, Grho, Grho }; |
| 208 | double g0[8] = { 0, 1, 1, 1, 1, 1, 1, 1 }; |
| 209 | double g1[8] = { 0, 1, 1, 1, 1, 1, 1, 0 }; |
| 210 | double g2[8] = { 0, 0, 0, 2, 1, 0, 1, 0 }; |
| 211 | double temp_PDF = 0; |
| 212 | PDF[0] = 0; |
| 213 | PDF[1] = 0; |
| 214 | |
| 215 | for (int i = 0; i < 8; i++) { //0719 i=0, 7 |
| 216 | flag[0] = g0[i]; flag[1] = g1[i]; flag[2] = g2[i]; |
| 217 | mass_R[0] = mass1[i]; mass_R[1] = mass2[i]; |
| 218 | width_R[0] = width1[i]; width_R[1] = width2[i]; |
| 219 | |
| 220 | amp_tmp[0] = 0; |
| 221 | amp_tmp[1] = 0; |
| 222 | amp_tmp1[0] = 0; |
| 223 | amp_tmp1[1] = 0; |
| 224 | amp_tmp2[0] = 0; |
| 225 | amp_tmp2[1] = 0; |
| 226 | |
| 227 | cof[0] = rho[i] * cos(phi[i]); |
| 228 | cof[1] = rho[i] * sin(phi[i]); |
| 229 | |
| 230 | if (modetype[i] == 100) { //D->Ks (rho+ pi0 ),D->Ks a1(1260)+ |
| 231 | |
| 232 | temp_PDF = 0; |
| 233 | double t2A[4][4]; |
| 234 | |
| 235 | for (int ii = 0; ii != 4; ii++) { |
| 236 | pV[ii] = Pip[ii] + Pi02[ii]; |
| 237 | pA[ii] = pV[ii] + Pi01[ii]; |
| 238 | pD[ii] = pA[ii] + Ks[ii]; |
| 239 | } |
| 240 | sa[0] = SCADot(pV, pV); |
| 241 | sb[0] = SCADot(Pip, Pip); |
| 242 | sc[0] = SCADot(Pi02, Pi02); |
| 243 | sa[1] = SCADot(pA, pA); |
| 244 | sb[1] = sa[0]; |
| 245 | sc[1] = SCADot(Pi01, Pi01); |
| 246 | sa[2] = SCADot(pD, pD); |
| 247 | sb[2] = sa[1]; |
| 248 | sc[2] = SCADot(Ks, Ks); |
| 249 | if (flag[0] == 1) { |
| 250 | propagatorGS(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, pro1); |
| 251 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 252 | |
| 253 | if (flag[1] == 1) { |
| 254 | propagatorRBW_a1(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, flag[2], pro2); |
| 255 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 256 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 257 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 258 | calt1(Pip, Pi02, t1V); |
| 259 | calt1(pA, Ks, t1D); |
| 260 | if (flag[2] == 0) { |
| 261 | for (int ii = 0; ii != 4; ii++) { |
| 262 | for (int j = 0; j != 4; j++) { |
| 263 | temp_PDF += t1D[ii] * (G[ii][j] - pA[ii] * pA[j] / sa[1]) * t1V[j] * G[ii][ii] * G[j][j]; |
| 264 | } |
| 265 | } |
| 266 | B[1] = 1; |
| 267 | } else if (flag[2] == 2) { |
| 268 | calt2(pV, Pi01, t2A); |
| 269 | for (int ii = 0; ii != 4; ii++) { |
| 270 | for (int j = 0; j != 4; j++) { |
| 271 | temp_PDF += t1D[ii] * t2A[ii][j] * t1V[j] * G[ii][ii] * G[j][j]; |
| 272 | } |
| 273 | } |
| 274 | B[1] = Barrier(mass_R[1] * mass_R[1], 2, sa[1], sb[1], sc[1], rRes2); |
| 275 | } |
| 276 | Com_Multi(pro1, pro2, pro); |
| 277 | amp_tmp1[0] = temp_PDF * B[0] * B[1] * B[2] * pro[0]; |
| 278 | amp_tmp1[1] = temp_PDF * B[0] * B[1] * B[2] * pro[1]; |
| 279 | |
| 280 | |
| 281 | temp_PDF = 0; |
| 282 | for (int ii = 0; ii != 4; ii++) { |
| 283 | pV[ii] = Pip[ii] + Pi01[ii]; |
| 284 | pA[ii] = pV[ii] + Pi02[ii]; |
| 285 | pD[ii] = pA[ii] + Ks[ii]; |
| 286 | } |
| 287 | sa[0] = SCADot(pV, pV); |
| 288 | sb[0] = SCADot(Pip, Pip); |
| 289 | sc[0] = SCADot(Pi01, Pi01); |
| 290 | sa[1] = SCADot(pA, pA); |
| 291 | sb[1] = sa[0]; |
| 292 | sc[1] = SCADot(Pi02, Pi02); |
| 293 | sa[2] = SCADot(pD, pD); |
| 294 | sb[2] = sa[1]; |
| 295 | sc[2] = SCADot(Ks, Ks); |
| 296 | if (flag[0] == 1) { |
| 297 | propagatorGS(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, pro1); |
| 298 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 299 | |
| 300 | if (flag[1] == 1) { |
| 301 | propagatorRBW_a1(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, flag[2], pro2); |
| 302 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 303 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 304 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 305 | calt1(Pip, Pi01, t1V); |
| 306 | calt1(pA, Ks, t1D); |
| 307 | if (flag[2] == 0) { |
| 308 | for (int ii = 0; ii != 4; ii++) { |
| 309 | for (int j = 0; j != 4; j++) { |
| 310 | temp_PDF += t1D[ii] * (G[ii][j] - pA[ii] * pA[j] / sa[1]) * t1V[j] * G[ii][ii] * G[j][j]; |
| 311 | } |
| 312 | } |
| 313 | B[1] = 1; |
| 314 | } else if (flag[2] == 2) { |
| 315 | calt2(pV, Pi02, t2A); |
| 316 | for (int ii = 0; ii != 4; ii++) { |
| 317 | for (int j = 0; j != 4; j++) { |
| 318 | temp_PDF += t1D[ii] * t2A[ii][j] * t1V[j] * G[ii][ii] * G[j][j]; |
| 319 | } |
| 320 | } |
| 321 | B[1] = Barrier(mass_R[1] * mass_R[1], 2, sa[1], sb[1], sc[1], rRes2); |
| 322 | } |
| 323 | Com_Multi(pro1, pro2, pro); |
| 324 | amp_tmp2[0] = temp_PDF * B[0] * B[1] * B[2] * pro[0]; |
| 325 | amp_tmp2[1] = temp_PDF * B[0] * B[1] * B[2] * pro[1]; |
| 326 | } else if (modetype[i] == 200) { //D->(K*0 pi0) pi+ |
| 327 | |
| 328 | temp_PDF = 0; |
| 329 | double t2A[4][4]; |
| 330 | for (int ii = 0; ii != 4; ii++) { |
| 331 | pV[ii] = Ks[ii] + Pi02[ii]; |
| 332 | pA[ii] = pV[ii] + Pi01[ii]; |
| 333 | pD[ii] = pA[ii] + Pip[ii]; |
| 334 | } |
| 335 | sa[0] = SCADot(pV, pV); |
| 336 | sb[0] = SCADot(Ks, Ks); |
| 337 | sc[0] = SCADot(Pi02, Pi02); |
| 338 | sa[1] = SCADot(pA, pA); |
| 339 | sb[1] = sa[0]; |
| 340 | sc[1] = SCADot(Pi01, Pi01); |
| 341 | sa[2] = SCADot(pD, pD); |
| 342 | sb[2] = sa[1]; |
| 343 | sc[2] = SCADot(Pip, Pip); |
| 344 | if (flag[0] == 1) { |
| 345 | propagatorRBW(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, 1, pro1); |
| 346 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 347 | |
| 348 | if (flag[1] == 1) { |
| 349 | propagatorRBW(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, flag[2], pro2); |
| 350 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 351 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 352 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 353 | calt1(Ks, Pi02, t1V); |
| 354 | calt1(pA, Pip, t1D); |
| 355 | if (flag[2] == 0) { |
| 356 | for (int ii = 0; ii != 4; ii++) { |
| 357 | for (int j = 0; j != 4; j++) { |
| 358 | temp_PDF += t1D[ii] * (G[ii][j] - pA[ii] * pA[j] / sa[1]) * t1V[j] * G[ii][ii] * G[j][j]; |
| 359 | } |
| 360 | } |
| 361 | B[1] = 1; |
| 362 | } else if (flag[2] == 2) { |
| 363 | calt2(pV, Pi01, t2A); |
| 364 | for (int ii = 0; ii != 4; ii++) { |
| 365 | for (int j = 0; j != 4; j++) { |
| 366 | temp_PDF += t1D[ii] * t2A[ii][j] * t1V[j] * G[ii][ii] * G[j][j]; |
| 367 | } |
| 368 | } |
| 369 | B[1] = Barrier(mass_R[1] * mass_R[1], 2, sa[1], sb[1], sc[1], rRes2); |
| 370 | } |
| 371 | Com_Multi(pro1, pro2, pro); |
| 372 | amp_tmp1[0] = temp_PDF * B[0] * B[1] * B[2] * pro[0]; |
| 373 | amp_tmp1[1] = temp_PDF * B[0] * B[1] * B[2] * pro[1]; |
| 374 | temp_PDF = 0; |
| 375 | for (int ii = 0; ii != 4; ii++) { |
| 376 | pV[ii] = Ks[ii] + Pi01[ii]; |
| 377 | pA[ii] = pV[ii] + Pi02[ii]; |
| 378 | pD[ii] = pA[ii] + Pip[ii]; |
| 379 | } |
| 380 | sa[0] = SCADot(pV, pV); |
| 381 | sb[0] = SCADot(Ks, Ks); |
| 382 | sc[0] = SCADot(Pi01, Pi01); |
| 383 | sa[1] = SCADot(pA, pA); |
| 384 | sb[1] = sa[0]; |
| 385 | sc[1] = SCADot(Pi02, Pi02); |
| 386 | sa[2] = SCADot(pD, pD); |
| 387 | sb[2] = sa[1]; |
| 388 | sc[2] = SCADot(Pip, Pip); |
| 389 | if (flag[0] == 1) { |
| 390 | propagatorRBW(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, 1, pro1); |
| 391 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 392 | |
| 393 | if (flag[1] == 1) { |
| 394 | propagatorRBW(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, flag[2], pro2); |
| 395 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 396 | |
| 397 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 398 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 399 | calt1(Ks, Pi01, t1V); |
| 400 | calt1(pA, Pip, t1D); |
| 401 | if (flag[2] == 0) { |
| 402 | for (int ii = 0; ii != 4; ii++) { |
| 403 | for (int j = 0; j != 4; j++) { |
| 404 | temp_PDF += t1D[ii] * (G[ii][j] - pA[ii] * pA[j] / sa[1]) * t1V[j] * G[ii][ii] * G[j][j]; |
| 405 | } |
| 406 | } |
| 407 | B[1] = 1; |
| 408 | } else if (flag[2] == 2) { |
| 409 | calt2(pV, Pi02, t2A); |
| 410 | for (int ii = 0; ii != 4; ii++) { |
| 411 | for (int j = 0; j != 4; j++) { |
| 412 | temp_PDF += t1D[ii] * t2A[ii][j] * t1V[j] * G[ii][ii] * G[j][j]; |
| 413 | } |
| 414 | } |
| 415 | B[1] = Barrier(mass_R[1] * mass_R[1], 2, sa[1], sb[1], sc[1], rRes2); |
| 416 | } |
| 417 | |
| 418 | Com_Multi(pro1, pro2, pro); |
| 419 | amp_tmp2[0] = temp_PDF * B[0] * B[1] * B[2] * pro[0]; |
| 420 | amp_tmp2[1] = temp_PDF * B[0] * B[1] * B[2] * pro[1]; |
| 421 | } else if (modetype[i] == 204) { //D->Ks a1(1260)+, a1(1260)+->sigma pi+ |
| 422 | temp_PDF = 0; |
| 423 | |
| 424 | for (int ii = 0; ii != 4; ii++) { |
| 425 | pS[ii] = Pi01[ii] + Pi02[ii]; |
| 426 | pA[ii] = pS[ii] + Pip[ii]; |
| 427 | pD[ii] = pA[ii] + Ks[ii]; |
| 428 | } |
| 429 | sa[0] = SCADot(pS, pS); |
| 430 | sb[0] = SCADot(Pi01, Pi01); |
| 431 | sc[0] = SCADot(Pi02, Pi02); |
| 432 | sa[1] = SCADot(pA, pA); |
| 433 | sb[1] = sa[0]; |
| 434 | sc[1] = SCADot(Pip, Pip); |
| 435 | sa[2] = SCADot(pD, pD); |
| 436 | sb[2] = sa[1]; |
| 437 | sc[2] = SCADot(Ks, Ks); |
| 438 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 439 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 440 | calt1(pA, Ks, t1D); |
| 441 | calt1(pS, Pip, t1A); |
| 442 | for (int ii = 0; ii != 4; ii++) { |
| 443 | temp_PDF += t1D[ii] * t1A[ii] * (G[ii][ii]); |
| 444 | } |
| 445 | if (flag[0] == 1) { //sigma500 |
| 446 | propagatorsigma500(sa[0], sb[0], sc[0], pro1); |
| 447 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 448 | |
| 449 | if (flag[1] == 1) { //a1 |
| 450 | propagatorRBW_a1(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, 1, pro2); |
| 451 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 452 | |
| 453 | Com_Multi(pro1, pro2, pro); |
| 454 | amp_tmp1[0] = temp_PDF * B[1] * B[2] * pro[0]; |
| 455 | amp_tmp1[1] = temp_PDF * B[1] * B[2] * pro[1]; |
| 456 | temp_PDF = 0; |
Value stored to 'temp_PDF' is never read | |
| 457 | amp_tmp2[0] = amp_tmp1[0]; |
| 458 | amp_tmp2[1] = amp_tmp1[1]; |
| 459 | } else if (modetype[i] == 120) { //D->(Ks pi0)S rho+ |
| 460 | temp_PDF = 0; |
| 461 | |
| 462 | for (int ii = 0; ii != 4; ii++) { |
| 463 | pS[ii] = Ks[ii] + Pi02[ii]; |
| 464 | pV[ii] = Pip[ii] + Pi01[ii]; |
| 465 | pD[ii] = pS[ii] + pV[ii]; |
| 466 | } |
| 467 | sa[0] = SCADot(pS, pS); |
| 468 | sb[0] = SCADot(Ks, Ks); |
| 469 | sc[0] = SCADot(Pi02, Pi02); |
| 470 | sa[1] = SCADot(pV, pV); |
| 471 | sb[1] = SCADot(Pip, Pip); |
| 472 | sc[1] = SCADot(Pi01, Pi01); |
| 473 | sa[2] = SCADot(pD, pD); |
| 474 | sb[2] = sa[0]; |
| 475 | sc[2] = sa[1]; |
| 476 | if (flag[0] == 1) { |
| 477 | propagatorGS(mass_R[1]*mass_R[1], mass_R[1], width_R[0], sa[1], sb[1], sc[1], rRes2, pro1); |
| 478 | } else if (flag[0] == 0) { pro1[0] = 1; pro1[1] = 0; } |
| 479 | KPiSLASS(sa[0], sb[0], sc[0], proKPi_S); |
| 480 | if (flag[1] == 1) { |
| 481 | pro2[0] = proKPi_S[0]; pro2[1] = proKPi_S[1]; |
| 482 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 483 | |
| 484 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 485 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 486 | calt1(Pip, Pi01, t1V); |
| 487 | calt1(pS, pV, t1D); |
| 488 | for (int ii = 0; ii != 4; ii++) { |
| 489 | temp_PDF += G[ii][ii] * t1D[ii] * t1V[ii]; |
| 490 | } |
| 491 | Com_Multi(pro1, pro2, pro); |
| 492 | amp_tmp1[0] = temp_PDF * B[1] * B[2] * pro[0]; |
| 493 | amp_tmp1[1] = temp_PDF * B[1] * B[2] * pro[1]; |
| 494 | |
| 495 | temp_PDF = 0; |
| 496 | for (int ii = 0; ii != 4; ii++) { |
| 497 | pS[ii] = Ks[ii] + Pi01[ii]; |
| 498 | pV[ii] = Pip[ii] + Pi02[ii]; |
| 499 | pD[ii] = pS[ii] + pV[ii]; |
| 500 | } |
| 501 | sa[0] = SCADot(pS, pS); |
| 502 | sb[0] = SCADot(Ks, Ks); |
| 503 | sc[0] = SCADot(Pi01, Pi01); |
| 504 | sa[1] = SCADot(pV, pV); |
| 505 | sb[1] = SCADot(Pip, Pip); |
| 506 | sc[1] = SCADot(Pi02, Pi02); |
| 507 | sa[2] = SCADot(pD, pD); |
| 508 | sb[2] = sa[0]; |
| 509 | sc[2] = sa[1]; |
| 510 | if (flag[0] == 1) { |
| 511 | propagatorGS(mass_R[1]*mass_R[1], mass_R[1], width_R[0], sa[1], sb[1], sc[1], rRes2, pro1); |
| 512 | } else if (flag[0] == 0) { pro1[0] = 1; pro1[1] = 0; } |
| 513 | KPiSLASS(sa[0], sb[0], sc[0], proKPi_S); |
| 514 | if (flag[1] == 1) { |
| 515 | pro2[0] = proKPi_S[0]; pro2[1] = proKPi_S[1]; |
| 516 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 517 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 518 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 519 | calt1(Pip, Pi02, t1V); |
| 520 | calt1(pS, pV, t1D); |
| 521 | for (int ii = 0; ii != 4; ii++) { |
| 522 | temp_PDF += G[ii][ii] * t1D[ii] * t1V[ii]; |
| 523 | } |
| 524 | Com_Multi(pro1, pro2, pro); |
| 525 | amp_tmp2[0] = temp_PDF * B[1] * B[2] * pro[0]; |
| 526 | amp_tmp2[1] = temp_PDF * B[1] * B[2] * pro[1]; |
| 527 | } else if (modetype[i] == 2) { |
| 528 | double t1V1[4], t1V2[4], t2D[4][4]; |
| 529 | temp_PDF = 0; |
| 530 | |
| 531 | double pV1[4], pV2[4]; |
| 532 | for (int ii = 0; ii != 4; ii++) { |
| 533 | pV1[ii] = Ks[ii] + Pi01[ii]; |
| 534 | pV2[ii] = Pip[ii] + Pi02[ii]; |
| 535 | pD[ii] = pV1[ii] + pV2[ii]; |
| 536 | } |
| 537 | sa[0] = SCADot(pV1, pV1); |
| 538 | sb[0] = SCADot(Ks, Ks); |
| 539 | sc[0] = SCADot(Pi01, Pi01); |
| 540 | sa[1] = SCADot(pV2, pV2); |
| 541 | sb[1] = SCADot(Pip, Pip); |
| 542 | sc[1] = SCADot(Pi02, Pi02); |
| 543 | sa[2] = SCADot(pD, pD); |
| 544 | sb[2] = sa[0]; |
| 545 | sc[2] = sa[1]; |
| 546 | if (flag[0] == 1) { |
| 547 | propagatorRBW(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, 1, pro1); |
| 548 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 549 | if (flag[1] == 1) { |
| 550 | propagatorGS(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, pro2); |
| 551 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 552 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 553 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 554 | calt1(Ks, Pi01, t1V1); |
| 555 | calt1(Pip, Pi02, t1V2); |
| 556 | if (flag[2] == 0) { |
| 557 | for (int ii = 0; ii != 4; ii++) { |
| 558 | temp_PDF += (G[ii][ii]) * t1V1[ii] * t1V2[ii]; |
| 559 | } |
| 560 | B[2] = 1; |
| 561 | } |
| 562 | if (flag[2] == 1) { |
| 563 | calt1(pV1, pV2, t1D); |
| 564 | for (int ii = 0; ii != 4; ii++) { |
| 565 | for (int j = 0; j != 4; j++) { |
| 566 | for (int k = 0; k != 4; k++) { |
| 567 | for (int l = 0; l != 4; l++) { |
| 568 | temp_PDF += E[ii][j][k][l] * pD[ii] * t1D[j] * t1V1[k] * t1V2[l] * |
| 569 | (G[ii][ii]) * (G[j][j]) * (G[l][l]) * (G[k][k]); |
| 570 | } |
| 571 | } |
| 572 | } |
| 573 | } |
| 574 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 575 | } |
| 576 | if (flag[2] == 2) { |
| 577 | calt2(pV1, pV2, t2D); |
| 578 | for (int ii = 0; ii != 4; ii++) { |
| 579 | for (int j = 0; j != 4; j++) { |
| 580 | temp_PDF += t2D[ii][j] * t1V1[ii] * t1V2[j] * (G[ii][ii]) * (G[j][j]); |
| 581 | } |
| 582 | } |
| 583 | B[2] = Barrier(mD * mD, 2, sa[2], sb[2], sc[2], rD2); |
| 584 | } |
| 585 | Com_Multi(pro1, pro2, pro); |
| 586 | amp_tmp1[0] = temp_PDF * B[0] * B[1] * B[2] * pro[0]; |
| 587 | amp_tmp1[1] = temp_PDF * B[0] * B[1] * B[2] * pro[1]; |
| 588 | temp_PDF = 0; |
| 589 | for (int ii = 0; ii != 4; ii++) { |
| 590 | pV1[ii] = Ks[ii] + Pi02[ii]; |
| 591 | pV2[ii] = Pip[ii] + Pi01[ii]; |
| 592 | pD[ii] = pV1[ii] + pV2[ii]; |
| 593 | } |
| 594 | sa[0] = SCADot(pV1, pV1); |
| 595 | sb[0] = SCADot(Ks, Ks); |
| 596 | sc[0] = SCADot(Pi02, Pi02); |
| 597 | sa[1] = SCADot(pV2, pV2); |
| 598 | sb[1] = SCADot(Pip, Pip); |
| 599 | sc[1] = SCADot(Pi01, Pi01); |
| 600 | sa[2] = SCADot(pD, pD); |
| 601 | sb[2] = sa[0]; |
| 602 | sc[2] = sa[1]; |
| 603 | if (flag[0] == 1) { |
| 604 | propagatorRBW(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, 1, pro1); |
| 605 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 606 | if (flag[1] == 1) { |
| 607 | propagatorGS(mass_R[1]*mass_R[1], mass_R[1], width_R[1], sa[1], sb[1], sc[1], rRes2, pro2); |
| 608 | } else if (flag[1] == 0) {pro2[0] = 1; pro2[1] = 0;} |
| 609 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 610 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 611 | calt1(Ks, Pi02, t1V1); |
| 612 | calt1(Pip, Pi01, t1V2); |
| 613 | if (flag[2] == 0) { |
| 614 | for (int ii = 0; ii != 4; ii++) { |
| 615 | temp_PDF += (G[ii][ii]) * t1V1[ii] * t1V2[ii]; |
| 616 | } |
| 617 | B[2] = 1; |
| 618 | } |
| 619 | if (flag[2] == 1) { |
| 620 | calt1(pV1, pV2, t1D); |
| 621 | for (int ii = 0; ii != 4; ii++) { |
| 622 | for (int j = 0; j != 4; j++) { |
| 623 | for (int k = 0; k != 4; k++) { |
| 624 | for (int l = 0; l != 4; l++) { |
| 625 | temp_PDF += E[ii][j][k][l] * pD[ii] * t1D[j] * t1V1[k] * t1V2[l] * |
| 626 | (G[ii][ii]) * (G[j][j]) * (G[l][l]) * (G[k][k]); |
| 627 | } |
| 628 | } |
| 629 | } |
| 630 | } |
| 631 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 632 | } |
| 633 | if (flag[2] == 2) { |
| 634 | calt2(pV1, pV2, t2D); |
| 635 | for (int ii = 0; ii != 4; ii++) { |
| 636 | for (int j = 0; j != 4; j++) { |
| 637 | temp_PDF += t2D[ii][j] * t1V1[ii] * t1V2[j] * (G[ii][ii]) * (G[j][j]); |
| 638 | } |
| 639 | } |
| 640 | B[2] = Barrier(mD * mD, 2, sa[2], sb[2], sc[2], rD2); |
| 641 | } |
| 642 | Com_Multi(pro1, pro2, pro); |
| 643 | amp_tmp2[0] = temp_PDF * B[0] * B[1] * B[2] * pro[0]; |
| 644 | amp_tmp2[1] = temp_PDF * B[0] * B[1] * B[2] * pro[1]; |
| 645 | } else if (modetype[i] == 43) { |
| 646 | double KPi[4]; |
| 647 | for (int ii = 0; ii != 4; ii++) { |
| 648 | KPi[ii] = Ks[ii] + Pi01[ii]; |
| 649 | } |
| 650 | sa[0] = SCADot(KPi, KPi); |
| 651 | sb[0] = SCADot(Ks, Ks); |
| 652 | sc[0] = SCADot(Pi01, Pi01); |
| 653 | KPiSLASS(sa[0], sb[0], sc[0], proKPi_S); |
| 654 | if (flag[0] == 1) { |
| 655 | pro1[0] = proKPi_S[0]; pro1[1] = proKPi_S[1]; |
| 656 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 657 | |
| 658 | amp_tmp1[0] = pro1[0]; |
| 659 | amp_tmp1[1] = pro1[1]; |
| 660 | |
| 661 | for (int ii = 0; ii != 4; ii++) { |
| 662 | KPi[ii] = Ks[ii] + Pi02[ii]; |
| 663 | } |
| 664 | sa[0] = SCADot(KPi, KPi); |
| 665 | sb[0] = SCADot(Ks, Ks); |
| 666 | sc[0] = SCADot(Pi02, Pi02); |
| 667 | KPiSLASS(sa[0], sb[0], sc[0], proKPi_S); |
| 668 | if (flag[0] == 1) { |
| 669 | pro1[0] = proKPi_S[0]; pro1[1] = proKPi_S[1]; |
| 670 | } else if (flag[0] == 0) {pro1[0] = 1; pro1[1] = 0;} |
| 671 | |
| 672 | amp_tmp2[0] = pro1[0]; |
| 673 | amp_tmp2[1] = pro1[1]; |
| 674 | } else if (modetype[i] == 403) { |
| 675 | temp_PDF = 0; |
| 676 | double pP[4]; |
| 677 | for (int ii = 0; ii != 4; ii++) { |
| 678 | pV[ii] = Pip[ii] + Pi02[ii]; |
| 679 | pP[ii] = pV[ii] + Pi01[ii]; |
| 680 | pD[ii] = pP[ii] + Ks[ii]; |
| 681 | } |
| 682 | sa[0] = SCADot(pV, pV); |
| 683 | sb[0] = SCADot(Pip, Pip); |
| 684 | sc[0] = SCADot(Pi02, Pi02); |
| 685 | sa[1] = SCADot(pP, pP); |
| 686 | sb[1] = sa[0]; |
| 687 | sc[1] = SCADot(Pi01, Pi01); |
| 688 | sa[2] = SCADot(pD, pD); |
| 689 | sb[2] = sa[1]; |
| 690 | sc[2] = SCADot(Ks, Ks); |
| 691 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 692 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 693 | propagatorGS(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, pro); |
| 694 | calt1(Pip, Pi02, t1V); |
| 695 | for (int ii = 0; ii != 4; ii++) { |
| 696 | temp_PDF += Pi01[ii] * t1V[ii] * (G[ii][ii]); |
| 697 | } |
| 698 | amp_tmp1[0] = temp_PDF * B[0] * B[1] * pro[0]; |
| 699 | amp_tmp1[1] = temp_PDF * B[0] * B[1] * pro[1]; |
| 700 | temp_PDF = 0; |
| 701 | for (int ii = 0; ii != 4; ii++) { |
| 702 | pV[ii] = Pip[ii] + Pi01[ii]; |
| 703 | pP[ii] = pV[ii] + Pi02[ii]; |
| 704 | pD[ii] = pP[ii] + Ks[ii]; |
| 705 | } |
| 706 | sa[0] = SCADot(pV, pV); |
| 707 | sb[0] = SCADot(Pip, Pip); |
| 708 | sc[0] = SCADot(Pi01, Pi01); |
| 709 | sa[1] = SCADot(pP, pP); |
| 710 | sb[1] = sa[0]; |
| 711 | sc[1] = SCADot(Pi02, Pi02); |
| 712 | sa[2] = SCADot(pD, pD); |
| 713 | sb[2] = sa[1]; |
| 714 | sc[2] = SCADot(Ks, Ks); |
| 715 | B[0] = Barrier(mass_R[0] * mass_R[0], 1, sa[0], sb[0], sc[0], rRes2); |
| 716 | B[1] = Barrier(mass_R[1] * mass_R[1], 1, sa[1], sb[1], sc[1], rRes2); |
| 717 | propagatorGS(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[0], sb[0], sc[0], rRes2, pro); |
| 718 | calt1(Pip, Pi01, t1V); |
| 719 | for (int ii = 0; ii != 4; ii++) { |
| 720 | temp_PDF += Pi02[ii] * t1V[ii] * (G[ii][ii]); |
| 721 | } |
| 722 | amp_tmp2[0] = temp_PDF * B[0] * B[1] * pro[0]; |
| 723 | amp_tmp2[1] = temp_PDF * B[0] * B[1] * pro[1]; |
| 724 | } else if (modetype[i] == 220) { |
| 725 | temp_PDF = 0; |
| 726 | for (int ii = 0; ii != 4; ii++) { |
| 727 | pS[ii] = Pip[ii] + Pi02[ii]; |
| 728 | pV[ii] = Ks[ii] + Pi01[ii]; |
| 729 | pD[ii] = pS[ii] + pV[ii]; |
| 730 | } |
| 731 | sa[0] = SCADot(pS, pS); |
| 732 | sb[0] = SCADot(Pip, Pip); |
| 733 | sc[0] = SCADot(Pi02, Pi02); |
| 734 | sa[1] = SCADot(pV, pV); |
| 735 | sb[1] = SCADot(Ks, Ks); |
| 736 | sc[1] = SCADot(Pi01, Pi01); |
| 737 | sa[2] = SCADot(pD, pD); |
| 738 | sb[2] = sa[0]; |
| 739 | sc[2] = sa[1]; |
| 740 | if (flag[0] == 1) { |
| 741 | propagatorRBW(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[1], sb[1], sc[1], rRes2, 1, pro); |
| 742 | } |
| 743 | if (flag[0] == 0) { pro[0] = 1; pro[1] = 0; } |
| 744 | B[1] = Barrier(mass_R[0] * mass_R[0], 1, sa[1], sb[1], sc[1], rRes2); |
| 745 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 746 | calt1(Ks, Pi01, t1V); |
| 747 | calt1(pS, pV, t1D); |
| 748 | for (int ii = 0; ii != 4; ii++) { |
| 749 | temp_PDF += G[ii][ii] * t1D[ii] * t1V[ii]; |
| 750 | } |
| 751 | amp_tmp1[0] = temp_PDF * B[1] * B[2] * pro[0]; |
| 752 | amp_tmp1[1] = temp_PDF * B[1] * B[2] * pro[1]; |
| 753 | temp_PDF = 0; |
| 754 | for (int ii = 0; ii != 4; ii++) { |
| 755 | pS[ii] = Pip[ii] + Pi01[ii]; |
| 756 | pV[ii] = Ks[ii] + Pi02[ii]; |
| 757 | pD[ii] = pS[ii] + pV[ii]; |
| 758 | } |
| 759 | sa[0] = SCADot(pS, pS); |
| 760 | sb[0] = SCADot(Pip, Pip); |
| 761 | sc[0] = SCADot(Pi01, Pi01); |
| 762 | sa[1] = SCADot(pV, pV); |
| 763 | sb[1] = SCADot(Ks, Ks); |
| 764 | sc[1] = SCADot(Pi02, Pi02); |
| 765 | sa[2] = SCADot(pD, pD); |
| 766 | sb[2] = sa[0]; |
| 767 | sc[2] = sa[1]; |
| 768 | if (flag[0] == 1) { |
| 769 | propagatorRBW(mass_R[0]*mass_R[0], mass_R[0], width_R[0], sa[1], sb[1], sc[1], rRes2, 1, pro); |
| 770 | } |
| 771 | if (flag[0] == 0) { pro[0] = 1; pro[1] = 0; } |
| 772 | B[1] = Barrier(mass_R[0] * mass_R[0], 1, sa[1], sb[1], sc[1], rRes2); |
| 773 | B[2] = Barrier(mD * mD, 1, sa[2], sb[2], sc[2], rD2); |
| 774 | calt1(Ks, Pi02, t1V); |
| 775 | calt1(pS, pV, t1D); |
| 776 | for (int ii = 0; ii != 4; ii++) { |
| 777 | temp_PDF += G[ii][ii] * t1D[ii] * t1V[ii]; |
| 778 | } |
| 779 | amp_tmp2[0] = temp_PDF * B[1] * B[2] * pro[0]; |
| 780 | amp_tmp2[1] = temp_PDF * B[1] * B[2] * pro[1]; |
| 781 | } |
| 782 | amp_tmp[0] = amp_tmp1[0] + amp_tmp2[0]; |
| 783 | amp_tmp[1] = amp_tmp1[1] + amp_tmp2[1]; |
| 784 | Com_Multi(amp_tmp, cof, amp_PDF); |
| 785 | |
| 786 | PDF[0] += amp_PDF[0]; |
| 787 | PDF[1] += amp_PDF[1]; |
| 788 | } |
| 789 | double value = PDF[0] * PDF[0] + PDF[1] * PDF[1]; |
| 790 | |
| 791 | Result = value; |
| 792 | |
| 793 | return value; |
| 794 | } |
| 795 | |
| 796 | void EvtDToKSpipi0pi0::Com_Multi(const double a1[2], const double a2[2], double res[2]) |
| 797 | { |
| 798 | res[0] = a1[0] * a2[0] - a1[1] * a2[1]; |
| 799 | res[1] = a1[1] * a2[0] + a1[0] * a2[1]; |
| 800 | } |
| 801 | void EvtDToKSpipi0pi0::Com_Divide(const double a1[2], const double a2[2], double res[2]) |
| 802 | { |
| 803 | double tmp = a2[0] * a2[0] + a2[1] * a2[1]; |
| 804 | res[0] = (a1[0] * a2[0] + a1[1] * a2[1]) / tmp; |
| 805 | res[1] = (a1[1] * a2[0] - a1[0] * a2[1]) / tmp; |
| 806 | } |
| 807 | double EvtDToKSpipi0pi0::SCADot(const double a1[4], const double a2[4]) |
| 808 | { |
| 809 | double _cal = a1[0] * a2[0] - a1[1] * a2[1] - a1[2] * a2[2] - a1[3] * a2[3]; |
| 810 | return _cal; |
| 811 | } |
| 812 | double EvtDToKSpipi0pi0::Barrier(const double mass2, const int l, const double sa, const double sb, const double sc, |
| 813 | const double r2) |
| 814 | { |
| 815 | double F; |
| 816 | double tmp = sa + sb - sc; |
| 817 | double q = fabs(0.25 * tmp * tmp / sa - sb); |
| 818 | double tmp2 = mass2 + sb - sc; |
| 819 | double q0 = fabs(0.25 * tmp2 * tmp2 / mass2 - sb); |
| 820 | double z = q * r2; |
| 821 | double z0 = q0 * r2; |
| 822 | if (l == 1) { |
| 823 | F = sqrt((1.0 + z0) / (1.0 + z)); |
| 824 | } else if (l == 2) { |
| 825 | double z2 = z * z; double z02 = z0 * z0; |
| 826 | F = sqrt((9.0 + 3.0 * z0 + z02) / (9.0 + 3.0 * z + z2)); |
| 827 | } else { |
| 828 | F = 1.0; |
| 829 | } |
| 830 | return F; |
| 831 | } |
| 832 | void EvtDToKSpipi0pi0::calt1(const double daug1[4], const double daug2[4], double t1[4]) |
| 833 | { |
| 834 | double p, pq, tmp; |
| 835 | double pa[4], qa[4]; |
| 836 | for (int i = 0; i < 4; i++) { |
| 837 | pa[i] = daug1[i] + daug2[i]; |
| 838 | qa[i] = daug1[i] - daug2[i]; |
| 839 | } |
| 840 | p = SCADot(pa, pa); |
| 841 | pq = SCADot(pa, qa); |
| 842 | tmp = pq / p; |
| 843 | for (int i = 0; i < 4; i++) { |
| 844 | t1[i] = qa[i] - tmp * pa[i]; |
| 845 | } |
| 846 | } |
| 847 | void EvtDToKSpipi0pi0::calt2(const double daug1[4], const double daug2[4], double t2[4][4]) |
| 848 | { |
| 849 | double p, r; |
| 850 | double pa[4], t1[4]; |
| 851 | calt1(daug1, daug2, t1); |
| 852 | r = SCADot(t1, t1) / 3.0; |
| 853 | for (int i = 0; i < 4; i++) { |
| 854 | pa[i] = daug1[i] + daug2[i]; |
| 855 | } |
| 856 | p = SCADot(pa, pa); |
| 857 | for (int i = 0; i < 4; i++) { |
| 858 | for (int j = 0; j < 4; j++) { |
| 859 | t2[i][j] = t1[i] * t1[j] - r * (G[i][j] - pa[i] * pa[j] / p); |
| 860 | } |
| 861 | } |
| 862 | } |
| 863 | double EvtDToKSpipi0pi0::wid(const double mass2, const double mass, const double sa, const double sb, const double sc, |
| 864 | const double r2, const int l) |
| 865 | { |
| 866 | double widm = 0.; |
| 867 | double m = sqrt(sa); |
| 868 | double tmp = sb - sc; |
| 869 | double tmp1 = sa + tmp; |
| 870 | double q = fabs(0.25 * tmp1 * tmp1 / sa - sb); |
| 871 | double tmp2 = mass2 + tmp; |
| 872 | double q0 = fabs(0.25 * tmp2 * tmp2 / mass2 - sb); |
| 873 | double z = q * r2; |
| 874 | double z0 = q0 * r2; |
| 875 | double t = q / q0; |
| 876 | if (l == 0) {widm = sqrt(t) * mass / m;} |
| 877 | else if (l == 1) {widm = t * sqrt(t) * mass / m * (1 + z0) / (1 + z);} |
| 878 | else if (l == 2) {widm = t * t * sqrt(t) * mass / m * (9 + 3 * z0 + z0 * z0) / (9 + 3 * z + z * z);} |
| 879 | return widm; |
| 880 | } |
| 881 | double EvtDToKSpipi0pi0::widl1(const double mass2, const double mass, const double sa, const double sb, const double sc, |
| 882 | const double r2) |
| 883 | { |
| 884 | double widm = 0.; |
| 885 | double m = sqrt(sa); |
| 886 | double tmp = sb - sc; |
| 887 | double tmp1 = sa + tmp; |
| 888 | double q = fabs(0.25 * tmp1 * tmp1 / sa - sb); |
| 889 | double tmp2 = mass2 + tmp; |
| 890 | double q0 = fabs(0.25 * tmp2 * tmp2 / mass2 - sb); |
| 891 | double z = q * r2; |
| 892 | double z0 = q0 * r2; |
| 893 | double F = (1 + z0) / (1 + z); |
| 894 | double t = q / q0; |
| 895 | widm = t * sqrt(t) * mass / m * F; |
| 896 | return widm; |
| 897 | } |
| 898 | void EvtDToKSpipi0pi0::propagatorRBW(const double mass2, const double mass, const double width, const double sa, const double sb, |
| 899 | const double sc, const double r2, const int l, double prop[2]) |
| 900 | { |
| 901 | double a[2], b[2]; |
| 902 | a[0] = 1; |
| 903 | a[1] = 0; |
| 904 | b[0] = mass2 - sa; |
| 905 | b[1] = -mass * width * wid(mass2, mass, sa, sb, sc, r2, l); |
| 906 | Com_Divide(a, b, prop); |
| 907 | } |
| 908 | void EvtDToKSpipi0pi0::propagatorRBWl1(const double mass2, const double mass, const double width, const double sa, const double sb, |
| 909 | const double sc, const double r2, double prop[2]) |
| 910 | { |
| 911 | double a[2], b[2]; |
| 912 | a[0] = 1; |
| 913 | a[1] = 0; |
| 914 | b[0] = mass2 - sa; |
| 915 | b[1] = -mass * width * widl1(mass2, mass, sa, sb, sc, r2); |
| 916 | Com_Divide(a, b, prop); |
| 917 | } |
| 918 | void EvtDToKSpipi0pi0::propagatorRBW_a1(const double mass2, const double mass, const double width, const double sa, const double sb, |
| 919 | const double sc, const double r2, const int l, double prop[2]) |
| 920 | { |
| 921 | (void)width; |
| 922 | (void)sb; |
| 923 | (void)sc; |
| 924 | (void)r2; |
| 925 | (void)l; |
| 926 | double a[2], b[2]; |
| 927 | int iii = int(sqrt(sa) * 1000) - 1; |
| 928 | double a1width[3000] = { |
| 929 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 930 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 931 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 932 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 933 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 934 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 935 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 936 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 937 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 938 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 939 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 940 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 941 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 942 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 943 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 944 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 945 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 946 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 947 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 948 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 949 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 950 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 951 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 952 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 953 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 954 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 955 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 956 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 957 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 958 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 959 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 960 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 961 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 962 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 963 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 964 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 965 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 966 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 967 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 968 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 969 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 970 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 971 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 972 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 973 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 974 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 975 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 976 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 977 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 978 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 979 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 980 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 981 | 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, |
| 982 | 0.000000, 0.000001, 0.000001, 0.000001, 0.000002, 0.000002, 0.000002, 0.000003, |
| 983 | 0.000004, 0.000004, 0.000005, 0.000006, 0.000007, 0.000008, 0.000009, 0.000010, |
| 984 | 0.000011, 0.000012, 0.000014, 0.000015, 0.000017, 0.000019, 0.000021, 0.000023, |
| 985 | 0.000025, 0.000027, 0.000029, 0.000032, 0.000035, 0.000038, 0.000041, 0.000044, |
| 986 | 0.000047, 0.000050, 0.000054, 0.000058, 0.000062, 0.000066, 0.000070, 0.000075, |
| 987 | 0.000079, 0.000084, 0.000089, 0.000094, 0.000100, 0.000105, 0.000111, 0.000117, |
| 988 | 0.000124, 0.000130, 0.000137, 0.000143, 0.000151, 0.000158, 0.000165, 0.000173, |
| 989 | 0.000182, 0.000190, 0.000199, 0.000207, 0.000216, 0.000225, 0.000235, 0.000245, |
| 990 | 0.000256, 0.000266, 0.000277, 0.000288, 0.000300, 0.000311, 0.000322, 0.000335, |
| 991 | 0.000347, 0.000360, 0.000373, 0.000385, 0.000400, 0.000415, 0.000429, 0.000442, |
| 992 | 0.000457, 0.000473, 0.000488, 0.000504, 0.000520, 0.000539, 0.000555, 0.000572, |
| 993 | 0.000590, 0.000608, 0.000626, 0.000646, 0.000664, 0.000684, 0.000704, 0.000725, |
| 994 | 0.000745, 0.000766, 0.000787, 0.000809, 0.000828, 0.000854, 0.000878, 0.000901, |
| 995 | 0.000927, 0.000952, 0.000973, 0.001001, 0.001027, 0.001048, 0.001080, 0.001104, |
| 996 | 0.001132, 0.001159, 0.001189, 0.001219, 0.001245, 0.001277, 0.001308, 0.001338, |
| 997 | 0.001370, 0.001404, 0.001433, 0.001468, 0.001498, 0.001533, 0.001570, 0.001600, |
| 998 | 0.001638, 0.001678, 0.001711, 0.001745, 0.001780, 0.001825, 0.001857, 0.001898, |
| 999 | 0.001941, 0.001972, 0.002017, 0.002065, 0.002104, 0.002146, 0.002189, 0.002234, |
| 1000 | 0.002277, 0.002319, 0.002369, 0.002410, 0.002461, 0.002511, 0.002557, 0.002605, |
| 1001 | 0.002661, 0.002704, 0.002762, 0.002807, 0.002855, 0.002910, 0.002965, 0.003020, |
| 1002 | 0.003074, 0.003127, 0.003178, 0.003228, 0.003288, 0.003351, 0.003409, 0.003471, |
| 1003 | 0.003532, 0.003598, 0.003660, 0.003720, 0.003793, 0.003854, 0.003910, 0.003972, |
| 1004 | 0.004050, 0.004108, 0.004181, 0.004254, 0.004309, 0.004380, 0.004464, 0.004533, |
| 1005 | 0.004603, 0.004679, 0.004756, 0.004811, 0.004898, 0.004974, 0.005048, 0.005142, |
| 1006 | 0.005215, 0.005279, 0.005363, 0.005449, 0.005533, 0.005604, 0.005695, 0.005783, |
| 1007 | 0.005869, 0.005971, 0.006060, 0.006142, 0.006247, 0.006332, 0.006409, 0.006502, |
| 1008 | 0.006594, 0.006713, 0.006784, 0.006889, 0.006995, 0.007079, 0.007190, 0.007303, |
| 1009 | 0.007381, 0.007487, 0.007592, 0.007710, 0.007801, 0.007910, 0.008032, 0.008149, |
| 1010 | 0.008247, 0.008378, 0.008462, 0.008559, 0.008706, 0.008843, 0.008943, 0.009091, |
| 1011 | 0.009207, 0.009308, 0.009448, 0.009555, 0.009698, 0.009810, 0.009936, 0.010020, |
| 1012 | 0.010186, 0.010320, 0.010474, 0.010611, 0.010742, 0.010840, 0.011011, 0.011167, |
| 1013 | 0.011281, 0.011395, 0.011541, 0.011714, 0.011853, 0.012046, 0.012169, 0.012277, |
| 1014 | 0.012460, 0.012617, 0.012805, 0.012922, 0.013072, 0.013234, 0.013389, 0.013561, |
| 1015 | 0.013704, 0.013917, 0.014025, 0.014239, 0.014425, 0.014600, 0.014716, 0.014958, |
| 1016 | 0.015114, 0.015325, 0.015488, 0.015630, 0.015797, 0.016035, 0.016206, 0.016404, |
| 1017 | 0.016591, 0.016842, 0.016964, 0.017199, 0.017392, 0.017557, 0.017798, 0.017987, |
| 1018 | 0.018178, 0.018337, 0.018631, 0.018829, 0.019008, 0.019221, 0.019467, 0.019698, |
| 1019 | 0.019941, 0.020166, 0.020379, 0.020585, 0.020806, 0.021040, 0.021309, 0.021482, |
| 1020 | 0.021764, 0.022046, 0.022306, 0.022478, 0.022736, 0.023049, 0.023222, 0.023536, |
| 1021 | 0.023756, 0.024090, 0.024337, 0.024557, 0.024873, 0.025099, 0.025392, 0.025682, |
| 1022 | 0.025995, 0.026291, 0.026498, 0.026927, 0.027119, 0.027377, 0.027804, 0.028135, |
| 1023 | 0.028279, 0.028682, 0.028871, 0.029355, 0.029531, 0.029956, 0.030243, 0.030592, |
| 1024 | 0.030873, 0.031246, 0.031494, 0.031771, 0.032167, 0.032515, 0.032881, 0.033211, |
| 1025 | 0.033653, 0.033988, 0.034394, 0.034639, 0.035055, 0.035569, 0.035879, 0.036211, |
| 1026 | 0.036611, 0.036932, 0.037489, 0.037779, 0.038284, 0.038723, 0.039001, 0.039574, |
| 1027 | 0.039854, 0.040274, 0.040881, 0.041117, 0.041644, 0.042055, 0.042531, 0.043030, |
| 1028 | 0.043354, 0.043832, 0.044277, 0.044956, 0.045284, 0.045828, 0.046440, 0.046800, |
| 1029 | 0.047518, 0.047727, 0.048258, 0.048850, 0.049316, 0.049992, 0.050486, 0.050987, |
| 1030 | 0.051410, 0.051928, 0.052613, 0.053110, 0.053824, 0.054351, 0.055078, 0.055654, |
| 1031 | 0.056030, 0.056763, 0.057245, 0.057832, 0.058569, 0.059292, 0.060048, 0.060569, |
| 1032 | 0.061056, 0.061869, 0.062612, 0.063186, 0.063886, 0.064655, 0.065198, 0.065815, |
| 1033 | 0.066649, 0.067577, 0.068012, 0.068967, 0.069630, 0.070181, 0.070786, 0.071989, |
| 1034 | 0.072764, 0.073466, 0.074461, 0.075093, 0.075994, 0.076834, 0.077455, 0.078709, |
| 1035 | 0.079581, 0.080408, 0.080884, 0.081965, 0.082882, 0.083658, 0.084824, 0.085513, |
| 1036 | 0.086662, 0.087602, 0.088678, 0.089492, 0.090641, 0.091369, 0.092494, 0.093484, |
| 1037 | 0.094615, 0.095385, 0.096168, 0.097668, 0.098611, 0.099630, 0.100772, 0.102020, |
| 1038 | 0.103145, 0.104110, 0.105071, 0.106604, 0.107791, 0.108451, 0.109509, 0.111356, |
| 1039 | 0.112026, 0.113921, 0.114507, 0.116071, 0.117027, 0.118213, 0.120164, 0.120701, |
| 1040 | 0.122121, 0.123894, 0.124937, 0.126134, 0.127391, 0.128882, 0.130056, 0.131649, |
| 1041 | 0.133046, 0.134275, 0.135119, 0.137072, 0.138476, 0.139612, 0.140388, 0.142734, |
| 1042 | 0.143576, 0.145445, 0.147414, 0.148856, 0.149891, 0.150963, 0.152477, 0.153717, |
| 1043 | 0.155275, 0.156859, 0.158462, 0.159257, 0.161865, 0.163182, 0.164465, 0.165538, |
| 1044 | 0.167003, 0.169257, 0.171211, 0.172093, 0.173261, 0.174639, 0.176510, 0.177684, |
| 1045 | 0.179077, 0.181041, 0.182446, 0.184769, 0.184926, 0.186741, 0.188844, 0.190884, |
| 1046 | 0.191714, 0.192254, 0.193921, 0.195917, 0.196766, 0.199052, 0.200603, 0.201808, |
| 1047 | 0.202699, 0.204636, 0.205712, 0.206849, 0.208741, 0.209424, 0.211698, 0.212753, |
| 1048 | 0.215516, 0.215857, 0.217790, 0.217774, 0.220454, 0.221821, 0.223466, 0.224494, |
| 1049 | 0.225632, 0.227231, 0.229456, 0.229581, 0.231537, 0.232263, 0.233834, 0.234725, |
| 1050 | 0.237079, 0.238015, 0.239400, 0.240193, 0.241693, 0.243787, 0.244317, 0.244971, |
| 1051 | 0.246711, 0.248615, 0.249387, 0.250905, 0.252702, 0.253535, 0.254385, 0.255375, |
| 1052 | 0.256671, 0.258405, 0.259741, 0.260875, 0.262131, 0.262920, 0.264860, 0.265893, |
| 1053 | 0.266016, 0.267727, 0.270039, 0.270689, 0.271047, 0.272313, 0.272474, 0.274724, |
| 1054 | 0.275813, 0.275937, 0.278793, 0.278783, 0.281407, 0.281351, 0.282481, 0.284226, |
| 1055 | 0.284113, 0.284999, 0.285655, 0.288361, 0.287856, 0.288893, 0.290211, 0.291708, |
| 1056 | 0.291985, 0.294298, 0.294849, 0.296796, 0.296197, 0.296851, 0.298011, 0.300368, |
| 1057 | 0.299982, 0.302378, 0.304363, 0.303711, 0.304729, 0.306789, 0.306378, 0.307372, |
| 1058 | 0.308720, 0.309509, 0.309712, 0.310782, 0.311699, 0.312668, 0.312755, 0.313675, |
| 1059 | 0.315311, 0.316640, 0.317217, 0.317403, 0.318478, 0.319916, 0.321803, 0.322678, |
| 1060 | 0.323237, 0.324343, 0.324433, 0.324493, 0.324969, 0.325894, 0.328563, 0.328721, |
| 1061 | 0.328954, 0.330640, 0.328164, 0.331267, 0.331695, 0.333772, 0.333619, 0.334351, |
| 1062 | 0.334605, 0.336434, 0.337510, 0.336535, 0.337362, 0.338799, 0.340732, 0.339896, |
| 1063 | 0.342707, 0.343471, 0.342318, 0.342431, 0.344543, 0.345611, 0.345786, 0.346590, |
| 1064 | 0.346610, 0.347761, 0.348914, 0.349558, 0.350577, 0.352128, 0.350982, 0.354134, |
| 1065 | 0.352773, 0.353213, 0.352972, 0.354927, 0.355784, 0.355778, 0.355801, 0.357040, |
| 1066 | 0.358013, 0.358432, 0.360045, 0.359743, 0.360238, 0.359850, 0.362184, 0.361580, |
| 1067 | 0.363430, 0.362333, 0.364397, 0.364472, 0.364370, 0.365303, 0.366644, 0.367777, |
| 1068 | 0.368604, 0.367631, 0.368324, 0.369782, 0.371121, 0.370653, 0.370040, 0.371649, |
| 1069 | 0.370201, 0.373362, 0.373900, 0.374159, 0.374916, 0.374503, 0.376703, 0.372802, |
| 1070 | 0.376191, 0.379596, 0.377325, 0.376363, 0.379369, 0.379791, 0.378703, 0.380177, |
| 1071 | 0.381762, 0.381335, 0.381374, 0.384668, 0.381763, 0.382746, 0.384723, 0.385089, |
| 1072 | 0.386229, 0.386702, 0.387749, 0.384423, 0.384714, 0.384181, 0.388489, 0.388618, |
| 1073 | 0.388179, 0.390092, 0.389871, 0.390496, 0.391181, 0.390679, 0.392614, 0.392269, |
| 1074 | 0.393899, 0.393466, 0.391421, 0.391090, 0.395586, 0.391776, 0.396882, 0.393254, |
| 1075 | 0.394400, 0.395749, 0.398063, 0.397138, 0.397585, 0.397288, 0.397847, 0.395375, |
| 1076 | 0.400170, 0.400007, 0.401191, 0.398513, 0.401922, 0.400477, 0.404257, 0.403271, |
| 1077 | 0.400677, 0.403913, 0.403172, 0.404727, 0.403406, 0.404404, 0.405265, 0.406389, |
| 1078 | 0.405738, 0.402173, 0.407831, 0.405895, 0.409172, 0.408934, 0.405915, 0.408486, |
| 1079 | 0.407320, 0.407437, 0.405444, 0.408400, 0.410909, 0.412427, 0.409881, 0.411021, |
| 1080 | 0.413001, 0.410369, 0.414702, 0.413372, 0.413095, 0.410972, 0.416346, 0.416095, |
| 1081 | 0.414132, 0.414344, 0.416952, 0.415197, 0.417583, 0.416582, 0.416622, 0.416895, |
| 1082 | 0.416576, 0.415551, 0.417925, 0.414838, 0.417051, 0.416831, 0.420000, 0.419132, |
| 1083 | 0.418173, 0.417645, 0.419679, 0.419866, 0.419581, 0.421531, 0.420878, 0.422737, |
| 1084 | 0.421872, 0.421304, 0.425486, 0.424434, 0.420842, 0.426753, 0.422761, 0.422178, |
| 1085 | 0.422372, 0.424173, 0.425582, 0.425080, 0.425831, 0.423551, 0.422949, 0.425784, |
| 1086 | 0.427977, 0.427948, 0.426368, 0.425138, 0.425351, 0.428643, 0.428148, 0.427488, |
| 1087 | 0.431704, 0.430167, 0.429655, 0.429584, 0.425458, 0.430728, 0.429845, 0.431145, |
| 1088 | 0.429180, 0.428874, 0.430720, 0.430024, 0.432034, 0.431359, 0.431535, 0.432995, |
| 1089 | 0.432425, 0.432454, 0.433140, 0.432574, 0.433814, 0.433348, 0.432886, 0.435472, |
| 1090 | 0.436517, 0.432681, 0.436999, 0.435182, 0.434834, 0.435478, 0.438255, 0.436650, |
| 1091 | 0.434464, 0.438530, 0.434077, 0.436471, 0.434012, 0.436822, 0.437505, 0.440135, |
| 1092 | 0.438322, 0.438032, 0.439001, 0.440270, 0.438661, 0.439233, 0.439274, 0.437945, |
| 1093 | 0.443080, 0.439191, 0.438233, 0.440415, 0.441063, 0.440926, 0.440929, 0.439731, |
| 1094 | 0.443584, 0.439729, 0.441597, 0.442615, 0.444637, 0.443180, 0.440789, 0.440261, |
| 1095 | 0.442202, 0.445081, 0.445484, 0.445415, 0.445532, 0.442806, 0.444188, 0.441073, |
| 1096 | 0.444299, 0.445897, 0.445279, 0.442830, 0.445506, 0.445272, 0.447267, 0.443522, |
| 1097 | 0.445519, 0.446459, 0.446753, 0.446377, 0.446129, 0.446383, 0.448556, 0.446593, |
| 1098 | 0.445293, 0.449199, 0.447590, 0.445968, 0.447482, 0.448474, 0.449890, 0.450004, |
| 1099 | 0.447765, 0.449274, 0.450652, 0.448210, 0.449360, 0.449577, 0.448575, 0.452112, |
| 1100 | 0.448780, 0.451393, 0.450200, 0.452018, 0.451182, 0.452050, 0.451748, 0.451377, |
| 1101 | 0.451402, 0.448810, 0.452311, 0.452909, 0.452491, 0.452418, 0.454190, 0.454420, |
| 1102 | 0.452121, 0.452307, 0.456857, 0.453506, 0.454058, 0.457203, 0.454394, 0.453596, |
| 1103 | 0.452240, 0.453692, 0.456516, 0.453753, 0.455541, 0.452702, 0.456481, 0.452226, |
| 1104 | 0.454280, 0.454855, 0.456297, 0.456482, 0.454154, 0.455387, 0.454748, 0.455764, |
| 1105 | 0.457282, 0.455487, 0.454822, 0.454257, 0.457678, 0.454225, 0.458689, 0.456123, |
| 1106 | 0.457011, 0.457386, 0.458351, 0.458638, 0.456164, 0.455884, 0.458525, 0.457575, |
| 1107 | 0.458340, 0.458912, 0.457836, 0.461734, 0.457545, 0.460755, 0.460960, 0.459226, |
| 1108 | 0.458613, 0.461078, 0.460958, 0.460337, 0.460237, 0.461190, 0.460760, 0.457911, |
| 1109 | 0.461310, 0.459657, 0.461960, 0.461040, 0.459578, 0.461650, 0.461550, 0.461251, |
| 1110 | 0.461054, 0.463082, 0.461732, 0.461324, 0.462547, 0.461261, 0.461629, 0.464067, |
| 1111 | 0.462430, 0.462525, 0.464232, 0.462921, 0.463202, 0.465558, 0.462914, 0.461698, |
| 1112 | 0.463963, 0.463040, 0.464275, 0.461940, 0.462913, 0.465261, 0.461500, 0.463679, |
| 1113 | 0.463354, 0.465205, 0.464529, 0.462220, 0.464279, 0.463427, 0.465387, 0.465288, |
| 1114 | 0.464839, 0.464926, 0.466100, 0.465531, 0.466187, 0.464647, 0.466285, 0.465461, |
| 1115 | 0.464134, 0.466783, 0.466763, 0.466183, 0.467089, 0.464497, 0.466080, 0.466109, |
| 1116 | 0.468166, 0.466984, 0.465335, 0.466721, 0.466856, 0.465113, 0.468377, 0.467904, |
| 1117 | 0.464546, 0.468787, 0.465648, 0.469841, 0.469477, 0.466311, 0.468700, 0.465183, |
| 1118 | 0.466559, 0.470433, 0.468563, 0.468109, 0.466980, 0.467567, 0.467670, 0.466991, |
| 1119 | 0.467992, 0.468784, 0.469406, 0.469652, 0.468527, 0.470460, 0.467308, 0.470693, |
| 1120 | 0.469539, 0.468000, 0.469295, 0.467038, 0.471908, 0.468829, 0.470663, 0.469266, |
| 1121 | 0.468975, 0.470222, 0.468649, 0.469507, 0.472307, 0.471611, 0.470419, 0.471181, |
| 1122 | 0.471140, 0.473187, 0.471086, 0.469801, 0.472234, 0.472131, 0.468996, 0.470229, |
| 1123 | 0.471597, 0.469625, 0.472230, 0.470164, 0.468404, 0.472264, 0.471336, 0.471597, |
| 1124 | 0.472280, 0.471256, 0.473151, 0.471863, 0.474458, 0.471956, 0.473099, 0.473956, |
| 1125 | 0.471725, 0.472809, 0.473065, 0.473180, 0.470611, 0.473614, 0.474263, 0.472792, |
| 1126 | 0.473543, 0.472656, 0.469728, 0.473431, 0.474538, 0.475322, 0.474962, 0.473598, |
| 1127 | 0.474114, 0.473486, 0.472934, 0.473252, 0.477149, 0.471719, 0.476383, 0.473076, |
| 1128 | 0.473952, 0.473104, 0.472459, 0.474433, 0.474494, 0.473588, 0.473839, 0.478113, |
| 1129 | 0.472435, 0.475571, 0.475194, 0.475626, 0.474617, 0.474520, 0.474472, 0.476437, |
| 1130 | 0.474512, 0.474497, 0.474628, 0.476203, 0.475698, 0.473907, 0.477144, 0.479000, |
| 1131 | 0.475553, 0.477481, 0.473998, 0.476672, 0.477115, 0.477114, 0.476282, 0.476152, |
| 1132 | 0.477009, 0.479854, 0.474354, 0.477645, 0.477517, 0.477111, 0.474843, 0.476173, |
| 1133 | 0.477321, 0.477384, 0.477880, 0.475726, 0.476004, 0.478204, 0.475586, 0.477973, |
| 1134 | 0.477935, 0.480640, 0.478234, 0.476349, 0.477493, 0.476994, 0.479815, 0.477771, |
| 1135 | 0.476333, 0.476325, 0.478245, 0.477284, 0.479238, 0.478339, 0.478966, 0.478012, |
| 1136 | 0.479304, 0.480148, 0.476125, 0.481267, 0.479801, 0.476720, 0.478898, 0.479284, |
| 1137 | 0.479153, 0.480157, 0.478681, 0.479712, 0.478993, 0.479943, 0.478349, 0.478930, |
| 1138 | 0.478052, 0.477173, 0.479244, 0.480454, 0.479128, 0.480530, 0.477843, 0.478369, |
| 1139 | 0.478561, 0.478639, 0.479191, 0.481763, 0.481321, 0.480979, 0.479702, 0.479777, |
| 1140 | 0.479384, 0.477571, 0.481880, 0.478615, 0.481303, 0.478783, 0.479384, 0.480517, |
| 1141 | 0.481928, 0.481199, 0.479041, 0.479188, 0.481491, 0.482840, 0.478766, 0.481941, |
| 1142 | 0.481298, 0.478105, 0.482933, 0.479744, 0.483361, 0.482332, 0.482556, 0.482057, |
| 1143 | 0.483616, 0.480599, 0.482245, 0.481091, 0.480871, 0.481938, 0.480678, 0.481851, |
| 1144 | 0.482902, 0.482158, 0.480187, 0.481772, 0.484967, 0.483094, 0.482133, 0.483929, |
| 1145 | 0.483354, 0.483382, 0.483964, 0.479941, 0.481375, 0.480255, 0.482184, 0.482541, |
| 1146 | 0.482032, 0.483484, 0.479492, 0.483305, 0.481070, 0.483573, 0.485689, 0.485767, |
| 1147 | 0.484221, 0.481365, 0.482440, 0.481507, 0.483418, 0.480978 |
| 1148 | }; |
| 1149 | double width_a1 = a1width[iii]; |
| 1150 | a[0] = 1; |
| 1151 | a[1] = 0; |
| 1152 | b[0] = mass2 - sa; |
| 1153 | b[1] = -mass * width_a1; |
| 1154 | Com_Divide(a, b, prop); |
| 1155 | } |
| 1156 | void EvtDToKSpipi0pi0::propagatorGS(const double mass2, const double mass, const double width, const double sa, const double sb, |
| 1157 | const double sc, const double r2, double prop[2]) |
| 1158 | { |
| 1159 | |
| 1160 | double GS1 = 0.636619783; |
| 1161 | double GS2 = 0.01860182466; |
| 1162 | double GS3 = 0.1591549458; |
| 1163 | double GS4 = 0.00620060822; |
| 1164 | double a[2], b[2]; |
| 1165 | double tmp = sb - sc; |
| 1166 | double tmp1 = sa + tmp; |
| 1167 | double q2 = fabs(0.25 * tmp1 * tmp1 / sa - sb); |
| 1168 | double tmp2 = mass2 + tmp; |
| 1169 | double q02 = fabs(0.25 * tmp2 * tmp2 / mass2 - sb); |
| 1170 | |
| 1171 | double q = sqrt(q2); |
| 1172 | double q0 = sqrt(q02); |
| 1173 | double m = sqrt(sa); |
| 1174 | double q03 = q0 * q02; |
| 1175 | double tmp3 = log(mass + 2 * q0) + 1.2760418309; // log(mass_2Pion) = 1.2760418309; |
| 1176 | |
| 1177 | double h = GS1 * q / m * (log(m + 2 * q) + 1.2760418309); |
| 1178 | double h0 = GS1 * q0 / mass * tmp3; |
| 1179 | double dh = h0 * (0.125 / q02 - 0.5 / mass2) + GS3 / mass2; |
| 1180 | double d = GS2 / q02 * tmp3 + GS3 * mass / q0 - GS4 * mass / q03; |
| 1181 | double f = mass2 / q03 * (q2 * (h - h0) + (mass2 - sa) * q02 * dh); |
| 1182 | |
| 1183 | a[0] = 1.0 + d * width / mass; |
| 1184 | a[1] = 0.0; |
| 1185 | b[0] = mass2 - sa + width * f; |
| 1186 | b[1] = -mass * width * widl1(mass2, mass, sa, sb, sc, r2); |
| 1187 | Com_Divide(a, b, prop); |
| 1188 | } |
| 1189 | void EvtDToKSpipi0pi0::rhoab(const double sa, const double sb, const double sc, double res[2]) |
| 1190 | { |
| 1191 | double tmp = sa + sb - sc; |
| 1192 | double q = 0.25 * tmp * tmp / sa - sb; |
| 1193 | if (q >= 0) { |
| 1194 | res[0] = 2.0 * sqrt(q / sa); |
| 1195 | res[1] = 0.0; |
| 1196 | } else { |
| 1197 | res[0] = 0.0; |
| 1198 | res[1] = 2.0 * sqrt(-q / sa); |
| 1199 | } |
| 1200 | } |
| 1201 | void EvtDToKSpipi0pi0::rho4Pi(const double sa, double res[2]) |
| 1202 | { |
| 1203 | double temp = 1.0 - 0.3116765584 / sa; // 0.3116765584=0.13957*0.13957*16 |
| 1204 | if (temp >= 0) { |
| 1205 | res[0] = sqrt(temp) / (1.0 + exp(9.8 - 3.5 * sa)); |
| 1206 | res[1] = 0.0; |
| 1207 | } else { |
| 1208 | res[0] = 0.0; |
| 1209 | res[1] = sqrt(-temp) / (1.0 + exp(9.8 - 3.5 * sa)); |
| 1210 | } |
| 1211 | } |
| 1212 | void EvtDToKSpipi0pi0::propagatorsigma500(const double sa, const double sb, const double sc, double prop[2]) |
| 1213 | { |
| 1214 | double f = 0.5843 + 1.6663 * sa; |
| 1215 | const double M = 0.9264; |
| 1216 | const double mass2 = 0.85821696; // M*M |
| 1217 | const double mpi2d2 = 0.00973989245; |
| 1218 | double g1 = f * (sa - mpi2d2) / (mass2 - mpi2d2) * exp((mass2 - sa) / 1.082); |
| 1219 | double rho1s[2], rho1M[2], rho2s[2], rho2M[2], rho1[2], rho2[2]; |
| 1220 | rhoab(sa, sb, sc, rho1s); |
| 1221 | rhoab(mass2, sb, sc, rho1M); |
| 1222 | rho4Pi(sa, rho2s); |
| 1223 | rho4Pi(mass2, rho2M); |
| 1224 | Com_Divide(rho1s, rho1M, rho1); |
| 1225 | Com_Divide(rho2s, rho2M, rho2); |
| 1226 | double a[2], b[2]; |
| 1227 | a[0] = 1.0; |
| 1228 | a[1] = 0.0; |
| 1229 | b[0] = mass2 - sa + M * (g1 * rho1[1] + 0.0024 * rho2[1]); |
| 1230 | b[1] = -M * (g1 * rho1[0] + 0.0024 * rho2[0]); |
| 1231 | Com_Divide(a, b, prop); |
| 1232 | } |
| 1233 | void EvtDToKSpipi0pi0::KPiSLASS(const double sa, const double sb, const double sc, double prop[2]) |
| 1234 | { |
| 1235 | const double m1430 = 1.441; |
| 1236 | const double sa0 = 2.076481; // m1430*m1430; |
| 1237 | const double w1430 = 0.193; |
| 1238 | const double Lass1 = 0.25 / sa0; |
| 1239 | double tmp = sb - sc; |
| 1240 | double tmp1 = sa0 + tmp; |
| 1241 | double q0 = fabs(Lass1 * tmp1 * tmp1 - sb); |
| 1242 | double tmp2 = sa + tmp; |
| 1243 | double qs = fabs(0.25 * tmp2 * tmp2 / sa - sb); |
| 1244 | double q = sqrt(qs); |
| 1245 | double width = w1430 * q * m1430 / sqrt(sa * q0); |
| 1246 | double temp_R = atan(m1430 * width / (sa0 - sa)); |
| 1247 | if (temp_R < 0) temp_R += math_pi; |
| 1248 | double deltaR = -109.7 * math_pi / 180.0 + temp_R; |
| 1249 | double temp_F = atan(0.226 * q / (2.0 - 3.8194 * qs)); // 2.0*0.113 = 0.226; -33.8*0.113 = -3.8194 |
| 1250 | if (temp_F < 0) temp_F += math_pi; |
| 1251 | double deltaF = 0.1 * math_pi / 180.0 + temp_F; |
| 1252 | double deltaS = deltaR + 2.0 * deltaF; |
| 1253 | double t1 = 0.96 * sin(deltaF); |
| 1254 | double t2 = sin(deltaR); |
| 1255 | double CF[2], CS[2]; |
| 1256 | CF[0] = cos(deltaF); |
| 1257 | CF[1] = sin(deltaF); |
| 1258 | CS[0] = cos(deltaS); |
| 1259 | CS[1] = sin(deltaS); |
| 1260 | prop[0] = t1 * CF[0] + t2 * CS[0]; |
| 1261 | prop[1] = t1 * CF[1] + t2 * CS[1]; |
| 1262 | |
| 1263 | } |
| 1264 | |
| 1265 | } // Belle 2 namespace |