Skip to content

Commit 5933a9d

Browse files
authored
Add new particle: Hyper Helium4Sigma (#13642)
* MC: Add new particle: Hyper He4Sigma
1 parent 41d0ccf commit 5933a9d

File tree

4 files changed

+71
-1
lines changed

4 files changed

+71
-1
lines changed

Common/Constants/include/CommonConstants/PhysicsConstants.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ enum Pdg {
7575
kHyperTriton = 1010010030,
7676
kHyperHydrogen4 = 1010010040,
7777
kHyperHelium4 = 1010020040,
78-
kHyperHelium5 = 1010020050
78+
kHyperHelium5 = 1010020050,
79+
kHyperHelium4Sigma = 1110020040
7980
};
8081

8182
/// \brief Declarations of masses for additional particles
@@ -124,6 +125,7 @@ constexpr double MassHyperTriton = 2.99131;
124125
constexpr double MassHyperHydrogen4 = 3.9226;
125126
constexpr double MassHyperHelium4 = 3.9217;
126127
constexpr double MassHyperHelium5 = 4.841;
128+
constexpr double MassHyperHelium4Sigma = 3.995;
127129

128130
/// \brief Declarations of masses for particles in ROOT PDG_t
129131
constexpr double MassDown = 0.00467;
@@ -194,6 +196,7 @@ constexpr double MassKaonNeutral = MassK0;
194196
constexpr double MassLambda = MassLambda0;
195197
constexpr double MassHyperhydrog4 = MassHyperHydrogen4;
196198
constexpr double MassHyperhelium4 = MassHyperHelium4;
199+
constexpr double MassHyperhelium4sigma = MassHyperHelium4Sigma;
197200

198201
// Light speed
199202
constexpr float LightSpeedCm2S = 299792458.e2; // C in cm/s

Common/Constants/include/CommonConstants/make_pdg_header.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ class Pdg(Enum):
131131
kHyperHydrogen4 = 1010010040
132132
kHyperHelium4 = 1010020040
133133
kHyperHelium5 = 1010020050
134+
kHyperHelium4Sigma = 1110020040
134135

135136

136137
dbPdg = ROOT.o2.O2DatabasePDG

DataFormats/simulation/include/SimulationDataFormat/O2DatabasePDG.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,19 @@ inline void O2DatabasePDG::addALICEParticles(TDatabasePDG* db)
331331
2.5e-15, 6, "Ion", ionCode);
332332
}
333333

334+
// hyper helium 4 sigma
335+
ionCode = 1110020040;
336+
if (!db->GetParticle(ionCode)) {
337+
db->AddParticle("Hyperhelium4sigma", "Hyperhelium4sigma", 3.995, kFALSE,
338+
2.5e-15, 6, "Ion", ionCode);
339+
}
340+
// anti-hyper helium 4 sigma
341+
ionCode = -1110020040;
342+
if (!db->GetParticle(ionCode)) {
343+
db->AddParticle("AntiHyperhelium4sigma", "AntiHyperhelium4sigma", 3.995, kFALSE,
344+
2.5e-15, 6, "Ion", ionCode);
345+
}
346+
334347
ionCode = 1010000020;
335348
if (!db->GetParticle(ionCode)) {
336349
db->AddParticle("LambdaNeutron", "LambdaNeutron", 2.054, kFALSE,

Steer/src/O2MCApplication.cxx

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,11 @@ void addSpecialParticles()
303303
//Double Anti-Hyper hydrogen 4
304304
TVirtualMC::GetMC()->DefineParticle(-1020010040, "DoubleAntiHyperhydrogen4", kPTHadron, 4.106, 1.0, 2.632e-10, "Ion", 0.0, 0, 1, 0, 0, 0, 0, 0, 4, kFALSE);
305305

306+
// Hyper helium 4 sigma
307+
TVirtualMC::GetMC()->DefineParticle(1110020040, "Hyperhelium4sigma", kPTHadron, 3.995, 2.0, 8.018e-11, "Ion", 0.0, 0, 1, 0, 0, 0, 0, 0, 4, kFALSE);
308+
// Anti-Hyper helium 4 sigma
309+
TVirtualMC::GetMC()->DefineParticle(-1110020040, "AntiHyperhelium4sigma", kPTHadron, 3.995, 2.0, 8.018e-11, "Ion", 0.0, 0, 1, 0, 0, 0, 0, 0, 4, kFALSE);
310+
306311
//Lambda-Neutron
307312
TVirtualMC::GetMC()->DefineParticle(1010000020, "LambdaNeutron", kPTNeutron, 2.054, 0.0, 2.632e-10, "Hadron", 0.0, 0, 1, 0, 0, 0, 0, 0, 2, kFALSE);
308313

@@ -748,6 +753,54 @@ void addSpecialParticles()
748753

749754
TVirtualMC::GetMC()->SetDecayMode(-1020010040, abratio42, amode42);
750755

756+
// Define the 2- and 3-body phase space decay for the Hyper Helium 4 sigma
757+
Int_t mode4s[6][3];
758+
Float_t bratio4s[6];
759+
760+
for (Int_t kz = 0; kz < 6; kz++) {
761+
bratio4s[kz] = 0.;
762+
mode4s[kz][0] = 0;
763+
mode4s[kz][1] = 0;
764+
mode4s[kz][2] = 0;
765+
}
766+
bratio4s[0] = 20.;
767+
mode4s[0][0] = 1000020040; // Helium4
768+
mode4s[0][1] = 111; // pion0
769+
bratio4s[1] = 40.;
770+
mode4s[1][0] = 1000010030; // tritium
771+
mode4s[1][2] = 2212; // proton
772+
mode4s[1][1] = 111; // pion0
773+
bratio4s[2] = 40.;
774+
mode4s[2][0] = 1000010030; // tritium
775+
mode4s[2][2] = 2212; // pion+
776+
mode4s[2][1] = 2112; // neutron
777+
778+
TVirtualMC::GetMC()->SetDecayMode(1110020040, bratio4s, mode4s);
779+
780+
// Define the 2- and 3-body phase space decay for the Anti Hyper Helium 4 sigma
781+
Int_t amode4s[6][3];
782+
Float_t abratio4s[6];
783+
784+
for (Int_t kz = 0; kz < 6; kz++) {
785+
abratio4s[kz] = 0.;
786+
amode4s[kz][0] = 0;
787+
amode4s[kz][1] = 0;
788+
amode4s[kz][2] = 0;
789+
}
790+
abratio4s[0] = 50.;
791+
amode4s[0][0] = -1000020040; // anti-Helium4
792+
amode4s[0][1] = 111; // pion0
793+
abratio4s[1] = 50.;
794+
amode4s[1][0] = -1000010030; // anti-tritium
795+
amode4s[1][2] = -2212; // anti-proton
796+
amode4s[1][1] = 111; // pion0
797+
abratio4s[2] = 50.;
798+
amode4s[2][0] = -1000010030; // anti-tritium
799+
amode4s[2][2] = -211; // pion-
800+
amode4s[2][1] = -2112; // anti-neutron
801+
802+
TVirtualMC::GetMC()->SetDecayMode(-1110020040, abratio4s, amode4s);
803+
751804
// Define the 2-body phase space decay for the Lambda-neutron boundstate
752805
Int_t mode1[6][3];
753806
Float_t bratio1[6];

0 commit comments

Comments
 (0)