Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ParticleDatabase: Update Lambda(1520) info according to the latest Pythia8 #12896

Merged
merged 11 commits into from
Mar 22, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,43 @@ inline void O2DatabasePDG::addALICEParticles(TDatabasePDG* db)
0.185, 0, "Resonance", ionCode);
}

// Lambda(1520)0
ionCode = 102134;
if (!db->GetParticle(ionCode)) {
db->AddParticle("Lambda_1520_0", "Lambda_1520_0", 1.5195, kFALSE, 0.0156, 0, "Resonance", ionCode);
}
if (!db->GetParticle(-ionCode)) {
db->AddParticle("AntiLambda_1520_0", "AntiLambda_1520_0", 1.5195, kFALSE, 0.0156, 0, "Resonance", -ionCode);
}

// f1 study
ionCode = 20223;
if (!db->GetParticle(ionCode)) {
db->AddParticle("f1_1285", "f1_1285", 1.28210, kFALSE, 0.02420, 0, "Resonance", ionCode);
}
ionCode = 20333;
if (!db->GetParticle(ionCode)) {
db->AddParticle("f1_1420", "f1_1420", 1.42640, kFALSE, 0.05490, 0, "Resonance", ionCode);
}

// glueball hunting
ionCode = 10221;
if (!db->GetParticle(ionCode)) {
db->AddParticle("f0_1370", "f0_1370", 1.37, kFALSE, 0.200, 0, "Resonance", ionCode);
}
ionCode = 9030221;
if (!db->GetParticle(ionCode)) {
db->AddParticle("f0_1500", "f0_1500", 1.500, kFALSE, 0.112, 0, "Resonance", ionCode);
}
ionCode = 10331;
if (!db->GetParticle(ionCode)) {
db->AddParticle("f0_1710", "f0_1710", 1.710, kFALSE, 0.139, 0, "Resonance", ionCode);
}
ionCode = 335;
if (!db->GetParticle(ionCode)) {
db->AddParticle("f2_1525", "f2_1525", 1.525, kFALSE, 0.073, 0, "Resonance", ionCode);
}

