Skip to content
Merged
Show file tree
Hide file tree
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
34 changes: 19 additions & 15 deletions PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,8 @@ struct HfCandidateCreatorXic0Omegac0 {
template <o2::hf_centrality::CentralityEstimator centEstimator, int decayChannel, typename Coll, typename Hist>
void runXic0Omegac0Creator(Coll const&,
aod::BCsWithTimestamps const& /*bcWithTimeStamps*/,
TracksWCovDca const&,
MyLFTracksWCov const&,
MyLFTracksWCov const& lfTracks,
TracksWCovDca const& tracks,
MyCascTable const&, CascadesLinked const&,
aod::HfCascLf2Prongs const& candidates,
Hist& hInvMassCharmBaryon,
Expand Down Expand Up @@ -309,7 +309,8 @@ struct HfCandidateCreatorXic0Omegac0 {
}
df.setBz(magneticField);

auto trackCharmBachelor = cand.prong0_as<TracksWCovDca>();
auto trackCharmBachelorId = cand.prong0Id();
auto trackCharmBachelor = tracks.rawIteratorAt(trackCharmBachelorId);

auto cascAodElement = cand.cascade_as<aod::CascadesLinked>();
hCascadesCounter->Fill(0);
Expand All @@ -319,9 +320,12 @@ struct HfCandidateCreatorXic0Omegac0 {
}
auto casc = cascAodElement.cascData_as<MyCascTable>();
hCascadesCounter->Fill(1);
auto trackCascDauCharged = casc.bachelor_as<MyLFTracksWCov>(); // pion <- xi track
auto trackV0Dau0 = casc.posTrack_as<MyLFTracksWCov>(); // V0 positive daughter track
auto trackV0Dau1 = casc.negTrack_as<MyLFTracksWCov>(); // V0 negative daughter track
auto trackCascDauChargedId = casc.bachelorId(); // pion <- xi track
auto trackV0Dau0Id = casc.posTrackId(); // V0 positive daughter track
auto trackV0Dau1Id = casc.negTrackId(); // V0 negative daughter track
auto trackCascDauCharged = lfTracks.rawIteratorAt(trackCascDauChargedId); // pion <- xi track
auto trackV0Dau0 = lfTracks.rawIteratorAt(trackV0Dau0Id); // V0 positive daughter track
auto trackV0Dau1 = lfTracks.rawIteratorAt(trackV0Dau1Id); // V0 negative daughter track

//-------------------------- V0 info---------------------------
// pseudorapidity
Expand Down Expand Up @@ -1005,7 +1009,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::None, hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi);
runXic0Omegac0Creator<CentralityEstimator::None, hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processNoCentToXiPi, "Run candidate creator w/o centrality selections for xi pi decay channel", true);

Expand All @@ -1017,7 +1021,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::None, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi);
runXic0Omegac0Creator<CentralityEstimator::None, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processNoCentToOmegaPi, "Run candidate creator w/o centrality selections for omega pi decay channel", false);

Expand All @@ -1040,7 +1044,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::None, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, hCandidateCounterToOmegaK, hCascadesCounterToOmegaK);
runXic0Omegac0Creator<CentralityEstimator::None, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, hCandidateCounterToOmegaK, hCascadesCounterToOmegaK);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processNoCentToOmegaK, "Run candidate creator w/o centrality selections for omega K decay channel", false);

Expand All @@ -1053,7 +1057,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::FT0C, hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi);
runXic0Omegac0Creator<CentralityEstimator::FT0C, hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0CToXiPi, "Run candidate creator w/ centrality selection on FT0C for xi pi channel", false);

Expand All @@ -1065,7 +1069,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::FT0C, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi);
runXic0Omegac0Creator<CentralityEstimator::FT0C, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0CToOmegaPi, "Run candidate creator w/ centrality selection on FT0C for omega pi channel", false);

Expand All @@ -1077,7 +1081,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::FT0C, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, hCandidateCounterToOmegaK, hCascadesCounterToOmegaK);
runXic0Omegac0Creator<CentralityEstimator::FT0C, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, hCandidateCounterToOmegaK, hCascadesCounterToOmegaK);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0CToOmegaK, "Run candidate creator w/ centrality selection on FT0C for omega K channel", false);

Expand All @@ -1090,7 +1094,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::FT0M, hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi);
runXic0Omegac0Creator<CentralityEstimator::FT0M, hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0MToXiPi, "Run candidate creator w/ centrality selection on FT0M for xi pi channel", false);

Expand All @@ -1102,7 +1106,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::FT0M, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi);
runXic0Omegac0Creator<CentralityEstimator::FT0M, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0MToOmegaPi, "Run candidate creator w/ centrality selection on FT0M for omega pi channel", false);

