Skip to content

Commit 0ecbf20

Browse files
authored
Refactor long-lived particle handling in tracker
1 parent 69175cd commit 0ecbf20

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ struct OnTheFlyTracker {
113113
Configurable<std::string> lutDe{"lutDe", "lutCovm.de.dat", "LUT for deuterons"};
114114
Configurable<std::string> lutTr{"lutTr", "lutCovm.tr.dat", "LUT for tritons"};
115115
Configurable<std::string> lutHe3{"lutHe3", "lutCovm.he3.dat", "LUT for Helium-3"};
116-
Configurable<std::string> lutAl{"lutAl", "lutCovm.he3.dat", "LUT for Alphas"}; // To be created, for now propagating as He-3
116+
Configurable<std::string> lutAl{"lutAl", "lutCovm.he3.dat", "LUT for Alphas"};
117117

118118
struct : ConfigurableGroup {
119119
ConfigurableAxis axisMomentum{"axisMomentum", {VARIABLE_WIDTH, 0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f, 2.2f, 2.4f, 2.6f, 2.8f, 3.0f, 3.2f, 3.4f, 3.6f, 3.8f, 4.0f, 4.4f, 4.8f, 5.2f, 5.6f, 6.0f, 6.5f, 7.0f, 7.5f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 17.0f, 19.0f, 21.0f, 23.0f, 25.0f, 30.0f, 35.0f, 40.0f, 50.0f}, "#it{p} (GeV/#it{c})"};
@@ -507,6 +507,16 @@ struct OnTheFlyTracker {
507507
auto ir = irSampler.generateCollisionTime();
508508
const float eventCollisionTime = ir.timeInBCNS;
509509

510+
constexpr std::array<int, 9> longLivedHandledPDGs = {kElectron,
511+
kMuonMinus,
512+
kPiPlus,
513+
kKPlus,
514+
kProton,
515+
o2::constants::physics::kDeuteron,
516+
o2::constants::physics::kTriton,
517+
o2::constants::physics::kHelium3,
518+
o2::constants::physics::kAlpha};
519+
510520
// First we compute the number of charged particles in the event
511521
dNdEta = 0.f;
512522
for (const auto& mcParticle : mcParticles) {
@@ -517,7 +527,8 @@ struct OnTheFlyTracker {
517527
continue;
518528
}
519529
const auto pdg = std::abs(mcParticle.pdgCode());
520-
if (pdg != kElectron && pdg != kMuonMinus && pdg != kPiPlus && pdg != kKPlus && pdg != kProton && pdg != 1000010020 && pdg != 1000010030 && pdg != 1000020030 && pdg != 1000020040) {
530+
const bool longLivedToBeHandled = std::find(longLivedHandledPDGs.begin(), longLivedHandledPDGs.end(), pdg) != longLivedHandledPDGs.end();
531+
if (!longLivedToBeHandled) {
521532
if (!cascadeDecaySettings.decayXi) {
522533
continue;
523534
} else if (pdg != 3312) {
@@ -564,8 +575,9 @@ struct OnTheFlyTracker {
564575
continue;
565576
}
566577
}
567-
if (pdg != kElectron && pdg != kMuonMinus && pdg != kPiPlus && pdg != kKPlus && pdg != kProton && pdg != 1000010020 && pdg != 1000010030 && pdg != 1000020030 && pdg != 1000020040) {
568-
if (!cascadeDecaySettings.decayXi) {
578+
const bool longLivedToBeHandled = std::find(longLivedHandledPDGs.begin(), longLivedHandledPDGs.end(), pdg) != longLivedHandledPDGs.end();
579+
if (!longLivedToBeHandled) {
580+
if (!(cascadeDecaySettings.decayXi)) {
569581
continue;
570582
} else if (pdg != 3312) {
571583
continue;

0 commit comments

Comments
 (0)