-
Notifications
You must be signed in to change notification settings - Fork 221
feat(MinimumBiasClassifier): Add PHParameters for detailed cut tracking #3884
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
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 |
- 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
- Adjust default MBD Charge Max back to it's default of 2100
- 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
Build & test reportReport for commit 6aa5d2a73f9ba02afcc703a4bca98ae19d5351e5:
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)