Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 15 additions & 12 deletions PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackPhi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,12 @@ struct FemtoUniversePairTaskTrackPhi {
Configurable<bool> confTrackUseRun3PIDforKaons{"confTrackUseRun3PIDforKaons", true, "Use Run3 PID for kaons from Veronika Barbasova's AN (https://alice-notes.web.cern.ch/node/1758). If this is on the other PID methods are ignored for kaons."};

/// Partitions for the track (particle 1)
Partition<FilteredFemtoFullParticles> partsTrack = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) &&
Partition<FilteredFemtoFullParticles> partsTrack = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kTrack)) &&
(aod::femtouniverseparticle::sign == confTrackSign) &&
(aod::femtouniverseparticle::pt > confTrackPtLow) &&
(aod::femtouniverseparticle::pt < confTrackPtHigh);

Partition<FemtoRecoParticles> partsTrackMCReco = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) &&
Partition<FemtoRecoParticles> partsTrackMCReco = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kTrack)) &&
(aod::femtouniverseparticle::sign == confTrackSign) &&
(aod::femtouniverseparticle::pt > confTrackPtLow) &&
(aod::femtouniverseparticle::pt < confTrackPtHigh);
Expand All @@ -154,27 +154,30 @@ struct FemtoUniversePairTaskTrackPhi {
Configurable<float> confInvMassLowLimitPhi{"confInvMassLowLimitPhi", 1.011, "Lower limit of the Phi invariant mass"}; // change that to do invariant mass cut
Configurable<float> confInvMassUpLimitPhi{"confInvMassUpLimitPhi", 1.027, "Upper limit of the Phi invariant mass"};
Configurable<bool> confFillMinvBackground{"confFillMinvBackground", false, "Fill background histograms for Phi invariant mass."};
Configurable<bool> confFillMinvBackgroundKpKm{"confFillMinvBackgroundKpKm", false, "Fill background histograms for K+K- invariant mass."};
Configurable<bool> confFillMinvBackgroundKpKp{"confFillMinvBackgroundKpKp", false, "Fill background histograms for K+K+ invariant mass."};
Configurable<bool> confFillMinvBackgroundKmKm{"confFillMinvBackgroundKmKm", false, "Fill background histograms for K-K- invariant mass."};

/// Partitions for the Phi meson (particle 2)
Partition<FilteredFemtoFullParticles> partsPhi = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kPhi)) &&
Partition<FilteredFemtoFullParticles> partsPhi = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kPhi)) &&
(aod::femtouniverseparticle::pt > confPhiPtLow) &&
(aod::femtouniverseparticle::pt < confPhiPtHigh) &&
(aod::femtouniverseparticle::tempFitVar > confInvMassLowLimitPhi) &&
(aod::femtouniverseparticle::tempFitVar < confInvMassUpLimitPhi);

Partition<FemtoRecoParticles> partsPhiMCReco = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kPhi)) &&
Partition<FemtoRecoParticles> partsPhiMCReco = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kPhi)) &&
(aod::femtouniverseparticle::pt > confPhiPtLow) &&
(aod::femtouniverseparticle::pt < confPhiPtHigh) &&
(aod::femtouniverseparticle::tempFitVar > confInvMassLowLimitPhi) &&
(aod::femtouniverseparticle::tempFitVar < confInvMassUpLimitPhi);

/// Partitions for Phi daughters kPhiChild
Partition<FilteredFemtoFullParticles> partsPhiDaugh = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kPhiChild));
Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsPhiDaughMC = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kPhiChild));
Partition<FilteredFemtoFullParticles> partsPhiDaugh = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kPhiChild));
Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsPhiDaughMC = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kPhiChild));

// Partition for K+K- minv
Partition<FilteredFemtoFullParticles> partsKaons = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack));
Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsKaonsMC = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack));
Partition<FilteredFemtoFullParticles> partsKaons = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kTrack));
Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsKaonsMC = (aod::femtouniverseparticle::partType == static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kTrack));

/// Histogramming for particle 1
FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack, 1> trackHistoPartTrack;
Expand Down Expand Up @@ -562,22 +565,22 @@ struct FemtoUniversePairTaskTrackPhi {
float mMassTwo = o2::constants::physics::MassKMinus;

for (auto const& [kaon1, kaon2] : combinations(CombinationsStrictlyUpperIndexPolicy(partsKaons, partsKaons))) {
if ((kaon1.mAntiLambda() == 1) && (kaon2.mAntiLambda() == 1)) {
if ((confFillMinvBackgroundKpKp) && (kaon1.mAntiLambda() == 1) && (kaon2.mAntiLambda() == 1)) {
part1Vec.SetPtEtaPhiM(kaon1.pt(), kaon1.eta(), kaon1.phi(), mMassOne);
part2Vec.SetPtEtaPhiM(kaon2.pt(), kaon2.eta(), kaon2.phi(), mMassOne);
TLorentzVector sumVec(part1Vec);
sumVec += part2Vec;
registryPhiMinvBackground.fill(HIST("InvariantMassKpKp"), sumVec.M());
}
if ((kaon1.mAntiLambda() == -1) && (kaon2.mAntiLambda() == -1)) {
if ((confFillMinvBackgroundKmKm) && (kaon1.mAntiLambda() == -1) && (kaon2.mAntiLambda() == -1)) {
part1Vec.SetPtEtaPhiM(kaon1.pt(), kaon1.eta(), kaon1.phi(), mMassTwo);
part2Vec.SetPtEtaPhiM(kaon2.pt(), kaon2.eta(), kaon2.phi(), mMassTwo);

TLorentzVector sumVec(part1Vec);
sumVec += part2Vec;
registryPhiMinvBackground.fill(HIST("InvariantMassKmKm"), sumVec.M());
}
if ((kaon1.mAntiLambda() == 1) && (kaon2.mAntiLambda() == -1)) {
if ((confFillMinvBackgroundKpKm) && (kaon1.mAntiLambda() == 1) && (kaon2.mAntiLambda() == -1)) {
part1Vec.SetPtEtaPhiM(kaon1.pt(), kaon1.eta(), kaon1.phi(), mMassOne);
part2Vec.SetPtEtaPhiM(kaon2.pt(), kaon2.eta(), kaon2.phi(), mMassTwo);

Expand Down Expand Up @@ -681,7 +684,7 @@ struct FemtoUniversePairTaskTrackPhi {
void processMCTruth(aod::FDParticles const& parts)
{
for (auto const& part : parts) {
if (part.partType() != uint8_t(aod::femtouniverseparticle::ParticleType::kMCTruthTrack)) {
if (part.partType() != static_cast<uint8_t>(aod::femtouniverseparticle::ParticleType::kMCTruthTrack)) {
continue;
}

Expand Down
Loading