File indexing completed on 2024-04-06 12:32:12
0001 #include "Validation/EventGenerator/interface/TauDecay.h"
0002 #include "Validation/EventGenerator/interface/PdtPdgMini.h"
0003 #include <iomanip>
0004 #include <cstdlib>
0005 #include <iostream>
0006
0007 TauDecay::TauDecay() { Reset(); }
0008
0009 TauDecay::~TauDecay() {}
0010
0011 void TauDecay::Reset() {
0012 n_pi = 0;
0013 n_pi0 = 0;
0014 n_K = 0;
0015 n_K0L = 0;
0016 n_K0S = 0;
0017 n_gamma = 0;
0018 n_nu = 0;
0019 n_e = 0;
0020 n_mu = 0;
0021 n_a1 = 0;
0022 n_a10 = 0;
0023 n_rho = 0;
0024 n_rho0 = 0;
0025 n_eta = 0;
0026 n_omega = 0;
0027 n_Kstar0 = 0;
0028 n_Kstar = 0;
0029 unknown = 0;
0030 }
0031
0032 bool TauDecay::isTauFinalStateParticle(int pdgid) {
0033 int id = abs(pdgid);
0034 if (id == PdtPdgMini::e_minus)
0035 return true;
0036 if (id == PdtPdgMini::nu_e)
0037 return true;
0038 if (id == PdtPdgMini::mu_minus)
0039 return true;
0040 if (id == PdtPdgMini::nu_mu)
0041 return true;
0042 if (id == PdtPdgMini::nu_tau)
0043 return true;
0044 if (id == PdtPdgMini::gamma)
0045 return true;
0046 if (id == PdtPdgMini::pi0)
0047 return true;
0048 if (id == PdtPdgMini::pi_plus)
0049 return true;
0050 if (id == PdtPdgMini::K_L0)
0051 return true;
0052 if (id == PdtPdgMini::K_S0)
0053 return true;
0054 if (id == PdtPdgMini::eta)
0055 return true;
0056 if (id == PdtPdgMini::omega)
0057 return true;
0058
0059 if (id == PdtPdgMini::K_plus)
0060 return true;
0061 return false;
0062 }
0063
0064 bool TauDecay::isTauParticleCounter(int pdgid) {
0065 int id = abs(pdgid);
0066
0067 if (id == PdtPdgMini::pi_plus) {
0068 n_pi++;
0069 return true;
0070 }
0071 if (id == PdtPdgMini::pi0) {
0072 n_pi0++;
0073 return true;
0074 }
0075 if (id == PdtPdgMini::K_plus) {
0076 n_K++;
0077 return true;
0078 }
0079 if (id == PdtPdgMini::K_L0) {
0080 n_K0L++;
0081 return true;
0082 }
0083 if (id == PdtPdgMini::K_S0) {
0084 n_K0S++;
0085 return true;
0086 }
0087 if (id == PdtPdgMini::eta) {
0088 n_eta++;
0089 return true;
0090 }
0091 if (id == PdtPdgMini::omega) {
0092 n_omega++;
0093 return true;
0094 }
0095 if (id == PdtPdgMini::gamma) {
0096 n_gamma++;
0097 return true;
0098 }
0099 if (id == PdtPdgMini::nu_tau || id == PdtPdgMini::nu_e || id == PdtPdgMini::nu_mu) {
0100 n_nu++;
0101 return true;
0102 }
0103 if (id == PdtPdgMini::e_minus) {
0104 n_e++;
0105 return true;
0106 }
0107 if (id == PdtPdgMini::mu_minus) {
0108 n_mu++;
0109 return true;
0110 }
0111 if (abs(id) == PdtPdgMini::K0)
0112 std::cout << "TauDecay::isTauParticleCounter: ERROR unidentified Particle: " << id << std::endl;
0113 return false;
0114 }
0115
0116 bool TauDecay::isTauResonanceCounter(int pdgid) {
0117 int id = abs(pdgid);
0118
0119 if (id == PdtPdgMini::a_1_plus) {
0120 n_a1++;
0121 return true;
0122 }
0123 if (id == PdtPdgMini::a_10) {
0124 n_a10++;
0125 return true;
0126 }
0127 if (id == PdtPdgMini::rho_plus) {
0128 n_rho++;
0129 return true;
0130 }
0131 if (id == PdtPdgMini::rho0) {
0132 n_rho0++;
0133 return true;
0134 }
0135 if (id == PdtPdgMini::K_star0) {
0136 n_Kstar0++;
0137 return true;
0138 }
0139 if (id == PdtPdgMini::K_star_plus) {
0140 n_Kstar++;
0141 return true;
0142 }
0143 if (id == PdtPdgMini::W_plus) {
0144 return true;
0145 }
0146 unknown++;
0147 return false;
0148 }
0149
0150 void TauDecay::ClassifyDecayMode(unsigned int &MODE_ID, unsigned int &TauBitMask) {
0151
0152 MODE_ID = 0;
0153 TauBitMask = 0;
0154
0155 if (n_pi + n_K + n_e + n_mu == 1)
0156 TauBitMask = OneProng;
0157 if (n_pi + n_K == 3)
0158 TauBitMask = ThreeProng;
0159 if (n_pi + n_K == 5)
0160 TauBitMask = FiveProng;
0161 if (n_pi0 == 1)
0162 TauBitMask += OnePi0;
0163 if (n_pi0 == 2)
0164 TauBitMask += TwoPi0;
0165 if (n_pi0 == 3)
0166 TauBitMask += ThreePi0;
0167 ClassifyDecayResonance(TauBitMask);
0168
0169 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 0 && n_K == 0 && n_K0S + n_K0L == 2 && n_nu == 1) {
0170 MODE_ID = MODE_K0BK0PI;
0171 return;
0172 }
0173 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 0 && n_K == 0 && (n_K0L + n_K0S) == 1 && n_nu == 1) {
0174 MODE_ID = MODE_K0PI;
0175 return;
0176 }
0177 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 1 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0178 MODE_ID = MODE_KPI0;
0179 return;
0180 }
0181 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 1 && n_K == 0 && n_K0L + n_K0S == 1 && n_nu == 1) {
0182 MODE_ID = MODE_PIK0PI0;
0183 return;
0184 }
0185 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 0 && n_K == 1 && (n_K0L + n_K0S) == 1 && n_nu == 1) {
0186 MODE_ID = MODE_KK0B;
0187 return;
0188 }
0189 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 1 && n_K == 1 && n_K0L + n_K0S == 1 && n_nu == 1) {
0190 MODE_ID = MODE_KK0BPI0;
0191 return;
0192 }
0193 if (n_e == 1 && n_mu == 0 && n_pi == 0 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 2) {
0194 MODE_ID = MODE_ELECTRON;
0195 return;
0196 }
0197 if (n_e == 0 && n_mu == 1 && n_pi == 0 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 2) {
0198 MODE_ID = MODE_MUON;
0199 return;
0200 }
0201 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0202 MODE_ID = MODE_PION;
0203 return;
0204 }
0205 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 1 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0206 MODE_ID = MODE_PIPI0;
0207 return;
0208 }
0209 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 2 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0210 MODE_ID = MODE_PI2PI0;
0211 return;
0212 }
0213 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0214 MODE_ID = MODE_3PI;
0215 return;
0216 }
0217 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 0 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0218 MODE_ID = MODE_KAON;
0219 return;
0220 }
0221 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 1 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0222 MODE_ID = MODE_3PIPI0;
0223 return;
0224 }
0225 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 3 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0226 MODE_ID = MODE_PI3PI0;
0227 return;
0228 }
0229 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 2 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0230 MODE_ID = MODE_3PI2PI0;
0231 return;
0232 }
0233 if (n_e == 0 && n_mu == 0 && n_pi == 5 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0234 MODE_ID = MODE_5PI;
0235 return;
0236 }
0237 if (n_e == 0 && n_mu == 0 && n_pi == 5 && n_pi0 == 1 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0238 MODE_ID = MODE_5PIPI0;
0239 return;
0240 }
0241 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 3 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0242 MODE_ID = MODE_3PI3PI0;
0243 return;
0244 }
0245 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 0 && n_K == 2 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0246 MODE_ID = MODE_KPIK;
0247 return;
0248 }
0249 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 2 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0250 MODE_ID = MODE_K2PI0;
0251 return;
0252 }
0253 if (n_e == 0 && n_mu == 0 && n_pi == 2 && n_pi0 == 0 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0254 MODE_ID = MODE_KPIPI;
0255 return;
0256 }
0257 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 1 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0258 n_gamma >= 1 && n_rho == 0) {
0259 MODE_ID = MODE_PIPI0GAM;
0260 return;
0261 }
0262 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 4 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0263 MODE_ID = MODE_PI4PI0;
0264 return;
0265 }
0266 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0267 n_eta == 1) {
0268 MODE_ID = MODE_3PIETA;
0269 return;
0270 }
0271 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 2 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0272 n_eta == 1) {
0273 MODE_ID = MODE_PI2PI0ETA;
0274 return;
0275 }
0276 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 2 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0277 n_omega == 1) {
0278 MODE_ID = MODE_PI2PI0OMEGA;
0279 return;
0280 }
0281 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 0 && n_K == 0 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0282 n_omega == 1) {
0283 MODE_ID = MODE_3PIOMEGA;
0284 return;
0285 }
0286 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 0 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0287 n_omega == 1) {
0288 MODE_ID = MODE_KOMEGA;
0289 return;
0290 }
0291 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 3 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0292 MODE_ID = MODE_K3PI0;
0293 return;
0294 }
0295 if (n_e == 0 && n_mu == 0 && n_pi == 2 && n_pi0 == 1 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0296 MODE_ID = MODE_K2PIPI0;
0297 return;
0298 }
0299 if (n_e == 0 && n_mu == 0 && n_pi == 0 && n_pi0 == 0 && n_K == 1 && n_K0L == 0 && n_K0S == 0 && n_nu == 1 &&
0300 n_eta == 1) {
0301 MODE_ID = MODE_KETA;
0302 return;
0303 }
0304 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 2 && n_K == 0 && (n_K0L + n_K0S) == 0 && n_nu == 1) {
0305 MODE_ID = MODE_K0PI2PI0;
0306 return;
0307 }
0308 if (n_e == 0 && n_mu == 0 && n_pi == 3 && n_pi0 == 0 && n_K == 0 && (n_K0L + n_K0S) == 1 && n_nu == 1) {
0309 MODE_ID = MODE_K03PI;
0310 return;
0311 }
0312 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 1 && n_K == 0 && (n_K0L + n_K0S) == 2 && n_nu == 1) {
0313 MODE_ID = MODE_2K0PIPI0;
0314 return;
0315 }
0316 if (n_e == 0 && n_mu == 0 && n_pi == 1 && n_pi0 == 1 && n_K == 2 && n_K0L == 0 && n_K0S == 0 && n_nu == 1) {
0317 MODE_ID = MODE_KPIKPI0;
0318 return;
0319 }
0320 if (n_pi == 1 && n_pi0 == 1 && n_nu == 1 && n_eta == 1) {
0321 MODE_ID = MODE_ETAPIPI0;
0322 return;
0323 }
0324
0325 std::cout << "Tau Mode not found: n_e " << n_e << " n_mu " << n_mu << " n_pi " << n_pi << " n_pi0 " << n_pi0
0326 << " n_K " << n_K << " n_K0L " << n_K0L << " n_K0S " << n_K0S << " n_nu " << n_nu << " n_gamma "
0327 << n_gamma << std::endl;
0328 MODE_ID = MODE_UNKNOWN;
0329 }
0330
0331 unsigned int TauDecay::nProng(unsigned int &TauBitMask) {
0332 if (OneProng & TauBitMask)
0333 return 1;
0334 if (ThreeProng & TauBitMask)
0335 return 3;
0336 if (FiveProng & TauBitMask)
0337 return 5;
0338 return 7;
0339 }
0340 unsigned int TauDecay::nPi0(unsigned int &TauBitMask) {
0341 if (OnePi0 & TauBitMask)
0342 return 1;
0343 if (TwoPi0 & TauBitMask)
0344 return 2;
0345 if (ThreePi0 & TauBitMask)
0346 return 3;
0347 return 0;
0348 }
0349
0350 bool TauDecay::hasResonance(unsigned int &TauBitMask, int pdgid) {
0351 int p = abs(pdgid);
0352 if (p == PdtPdgMini::a_1_plus && Res_a1_pm & TauBitMask)
0353 return true;
0354 if (p == PdtPdgMini::a_10 && Res_a1_0 & TauBitMask)
0355 return true;
0356 if (p == PdtPdgMini::rho_plus && Res_rho_pm & TauBitMask)
0357 return true;
0358 if (p == PdtPdgMini::rho0 && Res_rho_0 & TauBitMask)
0359 return true;
0360 if (p == PdtPdgMini::eta && Res_eta & TauBitMask)
0361 return true;
0362 if (p == PdtPdgMini::omega && Res_omega & TauBitMask)
0363 return true;
0364 if (p == PdtPdgMini::K_star0 && Res_Kstar_pm & TauBitMask)
0365 return true;
0366 if (p == PdtPdgMini::K_star_plus && Res_Kstar_0 & TauBitMask)
0367 return true;
0368 if (p == PdtPdgMini::K_S0 && KS0_to_pipi & TauBitMask)
0369 return true;
0370 return false;
0371 }
0372
0373 void TauDecay::ClassifyDecayResonance(unsigned int &TauBitMask) {
0374
0375 if (n_a1 > 0)
0376 TauBitMask += Res_a1_pm;
0377 if (n_a10 > 0)
0378 TauBitMask += Res_a1_0;
0379 if (n_rho > 0)
0380 TauBitMask += Res_rho_pm;
0381 if (n_rho0 > 0)
0382 TauBitMask += Res_rho_0;
0383 if (n_eta > 0)
0384 TauBitMask += Res_eta;
0385 if (n_omega > 0)
0386 TauBitMask += Res_omega;
0387 if (n_Kstar > 0)
0388 TauBitMask += Res_Kstar_pm;
0389 if (n_Kstar0 > 0)
0390 TauBitMask += Res_Kstar_0;
0391 }
0392
0393 std::string TauDecay::DecayMode(unsigned int &MODE_ID) {
0394 if (MODE_ID == MODE_ELECTRON)
0395 return "#tau^{#pm} #rightarrow e^{#pm}#nu#nu";
0396 else if (MODE_ID == MODE_MUON)
0397 return "#tau^{#pm} #rightarrow #mu^{#pm}#nu#nu";
0398 else if (MODE_ID == MODE_PION)
0399 return "#tau^{#pm} #rightarrow #pi^{#pm}#nu";
0400 else if (MODE_ID == MODE_PIPI0)
0401 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#nu";
0402 else if (MODE_ID == MODE_3PI)
0403 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#mp}#nu";
0404 else if (MODE_ID == MODE_PI2PI0)
0405 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#pi^{0}#nu";
0406 else if (MODE_ID == MODE_KAON)
0407 return "#tau^{#pm} #rightarrow K^{#pm}#nu";
0408 else if (MODE_ID == MODE_KPI0)
0409 return "#tau^{#pm} #rightarrow K^{#pm}#pi^{0}#nu";
0410 else if (MODE_ID == MODE_K0PI)
0411 return "#tau^{#pm} #rightarrow K^{0}#pi^{#pm}#nu";
0412 else if (MODE_ID == MODE_3PIPI0)
0413 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#mp}#pi^{0}#nu";
0414 else if (MODE_ID == MODE_PI3PI0)
0415 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#pi^{0}#pi^{0}#nu";
0416 else if (MODE_ID == MODE_3PI2PI0)
0417 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#mp}#pi^{0}#pi^{0}#nu";
0418 else if (MODE_ID == MODE_5PI)
0419 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#pm}#pi^{#mp}#pi^{#mp}#nu";
0420 else if (MODE_ID == MODE_5PIPI0)
0421 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#pm}#pi^{#mp}#pi^{#mp}#pi^{0}#nu";
0422 else if (MODE_ID == MODE_3PI3PI0)
0423 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#mp}#pi^{0}#pi^{0}#pi^{0}#nu";
0424 else if (MODE_ID == MODE_KPIK)
0425 return "#tau^{#pm} #rightarrow K^{#pm}#pi^{#pm}K^{#mp}#nu";
0426 else if (MODE_ID == MODE_K0BK0PI)
0427 return "#tau^{#pm} #rightarrow #bar{K}^{0}K^{0}#pi^{#pm}#nu";
0428 else if (MODE_ID == MODE_KK0BPI0)
0429 return "#tau^{#pm} #rightarrow #bar{K}^{0}K^{0}#pi^{#pm}#pi^{0}#nu";
0430 else if (MODE_ID == MODE_K2PI0)
0431 return "#tau^{#pm} #rightarrow K^{#pm}#pi^{0}#pi^{0}#nu";
0432 else if (MODE_ID == MODE_KPIPI)
0433 return "#tau^{#pm} #rightarrow K^{#pm}#pi^{#pm}#pi^{#mp}#nu";
0434 else if (MODE_ID == MODE_PIK0PI0)
0435 return "#tau^{#pm} #rightarrow K^{0}#pi^{#pm}#pi^{0}#nu";
0436 else if (MODE_ID == MODE_ETAPIPI0)
0437 return "#tau^{#pm} #rightarrow #pi^{#pm}#eta#pi^{0}#nu";
0438 else if (MODE_ID == MODE_PIPI0GAM)
0439 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#nu#gamma (obsolete)";
0440 else if (MODE_ID == MODE_KK0B)
0441 return "#tau^{#pm} #rightarrow K^{#pm}#bar{K}^{0}#nu";
0442 else if (MODE_ID == MODE_PI4PI0)
0443 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#pi^{0}#pi^{0}#pi^{0}#nu";
0444 else if (MODE_ID == MODE_3PIETA)
0445 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#mp}#eta#nu";
0446 else if (MODE_ID == MODE_PI2PI0ETA)
0447 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#pi^{0}#eta#nu";
0448 else if (MODE_ID == MODE_PI2PI0OMEGA)
0449 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{0}#pi^{0}#omega#nu";
0450 else if (MODE_ID == MODE_3PIOMEGA)
0451 return "#tau^{#pm} #rightarrow #pi^{#pm}#pi^{#pm}#pi^{#mp}#omega#nu";
0452 else if (MODE_ID == MODE_KOMEGA)
0453 return "#tau^{#pm} #rightarrow K^{#pm}#omega#nu";
0454 else if (MODE_ID == MODE_K3PI0)
0455 return "#tau^{#pm} #rightarrow K#pi^{0}#pi^{0}#pi^{0}#nu";
0456 else if (MODE_ID == MODE_K2PIPI0)
0457 return "#tau^{#pm} #rightarrow K^{#pm}#pi^{#pm}#pi^{#mp}#pi^{0}#nu";
0458 else if (MODE_ID == MODE_KETA)
0459 return "#tau^{#pm} #rightarrow K^{#pm}#eta#nu";
0460 else if (MODE_ID == MODE_K0PI2PI0)
0461 return "#tau^{#pm} #rightarrow K^{0}#pi^{#pm}#pi^{0}#pi^{0}#nu";
0462 else if (MODE_ID == MODE_K03PI)
0463 return "#tau^{#pm} #rightarrow K^{0}#pi^{#pm}#pi^{#pm}#pi^{#mp}#nu";
0464 else if (MODE_ID == MODE_2K0PIPI0)
0465 return "#tau^{#pm} #rightarrow K^{0}#bar{K}^{0}#pi^{#pm}#pi^{-}#nu";
0466 else if (MODE_ID == MODE_KPIKPI0)
0467 return "#tau^{#pm} #rightarrow K^{#pm}#pi^{#pm}K^{#mp}#pi^{0}#nu";
0468 return "UnKnown";
0469 }