Expand All @@ -1114,7 +1118,7 @@ struct HfCandidateCreatorXic0Omegac0 {
CascadesLinked const& cascadeLinks,
aod::HfCascLf2Prongs const& candidates)
{
runXic0Omegac0Creator<CentralityEstimator::FT0M, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK>(collisions, bcWithTimeStamps, tracks, lfTracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, hCandidateCounterToOmegaK, hCascadesCounterToOmegaK);
runXic0Omegac0Creator<CentralityEstimator::FT0M, hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK>(collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, hCandidateCounterToOmegaK, hCascadesCounterToOmegaK);
}
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0MToOmegaK, "Run candidate creator w/ centrality selection on FT0M for omega K channel", false);

Expand Down
20 changes: 12 additions & 8 deletions PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaKa.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -195,19 +195,23 @@ struct HfCandidateSelectorToOmegaKa {
}

void process(aod::HfCandToOmegaK const& candidates,
TracksSel const&,
TracksSelLf const&)
TracksSel const& tracks,
TracksSelLf const& lfTracks)
{

// looping over charm baryon candidates
for (const auto& candidate : candidates) {

bool resultSelections = true; // True if the candidate passes all the selections, False otherwise

auto trackV0PosDau = candidate.posTrack_as<TracksSelLf>(); // positive V0 daughter
auto trackV0NegDau = candidate.negTrack_as<TracksSelLf>(); // negative V0 daughter
auto trackKaFromCasc = candidate.bachelor_as<TracksSelLf>(); // kaon <- cascade
auto trackKaFromCharm = candidate.bachelorFromCharmBaryon_as<TracksSel>(); // kaon <- charm baryon
auto trackV0PosDauId = candidate.posTrackId(); // positive V0 daughter
auto trackV0NegDauId = candidate.negTrackId(); // negative V0 daughter
auto trackKaFromCascId = candidate.bachelorId(); // kaon <- cascade
auto trackKaFromCharmId = candidate.bachelorFromCharmBaryonId(); // pion <- charm baryon
auto trackV0PosDau = lfTracks.rawIteratorAt(trackV0PosDauId);
auto trackV0NegDau = lfTracks.rawIteratorAt(trackV0NegDauId);
auto trackKaFromCasc = lfTracks.rawIteratorAt(trackKaFromCascId);
auto trackKaFromCharm = tracks.rawIteratorAt(trackKaFromCharmId);

auto trackPiFromLam = trackV0NegDau;
auto trackPrFromLam = trackV0PosDau;
Expand Down Expand Up @@ -304,15 +308,15 @@ struct HfCandidateSelectorToOmegaKa {
}

// dcaXY v0 daughters to PV cut
if (candidate.dcaXYToPvV0Dau0() < dcaPosToPvMin || candidate.dcaXYToPvV0Dau1() < dcaNegToPvMin) {
if (std::abs(candidate.dcaXYToPvV0Dau0()) < dcaPosToPvMin || std::abs(candidate.dcaXYToPvV0Dau1()) < dcaNegToPvMin) {
resultSelections = false;
registry.fill(HIST("hSelDcaXYToPvV0Daughters"), 0);
} else {
registry.fill(HIST("hSelDcaXYToPvV0Daughters"), 1);
}

// dcaXY ka <-- cascade to PV cut
if (candidate.dcaXYToPvCascDau() < dcaBachToPvMin) {
if (std::abs(candidate.dcaXYToPvCascDau()) < dcaBachToPvMin) {
resultSelections = false;
registry.fill(HIST("hSelDcaXYToPvKaFromCasc"), 0);
} else {
Expand Down
20 changes: 12 additions & 8 deletions PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -195,18 +195,22 @@ struct HfCandidateSelectorToOmegaPi {
}

void process(aod::HfCandToOmegaPi const& candidates,
TracksSel const&,
TracksSelLf const&)
TracksSel const& tracks,
TracksSelLf const& lfTracks)
{
// looping over charm baryon candidates
for (const auto& candidate : candidates) {

bool resultSelections = true; // True if the candidate passes all the selections, False otherwise

auto trackV0PosDau = candidate.posTrack_as<TracksSelLf>(); // positive V0 daughter
auto trackV0NegDau = candidate.negTrack_as<TracksSelLf>(); // negative V0 daughter
auto trackKaFromCasc = candidate.bachelor_as<TracksSelLf>(); // kaon <- cascade
auto trackPiFromCharm = candidate.bachelorFromCharmBaryon_as<TracksSel>(); // pion <- charm baryon
auto trackV0PosDauId = candidate.posTrackId(); // positive V0 daughter
auto trackV0NegDauId = candidate.negTrackId(); // negative V0 daughter
auto trackKaFromCascId = candidate.bachelorId(); // kaon <- cascade
auto trackPiFromCharmId = candidate.bachelorFromCharmBaryonId(); // pion <- charm baryon
auto trackV0PosDau = lfTracks.rawIteratorAt(trackV0PosDauId);
auto trackV0NegDau = lfTracks.rawIteratorAt(trackV0NegDauId);
auto trackKaFromCasc = lfTracks.rawIteratorAt(trackKaFromCascId);
auto trackPiFromCharm = tracks.rawIteratorAt(trackPiFromCharmId);

auto trackPiFromLam = trackV0NegDau;
auto trackPrFromLam = trackV0PosDau;
Expand Down Expand Up @@ -303,15 +307,15 @@ struct HfCandidateSelectorToOmegaPi {
}

// dcaXY v0 daughters to PV cut
if (candidate.dcaXYToPvV0Dau0() < dcaPosToPvMin || candidate.dcaXYToPvV0Dau1() < dcaNegToPvMin) {
if (std::abs(candidate.dcaXYToPvV0Dau0()) < dcaPosToPvMin || std::abs(candidate.dcaXYToPvV0Dau1()) < dcaNegToPvMin) {
resultSelections = false;
registry.fill(HIST("hSelDcaXYToPvV0Daughters"), 0);
} else {
registry.fill(HIST("hSelDcaXYToPvV0Daughters"), 1);
}

// dcaXY ka <-- cascade to PV cut
if (candidate.dcaXYToPvCascDau() < dcaBachToPvMin) {
if (std::abs(candidate.dcaXYToPvCascDau()) < dcaBachToPvMin) {
resultSelections = false;
registry.fill(HIST("hSelDcaXYToPvKaFromCasc"), 0);
} else {
Expand Down
20 changes: 12 additions & 8 deletions PWGHF/TableProducer/candidateSelectorToXiPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,8 @@ struct HfCandidateSelectorToXiPi {
}

void process(aod::HfCandToXiPi const& candidates,
TracksSel const&,
TracksSelLf const&)
TracksSel const& tracks,
TracksSelLf const& lfTracks)
{

double massLambdaFromPDG = o2::constants::physics::MassLambda0;
Expand All @@ -189,10 +189,14 @@ struct HfCandidateSelectorToXiPi {

bool resultSelections = true; // True if the candidate passes all the selections, False otherwise

auto trackV0PosDau = candidate.posTrack_as<TracksSelLf>(); // positive V0 daughter
auto trackV0NegDau = candidate.negTrack_as<TracksSelLf>(); // negative V0 daughter
auto trackPiFromCasc = candidate.bachelor_as<TracksSelLf>(); // pion <- cascade
auto trackPiFromCharm = candidate.bachelorFromCharmBaryon_as<TracksSel>(); // pion <- charm baryon
auto trackV0PosDauId = candidate.posTrackId(); // positive V0 daughter
auto trackV0NegDauId = candidate.negTrackId(); // negative V0 daughter
auto trackPiFromCascId = candidate.bachelorId(); // pion <- cascade
auto trackPiFromCharmId = candidate.bachelorFromCharmBaryonId(); // pion <- charm baryon
auto trackV0PosDau = lfTracks.rawIteratorAt(trackV0PosDauId);
auto trackV0NegDau = lfTracks.rawIteratorAt(trackV0NegDauId);
auto trackPiFromCasc = lfTracks.rawIteratorAt(trackPiFromCascId);
auto trackPiFromCharm = tracks.rawIteratorAt(trackPiFromCharmId);

auto trackPiFromLam = trackV0NegDau;
auto trackPrFromLam = trackV0PosDau;
Expand Down Expand Up @@ -289,15 +293,15 @@ struct HfCandidateSelectorToXiPi {
}

// dcaXY v0 daughters to PV cut
if (candidate.dcaXYToPvV0Dau0() < dcaPosToPvMin || candidate.dcaXYToPvV0Dau1() < dcaNegToPvMin) {
if (std::abs(candidate.dcaXYToPvV0Dau0()) < dcaPosToPvMin || std::abs(candidate.dcaXYToPvV0Dau1()) < dcaNegToPvMin) {
resultSelections = false;
registry.fill(HIST("hSelDcaXYToPvV0Daughters"), 0);
} else {
registry.fill(HIST("hSelDcaXYToPvV0Daughters"), 1);
}

// dcaXY pi <-- cascade to PV cut
if (candidate.dcaXYToPvCascDau() < dcaBachToPvMin) {
if (std::abs(candidate.dcaXYToPvCascDau()) < dcaBachToPvMin) {
resultSelections = false;
registry.fill(HIST("hSelDcaXYToPvPiFromCasc"), 0);
} else {
Expand Down