-
Notifications
You must be signed in to change notification settings - Fork 68
Fwd picodst integration #639
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
Conversation
|
From the discussion at this week's analysis meeting, it sounds like we should freeze an |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds initial PicoDst integration for Forward systems, introducing four new classes: StPicoFwdTrack, StPicoFwdVertex, StPicoFcsHit, and StPicoFcsCluster. The implementation enables storage of forward tracking and calorimetry data in a compressed format suitable for physics analyses.
Key changes:
- Adds new PicoDst classes for forward detector systems (FST/FTT tracking, FCS calorimetry)
- Integrates forward track and vertex storage with existing PicoDst infrastructure
- Implements a "vtxless" mode for forward-only events without TPC primary vertices
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| StPicoFwdTrack.h/cxx | New forward track class with momentum, fit quality, and calorimeter matching |
| StPicoFwdVertex.h | New forward vertex class storing position and track association |
| StPicoFcsHit.h/cxx | New FCS hit class with four-momentum storage |
| StPicoFcsCluster.h/cxx | New FCS cluster class with shape and energy information |
| StPicoDstMaker.cxx/h | Integration of forward objects and vtxless mode support |
| StPicoArrays.h/cxx | Addition of new array types and sizing |
| StPicoDst.h/cxx | Interface methods for accessing forward objects |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
|
General comment: or |
|
Summary (Aug 28 12pm):
|
|
@jdb will check consistency of nightly test output to verify that the picots output is unchanged |
nigmatkulov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to be okay. @genevb will build the library for testing the changes.
|
I built an SL25z library (64-bit, on NFS4 only) with this PR, and ran several nightly tests for comparison with DEV (64-bit, AFS). Some of the tests I ran only produced MuDsts, so I did not have a closer look at them. The following nightly test datasets' PicoDsts were compared: production_pp500_2022_64bit (optimized) I found in all cases (see footnote 2), the PicoDsts were essentially identical. This evidence supports moving forward with this PR.
|
genevb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change I requested was made, so I'm changing my review status to "Approve".
|
...but it would be good if we can resolve the error messages. Perhaps a default DB entry for some table with |
@jdbrice, could you please do it? It should be a simple change. |
genevb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The suggestions I propose here deal with the unhelpful error messages for dataset which don't have FCS and/or FWD tracks. The understanding at today's S&C Management meeting was to make these changes for now to complete this PR so that we can proceed with freezing and building a library and move to a production.... but that it would be appropriate for a follow-up PR to more optimally handle these cases. There is code redundancy, and there should be no need for the fillFcs*() functions to be called at all if no FCS collection exists in the MuDst.
Hahaha.... What makes that particularly funny is that @jdbrice is the one who wrote @jdb :-) Anyhow, sorry we bothered you! The authenticity of users included in these github discussions has been a concern of mine since the start :-/ |
Adds initial PicoDst integration for Forward systems:
Details:
Size comparisons:
Vanilla: 12.8 Kb / Event
+FCS: 17.1 Kb / Event
+Fwd Tracks: 17.8 Kb / Event