Skip to content

Commit 5def415

Browse files
committed
deprecate McPartWithDaus in a3 strangeness task
1 parent 26a60d1 commit 5def415

2 files changed

Lines changed: 23 additions & 40 deletions

File tree

ALICE3/TableProducer/alice3strangenessFinder.cxx

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include "PWGLF/DataModel/LFStrangenessTables.h"
2323

2424
#include "ALICE3/Core/TrackUtilities.h"
25-
#include "ALICE3/DataModel/OTFMCParticle.h"
2625
#include "ALICE3/DataModel/OTFPIDTrk.h"
2726
#include "ALICE3/DataModel/OTFRICH.h"
2827
#include "ALICE3/DataModel/OTFStrangeness.h"
@@ -66,7 +65,7 @@ using namespace o2::constants::physics;
6665

6766
using Alice3TracksWPid = soa::Join<aod::Tracks, aod::TracksCov, aod::McTrackLabels, aod::TracksDCA, aod::UpgradeTrkPids, aod::UpgradeTofs, aod::UpgradeRichs>;
6867
using Alice3TracksACTS = soa::Join<aod::StoredTracks, aod::StoredTracksCov, aod::McTrackLabels, aod::TracksDCA, aod::TracksCovExtension, aod::TracksAlice3, aod::TracksAlice3Pdg>;
69-
using Alice3TracksOTF = soa::Join<aod::StoredTracks, aod::StoredTracksCov, aod::McTrackWithDauLabels, aod::TracksDCA, aod::TracksCovExtension, aod::TracksAlice3>;
68+
using Alice3TracksOTF = soa::Join<aod::StoredTracks, aod::StoredTracksCov, aod::McTrackLabels, aod::TracksDCA, aod::TracksCovExtension, aod::TracksAlice3>;
7069
using Alice3MCParticles = soa::Join<aod::McParticles, aod::MCParticlesExtraA3>;
7170

