Skip to content

Conversation

@zhangbiao-phy
Copy link
Collaborator

@zhangbiao-phy zhangbiao-phy commented Jan 5, 2026

  • Add Ct-->triton Kpi and Che3-->He3 Kpi into the 3prong
  • Add light nuclei track quality cut (include ITS pid)

Tag @fgrosa for the informations

@github-actions
Copy link

github-actions bot commented Jan 5, 2026

O2 linter results: ❌ 25 errors, ⚠️ 8 warnings, 🔕 11 disabled

@github-actions github-actions bot changed the title Complete the charmed hypernuclei search and add light-nuclei track-quality QA to the skimming task [Common,PWGHF] Complete the charmed hypernuclei search and add light-nuclei track-quality QA to the skimming task Jan 5, 2026
@zhangbiao-phy zhangbiao-phy changed the title [Common,PWGHF] Complete the charmed hypernuclei search and add light-nuclei track-quality QA to the skimming task [Common,PWGHF] Complete the charmed hypernuclei search and add light-nuclei track-quality cut to the skimming task Jan 5, 2026
Copy link
Collaborator

@fgrosa fgrosa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @zhangbiao-phy thanks a lot for the development! I still didn't check the full PR in detail, but I have a couple of important comments to be kept in mind

Comment on lines 656 to 662
// ITS
float mPtItsMin = 0.; ///< minimum pT for TPC PID [GeV/c]
float mPtItsMax = 100.; ///< maximum pT for TPC PID [GeV/c]
float mNSigmaItsMin = -3.; ///< minimum number of TPC σ
float mNSigmaItsMax = 3.; ///< maximum number of TPC σ
float mNSigmaItsMinCondTpc = 0.; ///< minimum number of TPC σ if combined with TOF
float mNSigmaItsMaxCondTpc = 0.; ///< maximum number of TPC σ if combined with TOF
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for spotting this! I had it in my first version, where I added all the functions related to ITS also to the PID selector class. However, I realized that they are not commonly used in HF, so I decided not to include them. I then forgot to remove it.

@vkucera vkucera marked this pull request as draft January 8, 2026 01:15

int8_t flag = BIT(ChannelsProtonPid::NChannelsProtonPid + 2) - 1; // all bits on (including the kaon one)
for (auto iChannel{0u}; iChannel < ChannelsProtonPid::NChannelsProtonPid + 2; ++iChannel) {
int8_t flag = BIT(ChannelsProtonPid::NChannelsProtonPid + 4) - 1; // all bits on (including the kaon one)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this hard-coded?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added two decay channels. but I fixed it now


using SelectedCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::HfSelCollision>>;
using TracksWithPVRefitAndDCA = soa::Join<aod::TracksWCovDcaExtra, aod::HfPvRefitTrack>;
using TracksWithPVRefitAndDCA = soa::Join<aod::FullTracks, aod::TracksWCovDcaExtra, aod::HfPvRefitTrack>;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove it

#include "Common/DataModel/Centrality.h"
#include "Common/DataModel/CollisionAssociationTables.h"
#include "Common/DataModel/EventSelection.h"
#include "Common/DataModel/PIDResponseITS.h"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which need it for ITS nsigma PID in:
auto tracksWithItsPid = soa::Attach<TTracks, aod::pidits::ITSNSigmaDe, aod::pidits::ITSNSigmaTr, aod::pidits::ITSNSigmaHe>(tracks);

const std::vector<double> ptBinsMl{0., 1.e10};
const std::vector<int> cutDirMl{o2::cuts_ml::CutDirection::CutGreater, o2::cuts_ml::CutDirection::CutSmaller, o2::cuts_ml::CutDirection::CutSmaller};
const std::array<LabeledArray<double>, kN3ProngDecays - 1> thresholdMlScore3Prongs{config.thresholdMlScoreDplusToPiKPi, config.thresholdMlScoreLcToPiKP, config.thresholdMlScoreDsToPiKK, config.thresholdMlScoreXicToPiKP};
const std::array<LabeledArray<double>, kN3ProngDecays - 3> thresholdMlScore3Prongs{config.thresholdMlScoreDplusToPiKPi, config.thresholdMlScoreLcToPiKP, config.thresholdMlScoreDsToPiKK, config.thresholdMlScoreXicToPiKP};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this hard-coded?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


// initialise 3-prong ML responses
for (int iDecay3P{0}; iDecay3P < kN3ProngDecays - 1; ++iDecay3P) {
for (int iDecay3P{0}; iDecay3P < kN3ProngDecays - 3; ++iDecay3P) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this hard-coded?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

zhangbiao-phy added a commit to zhangbiao-phy/O2Physics that referenced this pull request Jan 8, 2026
[PWGHF] Please consider the following formatting changes to AliceO2Group#14390
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants