fix pileup handling for oo in CreateFileList.pl#4133
fix pileup handling for oo in CreateFileList.pl#4133pinkenburg merged 1 commit intosPHENIX-Collaboration:masterfrom
Conversation
📝 WalkthroughWalkthroughThis PR introduces OO-specific pileup configuration variables ( Changes
Possibly related PRs
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 |
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
offline/framework/frog/CreateFileList.pl (2)
173-201: Fix Perl syntax error and initialize OO pileup for standard modes.Line 200 has a hard syntax error (
$ OO_bkgpileup) that prevents the script from running. Also,OO_pileupstringis only set in theelsebranch; for pileup modes 1–3 (the defaults) it stays undefined, so OO filenames silently miss pileup suffixes.🔧 Proposed fix
if ($pileup == 1) { $AuAu_pileupstring = sprintf("_50kHz%s",$AuAu_bkgpileup); $pp_pileupstring = sprintf("_3MHz"); $pAu_pileupstring = sprintf("_500kHz%s",$pAu_bkgpileup); + $OO_pileupstring = sprintf("_50kHz%s",$OO_bkgpileup); } elsif ($pileup == 2) { $AuAu_pileupstring = sprintf("_25kHz%s",$AuAu_bkgpileup); + $OO_pileupstring = sprintf("_25kHz%s",$OO_bkgpileup); } elsif ($pileup == 3) { $AuAu_pileupstring = sprintf("_10kHz%s",$AuAu_bkgpileup); + $OO_pileupstring = sprintf("_10kHz%s",$OO_bkgpileup); } ... else { $pp_pileupstring = sprintf("_%dkHz",$pileup); $AuAu_pileupstring = sprintf("_%dkHz%s",$pileup, $AuAu_bkgpileup); - $OO_pileupstring = sprintf("_%dkHz%s",$pileup,$ OO_bkgpileup); + $OO_pileupstring = sprintf("_%dkHz%s",$pileup, $OO_bkgpileup); }
943-947: Use the OO pileup string for OO production type.For
prodtype == 37,$pileupstringis still set to$AuAu_pileupstring. This makes later filename manipulations (e.g., G4Hits path rewriting) use the wrong suffix for OO.🔧 Proposed fix
- $pileupstring = $AuAu_pileupstring; + $pileupstring = $OO_pileupstring;
Types of changes
What kind of change does this PR introduce? (Bug fix, feature, ...)
The handling of the pileup selection was wrong for OO (and AuAu for selected pileup scenarios). no jenkins running: [skip-ci]
TODOs (if applicable)
Links to other PRs in macros and calibration repositories (if applicable)
Fix Pileup Handling for OO in CreateFileList.pl
Motivation / Context
The CreateFileList.pl script generates dataset file lists for sPHENIX based on production type and collision system. The O+O (OO) collision system (production type 37) was incorrectly using Au+Au pileup background configuration, despite having different nuclear geometry. O+O collisions have a 0-15fm impact parameter range, whereas Au+Au uses 0-10fm. This PR corrects the pileup string generation for OO datasets to use system-specific background parameters.
Key Changes
$OO_pileupstringvariable and$OO_bkgpileupconstant set to_bkg_0_15fm(matching the 0-15fm impact parameter range for O+O collisions)$OO_pileupstringfor custom pileup rates (pileup > 5), combining the OO-specific background with the requested pileup rate$OO_pileupstringalongside other system pileup strings when the--nobkgpileupflag is set (used for embedding without background pileup)$OO_pileupstringinstead of$AuAu_pileupstringwhen constructing sHijing_OO dataset filenames, ensuring O+O samples have correct pileup-dependent naming--nopileupflag is usedPotential Risk Areas
_<rate>kHz_bkg_0_15fmnaming instead of the incorrect_<rate>kHz_bkg_0_10fm. This affects file discovery patterns and file catalog entries. Users and analysis scripts that hardcode filename patterns for O+O samples need to be updated.$pileupstring = $AuAu_pileupstring;for OO production type. This assignment (which should arguably use$OO_pileupstringfor consistency) may affect downstream file type assignment logic and was not corrected in this PR.Possible Future Improvements
$OO_pileupstringto maintain consistent pileup string tracking throughout the scriptNote: AI-assisted analysis of complex Perl scripts can contain interpretation errors. Review of file naming impacts and verification that downstream workflows properly handle the new O+O naming convention is strongly recommended.