diff --git a/EVGEN/AliDecayer.h b/EVGEN/AliDecayer.h index 4b93b700652..398c389f560 100644 --- a/EVGEN/AliDecayer.h +++ b/EVGEN/AliDecayer.h @@ -24,7 +24,7 @@ typedef enum kHadronicDWithV0,kHadronicDWithout4BodiesWithV0,kAllEM, kLcpKpi, kLcpK0S, kHFYellowReport, kHadronicDPionicD0, kHadronicDWithV0PionicD0, kHadronicDWithout4BodiesPionicD0, kHadronicDWithout4BodiesWithV0PionicD0,kHadronicDPionicD0pure,kHadronicDPionicD0K,kHadronicDPionicD0pi, kLcpK0SBDTsig, kEtaPrime,kEtaPrimeGammaGamma, - kXic0Semileptonic,kHadronicDWithout4BodiesDsPhiPi, kLcLpi, kOmegac0Semileptonic, kOmegac0ToXiPi + kXic0Semileptonic,kHadronicDWithout4BodiesDsPhiPi, kLcLpi, kOmegac0Semileptonic, kOmegac0ToXiPi, kF0F1K0s, kF1K0sK } Decay_t; #endif diff --git a/PYTHIA6/AliPythia6/AliDecayerPythia.cxx b/PYTHIA6/AliPythia6/AliDecayerPythia.cxx index ddefe34e069..3c7c5a3d411 100644 --- a/PYTHIA6/AliPythia6/AliDecayerPythia.cxx +++ b/PYTHIA6/AliPythia6/AliDecayerPythia.cxx @@ -504,6 +504,12 @@ void AliDecayerPythia::ForceDecay() case kLambda: ForceLambda(); break; + case kF0F1K0s: + ForceF0F1(); + break; + case kF1K0sK: + ForceF1K0sK(); + break; case kAll: break; case kNoDecay: @@ -682,6 +688,35 @@ void AliDecayerPythia::Lu1Ent(Int_t flag, Int_t idpart, } +void AliDecayerPythia::ForceF0F1() +{ + // force decay mode of f0(1500) to K0s K0s + const Int_t prod[2]={310,-310}; + Int_t mult[2]={1,1}; + ForceParticleDecay(9030221,prod,mult,2,1); + // force decay of f2(1525) to K0s K0s + ForceParticleDecay(335,prod,mult,2,1); + // force decay of f2(1270) to K0s K0s + ForceParticleDecay(225,prod,mult,2,1); + // force decay of f0(1370) to K0s K0s + ForceParticleDecay(10221,prod,mult,2,1); + // force decay of f1(1285) to K0s, anti-K, pi+ + const Int_t prod2[3]={310,-321,211}; + Int_t mult2[3]={1,1,1}; + ForceParticleDecay(20223,prod2,mult2,3,1); + // force decay of f1(1420) to K0s, anti-K, pi+ + ForceParticleDecay(20333,prod2,mult2,3,1); +} + +void AliDecayerPythia::ForceF1K0sK() +{ + // force decay of f1(1285) to K0s, K, pi- + const Int_t prod[3]={310,321,-211}; + Int_t mult[3]={1,1,1}; + ForceParticleDecay(20223,prod,mult,3,1); + // force decay of f1(1420) to K0s, K, pi- + ForceParticleDecay(20333,prod,mult,3,1); +} Int_t AliDecayerPythia::CountProducts(Int_t channel, Int_t particle) diff --git a/PYTHIA6/AliPythia6/AliDecayerPythia.h b/PYTHIA6/AliPythia6/AliDecayerPythia.h index b25f89d85de..97f14137361 100644 --- a/PYTHIA6/AliPythia6/AliDecayerPythia.h +++ b/PYTHIA6/AliPythia6/AliDecayerPythia.h @@ -52,6 +52,8 @@ public AliDecayer void SwitchOffHeavyFlavour(); void ForceBeautyUpgrade(); void ForceHFYellowReport(); + void ForceF0F1(); + void ForceF1K0sK(); Float_t GetBraPart(Int_t kf); void Copy(TObject &decayer) const;