1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 // Implementation of AliDecayer using Pythia8
19 // Author: andreas.morsch@cern.ch
22 #include <TLorentzVector.h>
23 #include <TClonesArray.h>
24 #include <TParticle.h>
25 #include "AliTPythia8.h"
26 #include "AliDecayerPythia8.h"
27 #include "ParticleData.h"
29 ClassImp(AliDecayerPythia8)
31 Bool_t AliDecayerPythia8::fgInit = kFALSE;
33 AliDecayerPythia8::AliDecayerPythia8():
35 fPythia8(AliTPythia8::Instance()),
41 fPythia8->Pythia8()->readString("SoftQCD:elastic = on");
42 fPythia8->Pythia8()->init();
45 //___________________________________________________________________________
46 void AliDecayerPythia8::Decay(Int_t pdg, TLorentzVector* p)
48 // Decay a single particle
50 AppendParticle(pdg, p);
51 Int_t idPart = fPythia8->Pythia8()->event[0].id();
52 fPythia8->Pythia8()->particleData.mayDecay(idPart,kTRUE);
53 fPythia8->Pythia8()->moreDecays();
54 if (fDebug > 0) fPythia8->EventListing();
57 //___________________________________________________________________________
58 Int_t AliDecayerPythia8::ImportParticles(TClonesArray *particles)
60 //import the decay products into particles array
61 const Float_t kconvT=0.001/2.999792458e8; // mm/c to seconds conversion
62 const Float_t kconvL=1./10; // mm to cm conversion
63 int np = fPythia8->ImportParticles(particles, "All");
64 // pythia assigns decay time in mm/c, convert to seconds
65 for (int ip=1;ip<np;ip++) {
66 TParticle* prod = (TParticle*)particles->At(ip);
68 prod->SetProductionVertex(prod->Vx()*kconvL,prod->Vy()*kconvL,prod->Vz()*kconvL,kconvT*prod->T());
74 void AliDecayerPythia8::Init()
80 // fPythia->SetDecayTable();
83 // Switch on heavy flavor decays
86 Int_t heavy[14] = {411, 421, 431, 4122, 4132, 4232, 4332, 511, 521, 531, 5122, 5132, 5232, 5332};
87 // fPythia->ResetDecayTable();
88 for (j=0; j < 14; j++) {
89 if (fDecay == kNoDecayHeavy) {
90 fPythia8->ReadString(Form("%d:onMode = off", heavy[j]));
92 fPythia8->ReadString(Form("%d:onMode = on", heavy[j]));
97 //...Switch off decay of pi0, K0S, Lambda, Sigma+-, Xi0-, Omega-.
99 if (fDecay != kNeutralPion) {
100 fPythia8->ReadString("111:onMode = off");
102 fPythia8->ReadString("111:onMode = on");
105 fPythia8->ReadString("310:onMode = off");
106 fPythia8->ReadString("3112:onMode = off");
107 fPythia8->ReadString("3212:onMode = off");
108 fPythia8->ReadString("3222:onMode = off");
109 fPythia8->ReadString("3312:onMode = off");
110 fPythia8->ReadString("3322:onMode = off");
111 fPythia8->ReadString("3334:onMode = off");
112 // .. Force decay channels
116 void AliDecayerPythia8::ForceDecay()
119 // Force a particle decay mode
120 // Switch heavy flavour production off if requested
121 if (!fHeavyFlavour) SwitchOffHeavyFlavour();
123 Decay_t decay = fDecay;
124 fPythia8->ReadString("HadronLevel:Decay = on");
126 if (decay == kNoDecayHeavy) return;
134 fPythia8->ReadString("511:onMode = off");
135 fPythia8->ReadString("511:onIfAny = 13 443 100443");
137 fPythia8->ReadString("521:onMode = off");
138 fPythia8->ReadString("521:onIfAny = 13 443 100443");
140 fPythia8->ReadString("531:onMode = off");
141 fPythia8->ReadString("531:onIfAny = 13 443 100443");
143 fPythia8->ReadString("5122:onMode = off");
144 fPythia8->ReadString("5122:onIfAny = 13 443 100443");
146 fPythia8->ReadString("5132:onMode = off");
147 fPythia8->ReadString("5132:onIfAny = 13 443 100443");
149 fPythia8->ReadString("5232:onMode = off");
150 fPythia8->ReadString("5232:onIfAny = 13 443 100443");
152 fPythia8->ReadString("5332:onMode = off");
153 fPythia8->ReadString("5332:onIfAny = 13 443 100443");
155 fPythia8->ReadString("100443:onMode = off");
156 fPythia8->ReadString("100443:onIfAny = 443");
158 fPythia8->ReadString("443:onMode = off");
159 fPythia8->ReadString("443:onIfAll = 13 13");
161 fPythia8->ReadString("411:onMode = off");
162 fPythia8->ReadString("411:onIfAll = 13");
164 fPythia8->ReadString("421:onMode = off");
165 fPythia8->ReadString("421:onIfAll = 13");
167 fPythia8->ReadString("431:onMode = off");
168 fPythia8->ReadString("431:onIfAll = 13");
170 fPythia8->ReadString("4122:onMode = off");
171 fPythia8->ReadString("4122:onIfAll = 13");
173 fPythia8->ReadString("4132:onMode = off");
174 fPythia8->ReadString("4132:onIfAll = 13");
176 fPythia8->ReadString("4232:onMode = off");
177 fPythia8->ReadString("4232:onIfAll = 13");
179 fPythia8->ReadString("4332:onMode = off");
180 fPythia8->ReadString("4332:onIfAll = 13");
183 case kChiToJpsiGammaToMuonMuon:
184 // Chi_1c -> J/Psi Gamma
185 fPythia8->ReadString("20443:onMode = off");
186 fPythia8->ReadString("20443:onIfAll = 443 22");
187 // Chi_2c -> J/Psi Gamma
188 fPythia8->ReadString("445:onMode = off");
189 fPythia8->ReadString("445:onIfAll = 443 22");
191 fPythia8->ReadString("443:onMode = off");
192 fPythia8->ReadString("443:onIfAll = 13 13");
194 case kChiToJpsiGammaToElectronElectron:
195 // Chi_1c -> J/Psi Gamma
196 fPythia8->ReadString("20443:onMode = off");
197 fPythia8->ReadString("20443:onIfAll = 443 22");
198 // Chi_2c -> J/Psi Gamma
199 fPythia8->ReadString("445:onMode = off");
200 fPythia8->ReadString("445:onIfAll = 443 22");
202 fPythia8->ReadString("443:onMode = off");
203 fPythia8->ReadString("443:onIfAll = 11 11");
208 fPythia8->ReadString("511:onMode = off");
209 fPythia8->ReadString("511:onIfAny = 13");
211 fPythia8->ReadString("521:onMode = off");
212 fPythia8->ReadString("521:onIfAny = 13");
214 fPythia8->ReadString("531:onMode = off");
215 fPythia8->ReadString("531:onIfAny = 13");
217 fPythia8->ReadString("5122:onMode = off");
218 fPythia8->ReadString("5122:onIfAny = 13");
220 fPythia8->ReadString("5132:onMode = off");
221 fPythia8->ReadString("5132:onIfAny = 13");
223 fPythia8->ReadString("5232:onMode = off");
224 fPythia8->ReadString("5232:onIfAny = 13");
226 fPythia8->ReadString("5332:onMode = off");
227 fPythia8->ReadString("5332:onIfAny = 13");
231 fPythia8->ReadString("411:onMode = off");
232 fPythia8->ReadString("411:onIfAll = 13");
234 fPythia8->ReadString("421:onMode = off");
235 fPythia8->ReadString("421:onIfAll = 13");
237 fPythia8->ReadString("431:onMode = off");
238 fPythia8->ReadString("431:onIfAll = 13");
240 fPythia8->ReadString("4122:onMode = off");
241 fPythia8->ReadString("4122:onIfAll = 13");
243 fPythia8->ReadString("4132:onMode = off");
244 fPythia8->ReadString("4132:onIfAll = 13");
246 fPythia8->ReadString("4232:onMode = off");
247 fPythia8->ReadString("4232:onIfAll = 13");
249 fPythia8->ReadString("4332:onMode = off");
250 fPythia8->ReadString("4332:onIfAll = 13");
254 fPythia8->ReadString("411:onMode = off");
255 fPythia8->ReadString("411:onIfAll = 13");
257 fPythia8->ReadString("421:onMode = off");
258 fPythia8->ReadString("421:onIfAll = 13");
260 fPythia8->ReadString("431:onMode = off");
261 fPythia8->ReadString("431:onIfAll = 13");
263 fPythia8->ReadString("4122:onMode = off");
264 fPythia8->ReadString("4122:onIfAll = 13");
266 fPythia8->ReadString("4132:onMode = off");
267 fPythia8->ReadString("4132:onIfAll = 13");
269 fPythia8->ReadString("4232:onMode = off");
270 fPythia8->ReadString("4232:onIfAll = 13");
272 fPythia8->ReadString("4332:onMode = off");
273 fPythia8->ReadString("4332:onIfAll = 13");
275 fPythia8->ReadString("511:onMode = off");
276 fPythia8->ReadString("511:onIfAny = 13");
278 fPythia8->ReadString("521:onMode = off");
279 fPythia8->ReadString("521:onIfAny = 13");
281 fPythia8->ReadString("531:onMode = off");
282 fPythia8->ReadString("531:onIfAny = 13");
284 fPythia8->ReadString("5122:onMode = off");
285 fPythia8->ReadString("5122:onIfAny = 13");
287 fPythia8->ReadString("5132:onMode = off");
288 fPythia8->ReadString("5132:onIfAny = 13");
290 fPythia8->ReadString("5232:onMode = off");
291 fPythia8->ReadString("5232:onIfAny = 13");
293 fPythia8->ReadString("5332:onMode = off");
294 fPythia8->ReadString("5332:onIfAny = 13");
299 fPythia8->ReadString("443:onMode = off");
300 fPythia8->ReadString("443:onIfAll = 13 13");
304 fPythia8->ReadString("113:onMode = off");
305 fPythia8->ReadString("113:onIfAll = 13 13");
307 fPythia8->ReadString("221:onMode = off");
308 fPythia8->ReadString("221:onIfAll = 13 13");
310 fPythia8->ReadString("223:onMode = off");
311 fPythia8->ReadString("223:onIfAll = 13 13");
313 fPythia8->ReadString("333:onMode = off");
314 fPythia8->ReadString("333:onIfAll = 13 13");
316 fPythia8->ReadString("443:onMode = off");
317 fPythia8->ReadString("443:onIfAll = 13 13");
319 fPythia8->ReadString("100443:onMode = off");
320 fPythia8->ReadString("100443:onIfAll = 13 13");
322 fPythia8->ReadString("553:onMode = off");
323 fPythia8->ReadString("553:onIfAll = 13 13");
325 fPythia8->ReadString("100553:onMode = off");
326 fPythia8->ReadString("100553:onIfAll = 13 13");
328 fPythia8->ReadString("200553:onMode = off");
329 fPythia8->ReadString("200553:onIfAll = 13 13");
331 case kBSemiElectronic:
333 fPythia8->ReadString("511:onMode = off");
334 fPythia8->ReadString("511:onIfAny = 11");
336 fPythia8->ReadString("521:onMode = off");
337 fPythia8->ReadString("521:onIfAny = 11");
339 fPythia8->ReadString("531:onMode = off");
340 fPythia8->ReadString("531:onIfAny = 11");
342 fPythia8->ReadString("5122:onMode = off");
343 fPythia8->ReadString("5122:onIfAny = 11");
345 fPythia8->ReadString("5132:onMode = off");
346 fPythia8->ReadString("5132:onIfAny = 11");
348 fPythia8->ReadString("5232:onMode = off");
349 fPythia8->ReadString("5232:onIfAny = 11");
351 fPythia8->ReadString("5332:onMode = off");
352 fPythia8->ReadString("5332:onIfAny = 11");
354 case kSemiElectronic:
356 fPythia8->ReadString("411:onMode = off");
357 fPythia8->ReadString("411:onIfAll = 11");
359 fPythia8->ReadString("421:onMode = off");
360 fPythia8->ReadString("421:onIfAll = 11");
362 fPythia8->ReadString("431:onMode = off");
363 fPythia8->ReadString("431:onIfAll = 11");
365 fPythia8->ReadString("4122:onMode = off");
366 fPythia8->ReadString("4122:onIfAll = 11");
368 fPythia8->ReadString("4132:onMode = off");
369 fPythia8->ReadString("4132:onIfAll = 11");
371 fPythia8->ReadString("4232:onMode = off");
372 fPythia8->ReadString("4232:onIfAll = 11");
374 fPythia8->ReadString("4332:onMode = off");
375 fPythia8->ReadString("4332:onIfAll = 11");
377 fPythia8->ReadString("511:onMode = off");
378 fPythia8->ReadString("511:onIfAny = 11");
380 fPythia8->ReadString("521:onMode = off");
381 fPythia8->ReadString("521:onIfAny = 11");
383 fPythia8->ReadString("531:onMode = off");
384 fPythia8->ReadString("531:onIfAny = 11");
386 fPythia8->ReadString("5122:onMode = off");
387 fPythia8->ReadString("5122:onIfAny = 11");
389 fPythia8->ReadString("5132:onMode = off");
390 fPythia8->ReadString("5132:onIfAny = 11");
392 fPythia8->ReadString("5232:onMode = off");
393 fPythia8->ReadString("5232:onIfAny = 11");
395 fPythia8->ReadString("5332:onMode = off");
396 fPythia8->ReadString("5332:onIfAny = 11");
400 fPythia8->ReadString("113:onMode = off");
401 fPythia8->ReadString("113:onIfAll = 11 11");
403 fPythia8->ReadString("221:onMode = off");
404 fPythia8->ReadString("221:onIfAll = 11 11");
406 fPythia8->ReadString("223:onMode = off");
407 fPythia8->ReadString("223:onIfAll = 11 11");
409 fPythia8->ReadString("333:onMode = off");
410 fPythia8->ReadString("333:onIfAll = 11 11");
412 fPythia8->ReadString("443:onMode = off");
413 fPythia8->ReadString("443:onIfAll = 11 11");
415 fPythia8->ReadString("100443:onMode = off");
416 fPythia8->ReadString("100443:onIfAll = 11 11");
418 fPythia8->ReadString("553:onMode = off");
419 fPythia8->ReadString("553:onIfAll = 11 11");
421 fPythia8->ReadString("100553:onMode = off");
422 fPythia8->ReadString("100553:onIfAll = 11 11");
424 fPythia8->ReadString("200553:onMode = off");
425 fPythia8->ReadString("200553:onIfAll = 11 11");
428 // B0 -> J/Psi (Psi') X
429 fPythia8->ReadString("511:onMode = off");
430 fPythia8->ReadString("511:onIfAny = 443 100443");
431 // B+/- -> J/Psi (Psi') X
432 fPythia8->ReadString("521:onMode = off");
433 fPythia8->ReadString("521:onIfAny = 443 100443");
434 // B_s -> J/Psi (Psi') X
435 fPythia8->ReadString("531:onMode = off");
436 fPythia8->ReadString("531:onIfAny = 443 100443");
437 // Lambda_b -> J/Psi (Psi') X
438 fPythia8->ReadString("5122:onMode = off");
439 fPythia8->ReadString("5122:onIfAny = 443 100443");
442 fPythia8->ReadString("443:onMode = off");
443 fPythia8->ReadString("443:onIfAll = 13 13");
445 fPythia8->ReadString("100443:onMode = off");
446 fPythia8->ReadString("100443:onIfAll = 13 13");
448 case kBPsiPrimeDiMuon:
450 fPythia8->ReadString("511:onMode = off");
451 fPythia8->ReadString("511:onIfAny = 100443");
453 fPythia8->ReadString("521:onMode = off");
454 fPythia8->ReadString("521:onIfAny = 100443");
456 fPythia8->ReadString("531:onMode = off");
457 fPythia8->ReadString("531:onIfAny = 100443");
458 // Lambda_b -> Psi' X
459 fPythia8->ReadString("5122:onMode = off");
460 fPythia8->ReadString("5122:onIfAny = 100443");
463 fPythia8->ReadString("100443:onMode = off");
464 fPythia8->ReadString("100443:onIfAll = 13 13");
466 case kBJpsiDiElectron:
468 fPythia8->ReadString("511:onMode = off");
469 fPythia8->ReadString("511:onIfAny = 443");
471 fPythia8->ReadString("521:onMode = off");
472 fPythia8->ReadString("521:onIfAny = 443");
474 fPythia8->ReadString("531:onMode = off");
475 fPythia8->ReadString("531:onIfAny = 443");
477 fPythia8->ReadString("5122:onMode = off");
478 fPythia8->ReadString("5122:onIfAny = 443");
481 fPythia8->ReadString("443:onMode = off");
482 fPythia8->ReadString("443:onIfAll = 11 11");
487 fPythia8->ReadString("511:onMode = off");
488 fPythia8->ReadString("511:onIfAny = 443");
490 fPythia8->ReadString("521:onMode = off");
491 fPythia8->ReadString("521:onIfAny = 443");
493 fPythia8->ReadString("531:onMode = off");
494 fPythia8->ReadString("531:onIfAny = 443");
496 fPythia8->ReadString("5122:onMode = off");
497 fPythia8->ReadString("5122:onIfAny = 443");
499 case kBPsiPrimeDiElectron:
501 fPythia8->ReadString("511:onMode = off");
502 fPythia8->ReadString("511:onIfAny = 100443");
504 fPythia8->ReadString("521:onMode = off");
505 fPythia8->ReadString("521:onIfAny = 100443");
507 fPythia8->ReadString("531:onMode = off");
508 fPythia8->ReadString("531:onIfAny = 100443");
509 // Lambda_b -> Psi' X
510 fPythia8->ReadString("5122:onMode = off");
511 fPythia8->ReadString("5122:onIfAny = 100443");
514 fPythia8->ReadString("100443:onMode = off");
515 fPythia8->ReadString("100443:onIfAll = 11 11");
519 fPythia8->ReadString("211:onMode = off");
520 fPythia8->ReadString("211:onIfAny = 13");
524 fPythia8->ReadString("321:onMode = off");
525 fPythia8->ReadString("321:onIfAny = 13");
529 fPythia8->ReadString("211:onMode = off");
530 fPythia8->ReadString("211:onIfAny = 13");
531 fPythia8->ReadString("321:onMode = off");
532 fPythia8->ReadString("321:onIfAny = 13");
536 fPythia8->ReadString("24:onMode = off");
537 fPythia8->ReadString("24:onIfAny = 13");
541 fPythia8->ReadString("24:onMode = off");
542 fPythia8->ReadString("24:onIfAny = 4");
544 case kWToCharmToMuon:
546 fPythia8->ReadString("24:onMode = off");
547 fPythia8->ReadString("24:onIfAny = 4");
549 fPythia8->ReadString("411:onMode = off");
550 fPythia8->ReadString("411:onIfAll = 13");
552 fPythia8->ReadString("421:onMode = off");
553 fPythia8->ReadString("421:onIfAll = 13");
555 fPythia8->ReadString("431:onMode = off");
556 fPythia8->ReadString("431:onIfAll = 13");
558 fPythia8->ReadString("4122:onMode = off");
559 fPythia8->ReadString("4122:onIfAll = 13");
561 fPythia8->ReadString("4132:onMode = off");
562 fPythia8->ReadString("4132:onIfAll = 13");
564 fPythia8->ReadString("4232:onMode = off");
565 fPythia8->ReadString("4232:onIfAll = 13");
567 fPythia8->ReadString("4332:onMode = off");
568 fPythia8->ReadString("4332:onIfAll = 13");
572 fPythia8->ReadString("23:onMode = off");
573 fPythia8->ReadString("23:onIfAll = 13 13");
577 fPythia8->ReadString("23:onMode = off");
578 fPythia8->ReadString("23:onIfAll = 11 11");
583 case kHadronicDWithout4Bodies:
588 fPythia8->ReadString("333:onMode = off");
589 fPythia8->ReadString("333:onIfAll = 321 321");
593 fPythia8->ReadString("3334:onMode = off");
594 fPythia8->ReadString("3334:onIfAll = 3122 321 ");
598 fPythia8->ReadString("3122:onMode = off");
599 fPythia8->ReadString("3122:onIfAll = 2212 211 ");
602 fPythia8->ReadString("5122:onMode = off");
603 fPythia8->ReadString("4122:onMode = off");
604 fPythia8->ReadString("5122:onIfAll = 4122");
605 fPythia8->ReadString("4122:onIfAll = 3122");
610 fPythia8->ReadString("HadronLevel:Decay = off");
615 case kPsiPrimeJpsiDiElectron:
623 Float_t AliDecayerPythia8::GetPartialBranchingRatio(Int_t ipart)
625 // Get the partial branching ration for the forced decay channels
627 Pythia8::Pythia* thePythia = fPythia8->Pythia8();
628 Pythia8::ParticleData & table = thePythia->particleData;
629 Pythia8::ParticleDataEntry* pd = table.particleDataEntryPtr(ipart);
631 Int_t nc = pd->sizeChannels();
634 // Loop over decay channels
635 for (Int_t ic = 0; ic < nc; ic++) {
636 Pythia8::DecayChannel& decCh = pd->channel(ic);
637 for (Int_t i = 0; i < decCh.multiplicity(); i++) {
638 br += decCh.bRatio();
645 Float_t AliDecayerPythia8::GetLifetime(Int_t kf)
647 // Return lifetime of particle
648 Pythia8::Pythia* thePythia = fPythia8->Pythia8();
649 Pythia8::ParticleData& table = thePythia->particleData;
650 Float_t tau = table.tau0(kf);
654 void AliDecayerPythia8::SwitchOffHeavyFlavour()
656 // Switch off heavy flavour production
658 // Maximum number of quark flavours used in pdf
659 fPythia8->ReadString("PDFinProcess:nQuarkIn = 3");
660 // Maximum number of flavors that can be used in showers
661 fPythia8->ReadString("SpaceShower:nQuarkIn = 3");
662 fPythia8->ReadString("TimeShower:nGammaToQuark = 3");
663 fPythia8->ReadString("TimeShower:nGluonToQuark = 3");
667 void AliDecayerPythia8::ForceHadronicD(Int_t optUse4Bodies)
670 // Force golden D decay modes
673 fPythia8->ReadString("313:onMode = off");
674 fPythia8->ReadString("313:onIfAll = 321 211");
676 fPythia8->ReadString("333:onMode = off");
677 fPythia8->ReadString("333:onIfAll = 321 321");
678 // for D0 -> rho0 pi+ k-
679 fPythia8->ReadString("113:onMode = off");
680 fPythia8->ReadString("113:onIfAll = 211 211");
681 // for Lambda_c -> Delta++ K-
682 fPythia8->ReadString("2224:onMode = off");
683 fPythia8->ReadString("2224:onIfAll = 2212 211");
684 // for Lambda_c -> Lambda(1520) K-
685 fPythia8->ReadString("3124:onMode = off");
686 fPythia8->ReadString("3124:onIfAll = 2212 321");
689 fPythia8->ReadString("411:onMode = off");
690 fPythia8->ReadString("421:onMode = off");
691 fPythia8->ReadString("431:onMode = off");
692 fPythia8->ReadString("4112:onMode = off");
693 fPythia8->ReadString("4122:onMode = off");
696 fPythia8->ReadString("411:onIfMatch = 321 211 211");
698 fPythia8->ReadString("411:onIfMatch = 313 211");
700 fPythia8->ReadString("421:onIfMatch = 321 211");
704 fPythia8->ReadString("421:onIfMatch = 321 211 211 211");
706 fPythia8->ReadString("421:onIfMatch = 321 211 113");
708 fPythia8->ReadString("421:onIfMatch = 313 211 211");
712 fPythia8->ReadString("431:onIfMatch = 321 313");
714 fPythia8->ReadString("431:onIfMatch = 333 211");
717 fPythia8->ReadString("4122:onIfMatch = 2212 313");
718 // Lambda_c -> Delta K
719 fPythia8->ReadString("4122:onIfMatch = 2224 321");
720 // Lambda_c -> Lambda(1520) pi
721 fPythia8->ReadString("4122:onIfMatch = 3124 211");
722 // Lambda_c -> p K pi
723 fPythia8->ReadString("4122:onIfMatch = 2212 321 211");
724 // Lambda_c -> Lambda pi
725 fPythia8->ReadString("4122:onIfMatch = 3122 211");
729 //___________________________________________________________________________
730 void AliDecayerPythia8::ReadDecayTable()
732 //to read a decay table (not yet implemented)
736 //___________________________________________________________________________
737 void AliDecayerPythia8::AppendParticle(Int_t pdg, TLorentzVector* p)
739 // Append a particle to the stack
740 fPythia8->Pythia8()->event.append(pdg, 11, 0, 0, p->Px(), p->Py(), p->Pz(), p->E(), p->M());
744 //___________________________________________________________________________
745 void AliDecayerPythia8::ClearEvent()
747 // Clear the event stack
748 fPythia8->Pythia8()->event.clear();