7271
struct Alice3strangenessFinder {
@@ -270,34 +269,21 @@ struct Alice3strangenessFinder {
270269
template <typename TTrackType>
271270
bool checkSameMother(TTrackType const& track1, TTrackType const& track2)
272271
{
273-
// MC label points to McPartWithDaus
274-
if constexpr (requires { track1.has_mcPartWithDau(); }) {
275-
if (!track1.has_mcPartWithDau() || !track2.has_mcPartWithDau()) {
276-
return false;
277-
}
278-
auto mcParticle1 = track1.template mcPartWithDau_as<aod::McPartWithDaus>();
279-
auto mcParticle2 = track2.template mcPartWithDau_as<aod::McPartWithDaus>();
280-
if (mcParticle1.mothersIds().empty() || mcParticle2.mothersIds().empty()) {
281-
return false;
282-
}
283-
return mcParticle1.mothersIds()[0] == mcParticle2.mothersIds()[0];
284-
} else { // MC label points directly to aod::McParticles
285-
bool returnValue = false;
286-
if (track1.has_mcParticle() && track2.has_mcParticle()) {
287-
auto mcParticle1 = track1.template mcParticle_as<aod::McParticles>();
288-
auto mcParticle2 = track2.template mcParticle_as<aod::McParticles>();
289-
if (mcParticle1.has_mothers() && mcParticle2.has_mothers()) {
290-
for (const auto& m1 : mcParticle1.template mothers_as<aod::McParticles>()) {
291-
for (const auto& m2 : mcParticle2.template mothers_as<aod::McParticles>()) {
292-
if (m1.globalIndex() == m2.globalIndex()) {
293-
returnValue = true;
294-
}
272+
bool returnValue = false;
273+
if (track1.has_mcParticle() && track2.has_mcParticle()) {
274+
auto mcParticle1 = track1.template mcParticle_as<aod::McParticles>();
275+
auto mcParticle2 = track2.template mcParticle_as<aod::McParticles>();
276+
if (mcParticle1.has_mothers() && mcParticle2.has_mothers()) {
277+
for (const auto& m1 : mcParticle1.template mothers_as<aod::McParticles>()) {
278+
for (const auto& m2 : mcParticle2.template mothers_as<aod::McParticles>()) {
279+
if (m1.globalIndex() == m2.globalIndex()) {
280+
returnValue = true;
295281
}
296282
}
297283
}
298284
}
299-
return returnValue;
300285
}
286+
return returnValue;
301287
}
302288

303289
template <typename TTrackType>
@@ -465,18 +451,16 @@ struct Alice3strangenessFinder {
465451
}
466452

467453
// OTF: pdg code from mcParticle table
468-
if constexpr (requires { posTrack.has_mcPartWithDau(); }) {
469-
if (!posTrack.has_mcPartWithDau() && !negTrack.has_mcPartWithDau()) {
470-
continue;
471-
}
472-
auto mcParticlePos = posTrack.template mcPartWithDau_as<aod::McPartWithDaus>();
473-
auto mcParticleNeg = negTrack.template mcPartWithDau_as<aod::McPartWithDaus>();
474-
if ((mcParticlePos.pdgCode() != kPiPlus && mcParticleNeg.pdgCode() != kPiMinus) && isK0Gun) {
475-
continue;
476-
}
477-
if ((mcParticlePos.pdgCode() != kProton && mcParticleNeg.pdgCode() != kPiMinus) && isLambdaGun) {
478-
continue;
479-
}
454+
if (!posTrack.has_mcParticle() && !negTrack.has_mcParticle()) {
455+
continue;
456+
}
457+
auto mcParticlePos = posTrack.template mcParticle_as<aod::McParticles>();
458+
auto mcParticleNeg = negTrack.template mcParticle_as<aod::McParticles>();
459+
if ((mcParticlePos.pdgCode() != kPiPlus && mcParticleNeg.pdgCode() != kPiMinus) && isK0Gun) {
460+
continue;
461+
}
462+
if ((mcParticlePos.pdgCode() != kProton && mcParticleNeg.pdgCode() != kPiMinus) && isLambdaGun) {
463+
continue;
480464
}
481465

482466
histos.fill(HIST("hV0Building"), 2.0);
@@ -682,7 +666,7 @@ struct Alice3strangenessFinder {
682666
processFindV0CandidateNoPid(collision, negTracksGrouped, posTracksGrouped, bachTracksGrouped);
683667
}
684668

685-
void processFindV0CandidateOTF(aod::Collision const& collision, Alice3TracksOTF const&, aod::McPartWithDaus const&)
669+
void processFindV0CandidateOTF(aod::Collision const& collision, Alice3TracksOTF const&, aod::McParticles const&)
686670
{
687671
auto negTracksGrouped = negativeSecondaryTracksOTF->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache);
688672
auto posTracksGrouped = positiveSecondaryTracksOTF->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache);

ALICE3/Tasks/alice3Strangeness.cxx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include "PWGLF/DataModel/LFStrangenessTables.h"
2121

2222
#include "ALICE3/DataModel/OTFCollision.h"
23-
#include "ALICE3/DataModel/OTFMCParticle.h"
2423
#include "ALICE3/DataModel/OTFStrangeness.h"
2524
#include "ALICE3/DataModel/tracksAlice3.h"
2625
#include "Common/DataModel/TrackSelectionTables.h"
@@ -50,7 +49,7 @@ using namespace o2;
5049
using namespace o2::framework;
5150
using namespace o2::constants::math;
5251

53-
using Alice3Tracks = soa::Join<aod::Tracks, aod::TracksCov, aod::McTrackWithDauLabels, aod::TracksDCA, aod::TracksExtraA3>;
52+
using Alice3Tracks = soa::Join<aod::Tracks, aod::TracksCov, aod::McTrackLabels, aod::TracksDCA, aod::TracksExtraA3>;
5453
using FullV0Candidates = soa::Join<aod::V0CandidateIndices, aod::V0CandidateCores>;
5554
using FullCascadeCandidates = soa::Join<aod::StoredCascCores, aod::CascIndices>;
5655
using FullCollisions = soa::Join<aod::OTFLUTConfigId, aod::Collisions>;

0 commit comments

Comments
 (0)