Skip to content

Commit 33dc6f9

Browse files
authored
Update strangenessInJets.cxx
Cascades in jets fix selections for derived data
1 parent 8d7b505 commit 33dc6f9

File tree

1 file changed

+43
-101
lines changed

1 file changed

+43
-101
lines changed

PWGLF/Tasks/Strangeness/strangenessInJets.cxx

Lines changed: 43 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,13 +1967,16 @@ struct StrangenessInJets {
19671967

19681968
for (const auto& casc : cascades) {
19691969

1970-
if (casc.v0negITSlayers() < minITSnCls || casc.v0posITSlayers() < minITSnCls || casc.bachITSlayers() < minITSnCls)
1970+
// Track selections
1971+
if (requireITS && (casc.v0negITSlayers() < minITSnCls || casc.v0posITSlayers() < minITSnCls || casc.bachITSlayers() < minITSnCls))
19711972
continue;
19721973
if (casc.v0negtpcCrossedRows() < minNCrossedRowsTPC || casc.v0postpcCrossedRows() < minNCrossedRowsTPC ||
19731974
casc.bachtpcCrossedRows() < minNCrossedRowsTPC)
19741975
continue;
19751976
if (casc.v0negTPCChi2() > maxChi2TPC || casc.v0posTPCChi2() > maxChi2TPC || casc.bachTPCChi2() > maxChi2TPC)
19761977
continue;
1978+
1979+
// Topological selections
19771980
if (casc.v0cospa() < v0cospaMin)
19781981
continue;
19791982
if (casc.casccospa() < casccospaMin)
@@ -1994,124 +1997,63 @@ struct StrangenessInJets {
19941997
continue;
19951998
if (std::fabs(casc.dcacascdaughters()) > dcaCascDaughtersMax)
19961999
continue;
1997-
// Xi
1998-
// Xi+ selection (Xi+ -> antiL + pi+)
1999-
if (casc.sign() > 0) {
2000-
// PID selections (TPC)
2001-
if (casc.ntpcsigmanegpr() < nsigmaTPCmin || casc.ntpcsigmanegpr() > nsigmaTPCmax)
2002-
continue;
2003-
if (casc.ntpcsigmapospi() < nsigmaTPCmin || casc.ntpcsigmapospi() > nsigmaTPCmax)
2004-
continue;
20052000

2006-
// PID selections (TOF)
2007-
if (requireTOF) {
2008-
if (casc.ntofsigmanegpr() < nsigmaTOFmin || casc.ntofsigmanegpr() > nsigmaTOFmax)
2009-
continue;
2010-
if (casc.ntofsigmapospi() < nsigmaTOFmin || casc.ntofsigmapospi() > nsigmaTOFmax)
2011-
continue;
2012-
}
2013-
}
2014-
// Xi- selection (Xi- -> L + pi-)
2015-
if (casc.sign() < 0) {
2016-
// PID selections (TPC)
2017-
if (casc.ntpcsigmapospr() < nsigmaTPCmin || casc.ntpcsigmapospr() > nsigmaTPCmax)
2018-
continue;
2019-
if (casc.ntpcsigmanegpi() < nsigmaTPCmin || casc.ntpcsigmanegpi() > nsigmaTPCmax)
2020-
continue;
2001+
// PID selection
2002+
Bool_t isPIDXiminus = false, isPIDXiplus = false, isPIDOmminus = false, isPIDOmplus = false;
20212003

2022-
// PID selections (TOF)
2023-
if (requireTOF) {
2024-
if (casc.ntofsigmapospr() < nsigmaTOFmin || casc.ntofsigmapospr() > nsigmaTOFmax)
2025-
continue;
2026-
if (casc.ntofsigmanegpi() < nsigmaTOFmin || casc.ntofsigmanegpi() > nsigmaTOFmax)
2027-
continue;
2004+
// PID selection bachelor
2005+
Bool_t isPIDLam = false, isPIDALam = false;
2006+
if (casc.sign() > 0) {
2007+
// antiLambda: (p-)neg + (pi+)pos
2008+
if (casc.ntpcsigmanegpr() >= nsigmaTPCmin && casc.ntpcsigmanegpr() <= nsigmaTPCmax &&
2009+
casc.ntpcsigmapospi() >= nsigmaTPCmin && casc.ntpcsigmapospi() <= nsigmaTPCmax) {
2010+
isPIDALam = true;
2011+
}
2012+
} else if (casc.sign() < 0) {
2013+
// lambda: (p+)pos + (pi-)neg
2014+
if (casc.ntpcsigmapospr() >= nsigmaTPCmin && casc.ntpcsigmapospr() <= nsigmaTPCmax &&
2015+
casc.ntpcsigmanegpi() >= nsigmaTPCmin && casc.ntpcsigmanegpi() <= nsigmaTPCmax) {
2016+
isPIDLam = true;
20282017
}
20292018
}
20302019

2031-
// PID selection on bachelor
2032-
if (casc.ntpcsigmabachpi() < nsigmaTPCmin || casc.ntpcsigmabachpi() > nsigmaTPCmax)
2020+
if (!(isPIDLam || isPIDALam))
20332021
continue;
20342022

2035-
// PID selections (TOF)
2036-
if (requireTOF) {
2037-
if (casc.ntofsigmabachpi() < nsigmaTOFmin || casc.ntofsigmabachpi() > nsigmaTOFmax)
2038-
continue;
2039-
}
20402023
// V0 mass window
20412024
if (std::fabs(casc.masslambda() - o2::constants::physics::MassLambda0) > deltaMassLambda)
20422025
continue;
2043-
// Reject candidates compatible with Omega
2044-
if (std::fabs(casc.massomega() - o2::constants::physics::MassOmegaMinus) < deltaMassOmega)
2045-
continue;
2046-
2047-
// Omega
2048-
// Omega+ selection (Omega+ -> antiL + K+)
2049-
if (casc.sign() > 0) {
2050-
// PID selections (TPC)
2051-
if (casc.ntpcsigmanegpr() < nsigmaTPCmin || casc.ntpcsigmanegpr() > nsigmaTPCmax)
2052-
continue;
2053-
if (casc.ntpcsigmapospi() < nsigmaTPCmin || casc.ntpcsigmapospi() > nsigmaTPCmax)
2054-
continue;
20552026

2056-
// PID selections (TOF)
2057-
if (requireTOF) {
2058-
if (casc.ntofsigmanegpr() < nsigmaTOFmin || casc.ntofsigmanegpr() > nsigmaTOFmax)
2059-
continue;
2060-
if (casc.ntofsigmapospi() < nsigmaTOFmin || casc.ntofsigmapospi() > nsigmaTOFmax)
2061-
continue;
2062-
}
2063-
}
2027+
// PID selection on bachelor
2028+
const Bool_t isBachPi =
2029+
(casc.ntpcsigmabachpi() >= nsigmaTPCmin && casc.ntpcsigmabachpi() <= nsigmaTPCmax);
20642030

2065-
// Omega- selection (Omega- -> L + K-)
2066-
if (casc.sign() < 0) {
2067-
// PID selections (TPC)
2068-
if (casc.ntpcsigmapospr() < nsigmaTPCmin || casc.ntpcsigmapospr() > nsigmaTPCmax)
2069-
continue;
2070-
if (casc.ntpcsigmanegpi() < nsigmaTPCmin || casc.ntpcsigmanegpi() > nsigmaTPCmax)
2071-
continue;
2031+
const Bool_t isBachKa =
2032+
(casc.ntpcsigmabachka() >= nsigmaTPCmin && casc.ntpcsigmabachka() <= nsigmaTPCmax);
20722033

2073-
// PID selections (TOF)
2074-
if (requireTOF) {
2075-
if (casc.ntofsigmapospr() < nsigmaTOFmin || casc.ntofsigmapospr() > nsigmaTOFmax)
2076-
continue;
2077-
if (casc.ntofsigmanegpi() < nsigmaTOFmin || casc.ntofsigmanegpi() > nsigmaTOFmax)
2078-
continue;
2079-
}
2080-
}
2034+
// Cross-contamination rejection flags
2035+
const Bool_t isOmegaLike = (std::fabs(casc.massomega() - o2::constants::physics::MassOmegaMinus) < deltaMassOmega);
2036+
const Bool_t isXiLike = (std::fabs(casc.massxi() - o2::constants::physics::MassXiMinus) < deltaMassXi);
20812037

2082-
// PID selection on bachelor
2083-
if (casc.ntpcsigmabachka() < nsigmaTPCmin || casc.ntpcsigmabachka() > nsigmaTPCmax)
2084-
continue;
2085-
2086-
// PID selections (TOF)
2087-
if (requireTOF) {
2088-
if (casc.ntofsigmabachka() < nsigmaTOFmin || casc.ntofsigmabachka() > nsigmaTOFmax)
2089-
continue;
2038+
// Final PID flags
2039+
if (casc.sign() > 0) {
2040+
if (isPIDALam && isBachPi && !isOmegaLike) isPIDXiplus = true;
2041+
if (isPIDALam && isBachKa && !isXiLike) isPIDOmplus = true;
2042+
} else if (casc.sign() < 0) {
2043+
if (isPIDLam && isBachPi && !isOmegaLike) isPIDXiminus = true;
2044+
if (isPIDLam && isBachKa && !isXiLike) isPIDOmminus = true;
20902045
}
2091-
// V0 mass window
2092-
if (std::fabs(casc.masslambda() - o2::constants::physics::MassLambda0) > deltaMassLambda)
2093-
continue;
2094-
2095-
// Reject candidates compatible with Xi
2096-
if (std::fabs(casc.massxi() - o2::constants::physics::MassXiMinus) < deltaMassXi)
2097-
continue;
20982046

20992047
if (casc.isUE()) {
2100-
if (casc.sign() < 0) {
2101-
registryData.fill(HIST("XiNeg_in_ue"), casc.multft0m(), casc.pt(), casc.massxi());
2102-
registryData.fill(HIST("OmegaNeg_in_ue"), casc.multft0m(), casc.pt(), casc.massomega());
2103-
} else if (casc.sign() > 0) {
2104-
registryData.fill(HIST("XiPos_in_ue"), casc.multft0m(), casc.pt(), casc.massxi());
2105-
registryData.fill(HIST("OmegaPos_in_ue"), casc.multft0m(), casc.pt(), casc.massomega());
2106-
}
2048+
if (isPIDXiminus) registryData.fill(HIST("XiNeg_in_ue"), casc.multft0m(), casc.pt(), casc.massxi());
2049+
if (isPIDXiplus) registryData.fill(HIST("XiPos_in_ue"), casc.multft0m(), casc.pt(), casc.massxi());
2050+
if (isPIDOmminus) registryData.fill(HIST("OmegaNeg_in_ue"), casc.multft0m(), casc.pt(), casc.massomega());
2051+
if (isPIDOmplus) registryData.fill(HIST("OmegaPos_in_ue"), casc.multft0m(), casc.pt(), casc.massomega());
21072052
} else if (casc.isJC()) {
2108-
if (casc.sign() < 0) {
2109-
registryData.fill(HIST("XiNeg_in_jet"), casc.multft0m(), casc.pt(), casc.massxi());
2110-
registryData.fill(HIST("OmegaNeg_in_jet"), casc.multft0m(), casc.pt(), casc.massomega());
2111-
} else if (casc.sign() > 0) {
2112-
registryData.fill(HIST("XiPos_in_jet"), casc.multft0m(), casc.pt(), casc.massxi());
2113-
registryData.fill(HIST("OmegaPos_in_jet"), casc.multft0m(), casc.pt(), casc.massomega());
2114-
}
2053+
if (isPIDXiminus) registryData.fill(HIST("XiNeg_in_jet"), casc.multft0m(), casc.pt(), casc.massxi());
2054+
if (isPIDXiplus) registryData.fill(HIST("XiPos_in_jet"), casc.multft0m(), casc.pt(), casc.massxi());
2055+
if (isPIDOmminus) registryData.fill(HIST("OmegaNeg_in_jet"), casc.multft0m(), casc.pt(), casc.massomega());
2056+
if (isPIDOmplus) registryData.fill(HIST("OmegaPos_in_jet"), casc.multft0m(), casc.pt(), casc.massomega());
21152057
}
21162058
}
21172059
}

0 commit comments

Comments
 (0)