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
5 changes: 5 additions & 0 deletions PWGHF/D2H/Tasks/taskXic0ToXiPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@ struct HfTaskXic0ToXiPi {
registry.get<THnSparse>(HIST("hBdtScoreVsMassVsPtVsYVsPtPion"))->Sumw2();
registry.get<THnSparse>(HIST("hMassVsPtVsYVsPtPion"))->Sumw2();
}

if (yCandRecMax >= 0) {
registry.add("hNumRejCandidate_RapidityCut", "# of rejected candidate using rap cut;Rej;entries", {HistType::kTH1F, {thnAxisY}});
}
}

template <bool UseKfParticle, bool UseCentrality, bool ApplyMl, typename CandType, typename CollType>
Expand All @@ -190,6 +194,7 @@ struct HfTaskXic0ToXiPi {
yCharmBaryon = candidate.y(o2::constants::physics::MassXiC0);
}
if (yCandRecMax >= 0. && std::abs(yCharmBaryon) > yCandRecMax) {
registry.fill(HIST("hNumRejCandidate_RapidityCut"), yCharmBaryon);
return;
}

Expand Down
2 changes: 0 additions & 2 deletions PWGHF/TableProducer/candidateCreatorXic0Omegac0Qa.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,6 @@ struct HfCandidateCreatorXic0Omegac0Qa {
false, // calculateBachelorBaryonVariable
false, // useCascadeMomentumAtPV
true)) {
// LOG(info) << "!This cascade cannot be rebuilt(cascade ID : " << cand.cascadeId() << "/ collision ID : " << collision.globalIndex();
continue;
} else {
float storeMass = (decayChannel == 0) ? straHelper.cascade.massXi : straHelper.cascade.massOmega;
Expand Down Expand Up @@ -879,7 +878,6 @@ struct HfCandidateCreatorXic0Omegac0Qa {
LFConfigs.kfUseCascadeMassConstraintFromLF,
LFConfigs.kfDoDCAFitterPreMinimV0FromLF,
LFConfigs.kfDoDCAFitterPreMinimCascFromLF)) {
LOG(info) << "This cascade cannot be rebuilt";
continue;
} else {
float storeMass = (decayChannel == 0) ? straHelper.cascade.massXi : straHelper.cascade.massOmega;
Expand Down
23 changes: 17 additions & 6 deletions PWGHF/TableProducer/candidateSelectorToXiPiQa.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ struct HfCandidateSelectorToXiPiQa {
TrackSelectorPr selectorProton;

using TracksSel = soa::Join<aod::TracksWDcaExtra, aod::TracksPidPi, aod::TracksPidPr>;
// using TracksSelLf = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksPidPi, aod::TracksPidPr>;
using TracksSelLf = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksPidPi, aod::TracksPidPr>;

HistogramRegistry registry{"registry"}; // for QA of selections

Expand Down Expand Up @@ -259,6 +259,7 @@ struct HfCandidateSelectorToXiPiQa {
}

// invarinat mass histograms
registry.add("hInvMassCharmBaryonWoPidInvMassCut", "Charm baryon invariant mass; int mass; entries", {HistType::kTH1F, {{1500, 1.5, 4.5}}});
registry.add("hInvMassCharmBaryon", "Charm baryon invariant mass; int mass; entries", {HistType::kTH1F, {{1500, 1.5, 4.5}}});
registry.add("hInvMassCharmBaryonBkg", "Charm baryon invariant mass, rejected; int mass; entries", {HistType::kTH1F, {{1500, 1.5, 4.5}}});

Expand Down Expand Up @@ -519,18 +520,25 @@ struct HfCandidateSelectorToXiPiQa {

template <int svReco, typename TCandTable>
void runSelection(TCandTable const& candidates,
TracksSel 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
outputMlXic0ToXiPi.clear();

#if 0
auto trackV0PosDau = candidate.template posTrack_as<TracksSel>();
auto trackV0NegDau = candidate.template negTrack_as<TracksSel>();
auto trackPiFromCasc = candidate.template bachelor_as<TracksSel>();
auto trackPiFromCharm = candidate.template bachelorFromCharmBaryon_as<TracksSel>();
#endif
auto trackV0PosDau = lfTracks.rawIteratorAt(candidate.posTrackId());
auto trackV0NegDau = lfTracks.rawIteratorAt(candidate.negTrackId());
auto trackPiFromCasc = lfTracks.rawIteratorAt(candidate.bachelorId());
auto trackPiFromCharm = tracks.rawIteratorAt(candidate.bachelorFromCharmBaryonId());

auto trackPiFromLam = trackV0NegDau;
auto trackPrFromLam = trackV0PosDau;
Expand Down Expand Up @@ -724,6 +732,9 @@ struct HfCandidateSelectorToXiPiQa {
}

// Fill in invariant mass histogram
if (resultSelections) {
registry.fill(HIST("hInvMassCharmBaryonWoPidInvMassCut"), invMassCharmBaryon);
}
if (statusPidLambda && statusPidCascade && statusPidCharmBaryon && statusInvMassLambda && statusInvMassCascade && statusInvMassCharmBaryon && resultSelections) {
registry.fill(HIST("hInvMassCharmBaryon"), invMassCharmBaryon);
} else {
Expand All @@ -736,18 +747,18 @@ struct HfCandidateSelectorToXiPiQa {
///////////////////////////////////
/// Process with DCAFitter //
///////////////////////////////////
void processSelectionDCAFitter(aod::HfCandToXiPi const& candidates, TracksSel const& tracks)
void processSelectionDCAFitter(aod::HfCandToXiPi const& candidates, TracksSel const& tracks, TracksSelLf const& lfTracks)
{
runSelection<doDcaFitter>(candidates, tracks);
runSelection<doDcaFitter>(candidates, tracks, lfTracks);
}
PROCESS_SWITCH(HfCandidateSelectorToXiPiQa, processSelectionDCAFitter, "Xic0 candidate selection with DCAFitter output", true);

////////////////////////////////////
/// Process with KFParticle //
////////////////////////////////////
void processSelectionKFParticle(aod::HfCandToXiPiKf const& candidates, TracksSel const& tracks)
void processSelectionKFParticle(aod::HfCandToXiPiKf const& candidates, TracksSel const& tracks, TracksSelLf const& lfTracks)
{
runSelection<doKfParticle>(candidates, tracks);
runSelection<doKfParticle>(candidates, tracks, lfTracks);
}
PROCESS_SWITCH(HfCandidateSelectorToXiPiQa, processSelectionKFParticle, "Xic0 candidate selection with KFParticle output", false);

Expand Down
Loading