feat(MinimumBiasClassifier): Add PHParameters for detailed cut tracking#3884
feat(MinimumBiasClassifier): Add PHParameters for detailed cut tracking#3884Steepspace wants to merge 6 commits intosPHENIX-Collaboration:masterfrom
Conversation
Build & test reportReport for commit 2af2be95566efb8e8f5eb2dda64ab85a79543791:
Automatically generated by sPHENIX Jenkins continuous integration |
|
PHParameters are very expensive to use on an event by event basis. They are meant to be used for configurations and have a DB backend. This is just the wrong class to handle event by event parameters in this case, |
I will note that PHParameters is currently used in the JetBackgroundCut module that also does something similar on an event by event basis: coresoftware/offline/packages/jetbackground/JetBackgroundCut.cc Lines 283 to 293 in 9d03281 However, since this is not recommended, do you suggest any other approach that will be ideal to pass the information regarding the cuts so that QA downstream can log that different cases? |
|
That was a bit of a temporary measure - before that they used PHFlag which is even worse. The very basic problem here (and in the jet background) is that it uses the temporary "PAR" which is not saved (and also not reset - so there is a possibility of carrying information from one event to the next accidentally). That means the downstream qa module can never be run off a DST which is just a bad idea (and it will potentially read info from a previous event). I don't see any qa code which accesses this node - so I am not sure if this was actually thought out or followed up with an actual qa implementation. |
Thank you for the suggestion. Could you provide a template or reference that I can use to implement this i/o class that can store these quantities under the DST node? |
Build & test reportReport for commit ef1c109a81e6aeebdf52f3a02261fea1c7da033b:
Automatically generated by sPHENIX Jenkins continuous integration |
Build & test reportReport for commit 6aa5d2a73f9ba02afcc703a4bca98ae19d5351e5:
Automatically generated by sPHENIX Jenkins continuous integration |
- No functional changes introduced - Simply propagating the the failure cases for the isAuAuMiniumBias flag.
Suppressing the minimum bias check setting to false for total MBD charge above 2100.
- Setting the defaults for the MinBias params at the top of the FillMinimumBiasInfo method to ensure they are set
- MBD Total Charge (North & South), vertex scale and centrality scale factor
- Converted the total MBD Charge threshold from hard coded to into variable and swtiched to the new default of 2700
- Move the creation of minimum bias params outside of the GetNodes which is called once per each event - Only needs to be called once in the init
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Build & test reportReport for commit f2a80043c0be1260b531b261ab6d8d9886622872:
Automatically generated by sPHENIX Jenkins continuous integration |




Types of changes
What kind of change does this PR introduce? (Bug fix, feature, ...)
This PR introduces
PHParametersto theMinimumBiasClassifierto provide detailed, event-by-event information about why the minimum bias selection passes or fails. Previously, the module only set a single boolean, making it difficult to debug or perform quality assurance checks.Key changes include:
PHParametersobject named"MinBiasParams"is now created and stored on thePARnode.trueif an event fails a specific selection criterion, such as:minbias_background_cut_failminbias_two_hit_min_failminbias_zdc_energy_min_failminbias_mbd_total_energy_max_failset_mbd_total_charge_cut()method. (Note: The default total MBD charge cut of 2100 remains unchanged.)TODOs (if applicable)
Links to other PRs in macros and calibration repositories (if applicable)