// Xi-/+ (1820)
ionCode = 123314;
if (!db->GetParticle(ionCode)) {
Expand Down
179 changes: 135 additions & 44 deletions Steer/src/O2MCApplication.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,22 @@ void addSpecialParticles()
// f2(1270) (PDG: width = 185 MeV)
TVirtualMC::GetMC()->DefineParticle(225, "f2_1270", kPTNeutron, 1.275, 0.0, 3.558e-24, "Hadron", 0.185, 4, 1, 1, 0, 0, 1, 0, 0, kTRUE);

// f1(1285) (PDG: width = 24.20 MeV) Spin/Parity might not be correct
TVirtualMC::GetMC()->DefineParticle(20223, "f1_1285", kPTNeutron, 1.28210, 0.0, 1e-24, "Hadron", 0.02420, 3, 1, 0, 0, 0, 0, 0, 1, kTRUE);
// f1(1420) (PDG: width = 54 MeV) Spin/Parity might not be correct
TVirtualMC::GetMC()->DefineParticle(20333, "f1_1420", kPTNeutron, 1.42640, 0.0, 1e-24, "Hadron", 0.05490, 3, 1, 0, 0, 0, 0, 0, 1, kTRUE);

// Glueball hunting family
// Their life times are not known, so we set them to 1e-24
// f0(1370) (PDG: width = 200-500 MeV) Spin/Parity might not be correct
TVirtualMC::GetMC()->DefineParticle(10221, "f0_1370", kPTNeutron, 1.37, 0.0, 1e-24, "Hadron", 0.2, 1, 1, 1, 0, 0, 1, 0, 0, kTRUE);
// f0(1500) (PDG: width = 112 MeV) Spin/Parity might not be correct
TVirtualMC::GetMC()->DefineParticle(9030221, "f0_1500", kPTNeutron, 1.506, 0.0, 1e-24, "Hadron", 0.112, 0, 1, 1, 0, 0, 1, 0, 0, kTRUE);
// f0(1710) (PDG: width = 139 MeV) Spin/Parity might not be correct
TVirtualMC::GetMC()->DefineParticle(10331, "f0_1710", kPTNeutron, 1.71, 0.0, 1e-24, "Hadron", 0.139, 1, 1, 1, 0, 0, 1, 0, 0, kTRUE);
// f2(1525) (PDG: width = 73 MeV) Spin/Parity might not be correct
TVirtualMC::GetMC()->DefineParticle(335, "f2_1525", kPTNeutron, 1.525, 0.0, 1e-24, "Hadron", 0.073, 5, 1, 1, 0, 0, 1, 0, 0, kTRUE);

// Xi_0(1820)
TVirtualMC::GetMC()->DefineParticle(123324, "Xi_0_1820", kPTNeutron, 1.8234, 0.0, 2.742550e-23, "Hadron", 0.024, 3, -1, 0, 1, 1, 0, 0, 1, kTRUE);
TVirtualMC::GetMC()->DefineParticle(-123324, "Xi_0_Bar_1820", kPTNeutron, 1.8234, 0.0, 2.742550e-23, "Hadron", 0.024, 3, -1, 0, 1, -1, 0, 0, -1, kTRUE);
Expand Down Expand Up @@ -1135,78 +1151,153 @@ void addSpecialParticles()

TVirtualMC::GetMC()->SetDecayMode(225, bratio, mode);

// Define the 2-body phase space decay for the resonances: f0(1500), f2(1525), f0(1710
for (Int_t kz = 0; kz < 6; kz++) {
bratio[kz] = 0.;
mode[kz][0] = 0;
mode[kz][1] = 0;
mode[kz][2] = 0;
}
bratio[0] = 100.;
mode[0][0] = 310; // K0s
mode[0][1] = 310; // K0s

TVirtualMC::GetMC()->SetDecayMode(9030221, bratio, mode); // f0(1500)
TVirtualMC::GetMC()->SetDecayMode(335, bratio, mode); // f2(1525)
TVirtualMC::GetMC()->SetDecayMode(10331, bratio, mode); // f0(1710)
TVirtualMC::GetMC()->SetDecayMode(10221, bratio, mode); // f0(1370)

// Define the 3-body phase space decay for the resonances: f1(1285), f1(1420)
for (Int_t kz = 0; kz < 6; kz++) {
bratio[kz] = 0.;
mode[kz][0] = 0;
mode[kz][1] = 0;
mode[kz][2] = 0;
}

bratio2[0] = 50.;
mode[0][0] = 310; // K0s
mode[0][1] = -321; // anti-K
mode[0][2] = 211; // pion+

bratio2[1] = 50.;
mode[1][0] = 310; // K0s
mode[1][1] = 321; // K
mode[1][2] = -211; // pion-

TVirtualMC::GetMC()->SetDecayMode(20223, bratio2, mode); // f1(1285)
TVirtualMC::GetMC()->SetDecayMode(20333, bratio2, mode); // f1(1420)

// Lambda1520/Lambda1520bar

TVirtualMC::GetMC()->DefineParticle(3124, "Lambda1520", kPTNeutron, 1.5195, 0.0, 4.22e-23, "Hadron", 0.0156, 3, -1, 0, 0, 0, 0, 0, 1, kTRUE);
TVirtualMC::GetMC()->DefineParticle(-3124, "Lambda1520bar", kPTNeutron, 1.5195, 0.0, 4.22e-23, "Hadron", 0.0156, 3, -1, 0, 0, 0, 0, 0, -1, kTRUE);
TVirtualMC::GetMC()->DefineParticle(102134, "Lambda1520", kPTNeutron, 1.5195, 0.0, 4.22e-23, "Hadron", 0.0156, 3, -1, 0, 0, 0, 0, 0, 1, kTRUE);
TVirtualMC::GetMC()->DefineParticle(-102134, "Lambda1520bar", kPTNeutron, 1.5195, 0.0, 4.22e-23, "Hadron", 0.0156, 3, -1, 0, 0, 0, 0, 0, -1, kTRUE);

// Lambda1520 decay modes
Int_t lmode[9][3];
Float_t lbratio[9];
for (Int_t kz = 0; kz < 9; kz++) {
lbratio[kz] = 0.;
lmode[kz][0] = 0;
lmode[kz][1] = 0;
lmode[kz][2] = 0;
}

// L(1520) -> p K-
bratio[0] = 0.223547;
mode[0][0] = 2212;
mode[0][1] = -321;
lbratio[0] = 0.229944;
lmode[0][0] = 2212;
lmode[0][1] = -321;

// L(1520) -> n K0
bratio[1] = 0.223547;
mode[1][0] = 2112;
mode[1][1] = -311;
lbratio[1] = 0.229944;
lmode[1][0] = 2112;
lmode[1][1] = -311;

// L(1520) -> Sigma+ pi-
bratio[2] = 0.139096;
mode[2][0] = 3222;
mode[2][1] = -211;
lbratio[2] = 0.143076;
lmode[2][0] = 3222;
lmode[2][1] = -211;

// L(1520) -> Sigma0 pi0
bratio[3] = 0.139096;
mode[3][0] = 3212;
mode[3][1] = 111;
lbratio[3] = 0.143076;
lmode[3][0] = 3212;
lmode[3][1] = 111;

// L(1520) -> Sigma- pi+
bratio[4] = 0.139096;
mode[4][0] = 3112;
mode[4][1] = 211;
lbratio[4] = 0.143076;
lmode[4][0] = 3112;
lmode[4][1] = 211;

// L(1520) -> Sigma*- pi+
lbratio[5] = 0.034066;
lmode[5][0] = 3114;
lmode[5][1] = 211;

// L(1520) -> Sigma*0 pi0
lbratio[6] = 0.034066;
lmode[6][0] = 3214;
lmode[6][1] = 111;

// The other decay modes are neglected
bratio[5] = 0.;
mode[5][0] = 0;
mode[5][1] = 0;
// L(1520) -> Sigma*+ pi-
lbratio[7] = 0.034066;
lmode[7][0] = 3224;
lmode[7][1] = -211;

TVirtualMC::GetMC()->SetDecayMode(3124, bratio, mode);
// L(1520) -> Lambda gamma
lbratio[8] = 0.008687;
lmode[8][0] = 3122;
lmode[8][1] = 22;

TVirtualMC::GetMC()->SetDecayMode(102134, lbratio, lmode);

// Lambda1520bar decay modes

// L(1520)bar -> p- K+
bratio[0] = 0.223547;
mode[0][0] = -2212;
mode[0][1] = 321;
lbratio[0] = 0.229944;
lmode[0][0] = -2212;
lmode[0][1] = 321;

// L(1520)bar -> nbar K0bar
bratio[1] = 0.223547;
mode[1][0] = -2112;
mode[1][1] = 311;
lbratio[1] = 0.229944;
lmode[1][0] = -2112;
lmode[1][1] = 311;

// L(1520)bar -> Sigmabar- pi+
bratio[2] = 0.139096;
mode[2][0] = -3222;
mode[2][1] = 211;
lbratio[2] = 0.143076;
lmode[2][0] = -3222;
lmode[2][1] = 211;

// L(1520)bar -> Sigma0bar pi0
bratio[3] = 0.139096;
mode[3][0] = -3212;
mode[3][1] = 111;
lbratio[3] = 0.143076;
lmode[3][0] = -3212;
lmode[3][1] = 111;

// L(1520)bar -> Sigmabar+ pi-
bratio[4] = 0.139096;
mode[4][0] = -3112;
mode[4][1] = -211;

// The other decay modes are neglected
bratio[5] = 0.;
mode[5][0] = 0;
mode[5][1] = 0;

TVirtualMC::GetMC()->SetDecayMode(-3124, bratio, mode);
lbratio[4] = 0.143076;
lmode[4][0] = -3112;
lmode[4][1] = -211;

// L(1520)bar -> anti-Sigma*- pi-
lbratio[5] = 0.034066;
lmode[5][0] = -3114;
lmode[5][1] = -211;

// L(1520)bar -> anti-Sigma*0 pi0
lbratio[6] = 0.034066;
lmode[6][0] = -3214;
lmode[6][1] = 111;

// L(1520)bar -> anti-Sigma*+ pi+
lbratio[7] = 0.034066;
lmode[7][0] = -3224;
lmode[7][1] = 211;

// L(1520)bar -> Anti-Lambda gamma
lbratio[8] = 0.008687;
lmode[8][0] = -3122;
lmode[8][1] = 22;

TVirtualMC::GetMC()->SetDecayMode(-102134, lbratio, lmode);

// --------------------------------------------------------------------

Expand Down
Loading