Skip to content

Conversation

@Rrantu
Copy link
Contributor

@Rrantu Rrantu commented Feb 11, 2026

  1. The default values of NDtColl, MinNBCs, MinNTracks and MaxNTracksFix in utilsUpcHf.h were not optimal and have been changed to Configurable parameters.
  2. Reduced the number of bins in the UPC QA histograms in taskLc.cxx to optimize memory usage.

@github-actions github-actions bot added the pwghf PWG-HF label Feb 11, 2026
@github-actions github-actions bot changed the title Fix sgSelector defaults and reduce UPC QA histogram binning [PWGHF] Fix sgSelector defaults and reduce UPC QA histogram binning Feb 11, 2026
@vkucera vkucera marked this pull request as draft February 11, 2026 17:25
@vkucera
Copy link
Collaborator

vkucera commented Feb 11, 2026

Hi @Rrantu , when these parameters were being added, my understanding was that these were already optimised constants taken from the UD. Can you please explain the motivation of your PR?
Btw, your changes do not modify the defaults of the SGSelector class. Fix the title.

@Rrantu Rrantu closed this Feb 11, 2026
@Rrantu Rrantu reopened this Feb 11, 2026
@Rrantu Rrantu changed the title [PWGHF] Fix sgSelector defaults and reduce UPC QA histogram binning [PWGHF] Make default sgSelector parameters configurable Feb 11, 2026
@Rrantu
Copy link
Contributor Author

Rrantu commented Feb 11, 2026

Hi @Rrantu , when these parameters were being added, my understanding was that these were already optimised constants taken from the UD. Can you please explain the motivation of your PR? Btw, your changes do not modify the defaults of the SGSelector class. Fix the title.

Hi @vkucera, the original default values were not fully consistent with the UD configurations. I have now made these parameters configurable based on the settings used in the UD analysis.

@Rrantu Rrantu marked this pull request as ready for review February 11, 2026 17:58
Comment on lines 39 to 43
o2::framework::Configurable<int> fNDtColl{"fNDtColl", 1, "Number of standard deviations to consider in BC range"};
o2::framework::Configurable<int> fNBCsMin{"fNBCsMin", 2, "Minimum number of BCs to consider in BC range"};
o2::framework::Configurable<int> fNPVCsMin{"fNPVCsMin", 2, "Minimum number of PV contributors"};
o2::framework::Configurable<int> fNPVCsMax{"fNPVCsMax", 1000, "Maximum number of PV contributors"};
o2::framework::Configurable<float> fFITTimeMax{"fFITTimeMax", 34, "Maximum time in FIT"};
Copy link
Collaborator

Choose a reason for hiding this comment

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

  • Fix the names.
  • Why is fFITTimeMax initialised with int?
  • The default values should be taken from defaults.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @vkucera, thanks for your comments, I have fixed the name. And the initialization of fFITTimeMax follows the implementation in this file:
#

Configurable<float> fConfigMaxFITTime{"cfgMaxFITTime", 4, "Maximum time in FIT"};

Copy link
Collaborator

Choose a reason for hiding this comment

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

The initialisation in the DQ file is wrong.

Comment on lines 39 to 43
o2::framework::Configurable<int> nDtColl{"nDtColl", 1, "Number of standard deviations to consider in BC range"};
o2::framework::Configurable<int> nBCsMin{"nBCsMin", 2, "Minimum number of BCs to consider in BC range"};
o2::framework::Configurable<int> nPVCsMin{"nPVCsMin", 2, "Minimum number of PV contributors"};
o2::framework::Configurable<int> nPVCsMax{"nPVCsMax", 1000, "Maximum number of PV contributors"};
o2::framework::Configurable<float> fITTimeMax{"fITTimeMax", 34, "Maximum time in FIT"};
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
o2::framework::Configurable<int> nDtColl{"nDtColl", 1, "Number of standard deviations to consider in BC range"};
o2::framework::Configurable<int> nBCsMin{"nBCsMin", 2, "Minimum number of BCs to consider in BC range"};
o2::framework::Configurable<int> nPVCsMin{"nPVCsMin", 2, "Minimum number of PV contributors"};
o2::framework::Configurable<int> nPVCsMax{"nPVCsMax", 1000, "Maximum number of PV contributors"};
o2::framework::Configurable<float> fITTimeMax{"fITTimeMax", 34, "Maximum time in FIT"};
o2::framework::Configurable<int> nDtColl{"nDtColl", 1, "Number of standard deviations to consider in BC range"};
o2::framework::Configurable<int> nBcsMin{"nBcsMin", 2, "Minimum number of BCs to consider in BC range"};
o2::framework::Configurable<int> nContributorsPvMin{"nContributorsPvMin", 2, "Minimum number of PV contributors"};
o2::framework::Configurable<int> nContributorsPvMax{"nContributorsPvMax", 1000, "Maximum number of PV contributors"};
o2::framework::Configurable<float> timeFitMax{"timeFitMax", 34, "Maximum time in FIT"};

Comment on lines 75 to 79
int nDtColl = defaults::NDtColl,
int nBCsMin = defaults::MinNBCs,
int nPVCsMin = defaults::MinNTracks,
int nPVCsMax = defaults::MaxNTracks,
float fITTimeMax = defaults::MaxFITTime,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Same name fixes.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Please remove zdcThreshold. It is unused.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for your suggestions, I've updated the code.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks. Please implement the remaining changes I had requested.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry, I missed one of the changes earlier. It has now been fixed.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Also the default values.

Copy link
Contributor Author

@Rrantu Rrantu Feb 11, 2026

Choose a reason for hiding this comment

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

The default value now matches the one in this file:
#

sgCuts.SetNDtcoll(1); // Minimum number of sigma around the collision
sgCuts.SetMinNBCs(2); // Minimum number of bunch crossings
sgCuts.SetNTracks(2, 1000); // Minimum and maximum number of PV contributors
sgCuts.SetMaxFITtime(34.f); // Maximum FIT time in ns

Please let me know if this is okay

Copy link
Collaborator

Choose a reason for hiding this comment

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

Sorry, I don't understand why we have 3 independent sets of these values now:

  • o2::analysis::hf_upc::HfUpcGapThresholds
  • o2::analysis::hf_upc::defaults
  • o2::hf_evsel::HfEventSelection::setSgPreselection

Maybe @zhangbiao-phy can clarify.

@vkucera vkucera marked this pull request as draft February 11, 2026 18:45
@Rrantu Rrantu marked this pull request as ready for review February 11, 2026 19:30
@vkucera vkucera marked this pull request as draft February 11, 2026 19:53
@Rrantu Rrantu marked this pull request as ready for review February 11, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pwghf PWG-HF

Development

Successfully merging this pull request may close these issues.

2 participants