Skip to content

Extra SBND CRT Branches#186

Merged
hgreenlee merged 12 commits intodevelopfrom
feature/hlay_crt_taggers
Mar 13, 2026
Merged

Extra SBND CRT Branches#186
hgreenlee merged 12 commits intodevelopfrom
feature/hlay_crt_taggers

Conversation

@henrylay97
Copy link
Copy Markdown
Member

@henrylay97 henrylay97 commented Feb 19, 2026

Quick checklist

  • Have you run git fetch and pulled the latest changes from the branch you're basing your PR against?
  • If you're adding new classes, have you added them to classes_def.xml in the relevant directory?
  • Have you added a checksum in classes_def.xml to any and all new classes you're implementing, and rebuilt?
  • If you're updating classes, have you incremented the ClassVersion by one compared to develop in classes_def.xml?

Description

I am starting to put together slides and PRs to preserve work of mine that lives offline before I leave.

The SBND CRT information in the CAFs is missing a few little pieces that are useful to analyzers (and simple to add as they are already present in the reconstruction objects).

  • The tagger variable (which wall) for the CRTSpacePoints
  • The number of contributing hits variable for the CRTSpacePoints
  • The vector of taggers variable (which walls) for the CRTTrack
  • Boolean fields to quickly establish whether or not a CRT-TPC match is present.

This PR adds those branches to the StandardRecord structure.

Accompanying PR: SBNSoftware/sbncode#632
It is documented in slides: https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=45715

@henrylay97 henrylay97 self-assigned this Feb 19, 2026
@henrylay97 henrylay97 added the enhancement New feature or request label Feb 19, 2026
@kjplows kjplows moved this to Open pull requests in SBN software development Mar 5, 2026
@kjplows kjplows requested review from Li-Jiaoyang97 and removed request for JosiePaton March 5, 2026 11:41
@Li-Jiaoyang97
Copy link
Copy Markdown

Hi Henry,

Everything looks clear and thanks for adding these infos for analysers! :))

@kjplows
Copy link
Copy Markdown
Contributor

kjplows commented Mar 12, 2026

trigger build LArSoft/lar*@LARSOFT_SUITE_v10_14_02_02 SBNSoftware/sbndaq-artdaq-core@v1_10_06 SBNSoftware/sbncode#632 SBNSoftware/sbn*@SBN_SUITE_v10_14_02_03

@FNALbuild
Copy link
Copy Markdown

✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for SBND Failed at phase build SBND on slf7 for c14:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build SBND phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for ICARUS Failed at phase build ICARUS on slf7 for c14:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build ICARUS phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for ICARUS Failed at phase build ICARUS on slf7 for e26:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build ICARUS phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for SBND Failed at phase build SBND on slf7 for e26:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build SBND phase logs

parent CI build details are available through the CI dashboard

@kjplows
Copy link
Copy Markdown
Contributor

kjplows commented Mar 12, 2026

trigger build LArSoft/lar*@LARSOFT_SUITE_v10_14_02_01 SBNSoftware/sbndaq-artdaq-core@v1_10_06 SBNSoftware/sbncode#632 SBNSoftware/sbn*@SBN_SUITE_v10_14_02_02

@FNALbuild
Copy link
Copy Markdown

✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard

@kjplows kjplows moved this from Open pull requests to Urgent checks in SBN software development Mar 12, 2026
@FNALbuild
Copy link
Copy Markdown

✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for SBND Failed at phase build SBND on slf7 for c14:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build SBND phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for ICARUS Failed at phase build ICARUS on slf7 for c14:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build ICARUS phase logs

parent CI build details are available through the CI dashboard

Copy link
Copy Markdown
Member

@PetrilloAtWork PetrilloAtWork left a comment

Choose a reason for hiding this comment

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

I left a few non-blocking suggestions:

  • using the CAF standard caf::kUninitializedInt for initialisation
  • move new bools at the end (CF-152)

Also recommended general maintenance beyond this PR:

  • turning the comments on the data members into Doxygen format
  • removing the virtual empty destructors ([CF-151])

Comment on lines +23 to +24
int nhits; // the number of strip hits contributing to the space point
int tagger; // the tagger the space point is on
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's not your responsibility, but it would be a service to us if you could turn all these comments (not only the two new lines from your PR) into Doxygen comments, e.g.

Suggested change
int nhits; // the number of strip hits contributing to the space point
int tagger; // the tagger the space point is on
int nhits; ///< The number of strip hits contributing to the space point.
int tagger; ///< The tagger the space point is on.

Or you can tell us "no, thank you".

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

No no it's a good shout. I don't have time to do a sweep of other classes I'm responsible for but I'll do these!


// TODO: Find way of adding taggers field
// std::set<SBNDCRTTagger_t> taggers; // which taggers were used to create the track
std::vector<int> taggers; // the taggers that were used to create the track
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If you have a reference at hand (DocDB or C++ class name) add it in the comment to help people interpret e.g. what tagger 1 means).

And blah blah Doxygen format blah.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could you please remove the offending line above ([CF-151])? not your responsibility, it just should have never been there.

SRCRTSpacePointMatch();
virtual ~SRCRTSpacePointMatch() {}

bool matched; // whether or not a match was made
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

... and could you add Doxygen format...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Grumble...

Comment on lines +17 to +19
bool matched; // whether or not a match was made
SRSBNDCRTTrack track; // the track
float score; // assessment of quality of matching (depends on alg configuration)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Grumble Doxygen grumble ggro.

SRCRTSpacePointMatch();
virtual ~SRCRTSpacePointMatch() {}

bool matched; // whether or not a match was made
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I suggest this data member to be moved at the end for C++ memory layout reasons ([CF-152]). If adopted, the initialiser in the constructor will also need to be moved accordingly.

time(std::numeric_limits<float>::signaling_NaN()),
time_err(std::numeric_limits<float>::signaling_NaN()),
complete(false)
complete(false),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I suggest the bool data members to be moved at the end for memory layout reasons ([https://sbnsoftware.github.io/sbn/codingconv/CodingConventionsExplained.html#CF152]). Not really important (but it might change checksum, in which case the transient one should be removed from classes_def.xml).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Even on my last day I am learning things from you Gianluca! 😅

@FNALbuild
Copy link
Copy Markdown

❌ CI build for SBND Failed at phase ci_tests SBND on slf7 for e26:prof - ignored warnings for build -- details available through the CI dashboard

🚨 For more details about the failed phase, check the ci_tests SBND phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for ICARUS Failed at phase ci_tests ICARUS on slf7 for e26:prof - ignored warnings for build -- details available through the CI dashboard

🚨 For more details about the failed phase, check the ci_tests ICARUS phase logs

parent CI build details are available through the CI dashboard

Copy link
Copy Markdown
Member Author

@henrylay97 henrylay97 left a comment

Choose a reason for hiding this comment

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

Thanks Gianluca, very useful comments as ever!

I have responded to all comments. The checksum did need updating following the re-ordering of member variables and removal of destructors. Obviously I've only retained the most recent.

time(std::numeric_limits<float>::signaling_NaN()),
time_err(std::numeric_limits<float>::signaling_NaN()),
complete(false)
complete(false),
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Even on my last day I am learning things from you Gianluca! 😅

Comment on lines +23 to +24
int nhits; // the number of strip hits contributing to the space point
int tagger; // the tagger the space point is on
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

No no it's a good shout. I don't have time to do a sweep of other classes I'm responsible for but I'll do these!

@kjplows
Copy link
Copy Markdown
Contributor

kjplows commented Mar 13, 2026

trigger build LArSoft/lar*@LARSOFT_SUITE_v10_15_00 SBNSoftware/sbndaq-artdaq-core@v1_10_06 SBNSoftware/sbncode#632 SBNSoftware/sbn*@SBN_SUITE_v10_15_00

@FNALbuild
Copy link
Copy Markdown

✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for ICARUS Failed at phase build ICARUS on slf7 for c14:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build ICARUS phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for SBND Failed at phase build SBND on slf7 for c14:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the build SBND phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

❌ CI build for SBND Failed at phase ci_tests SBND on slf7 for e26:prof -- details available through the CI dashboard

🚨 For more details about the failed phase, check the ci_tests SBND phase logs

parent CI build details are available through the CI dashboard

@FNALbuild
Copy link
Copy Markdown

⚠️ CI build for ICARUS Warning at phase ci_tests ICARUS on slf7 for e26:prof - ignored warnings for build -- details available through the CI dashboard

🚨 For more details about the warning phase, check the ci_tests ICARUS phase logs

parent CI build details are available through the CI dashboard

@kjplows kjplows moved this from Urgent checks to To merge in SBN software development Mar 13, 2026
Copy link
Copy Markdown
Member

@PetrilloAtWork PetrilloAtWork left a comment

Choose a reason for hiding this comment

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

One optional change was missed, for what it's worth.

@hgreenlee hgreenlee merged commit 849ce09 into develop Mar 13, 2026
3 of 6 checks passed
@github-project-automation github-project-automation bot moved this from To merge to Done in SBN software development Mar 13, 2026
@kjplows kjplows moved this from Done to Recently done in SBN software development Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done
Status: Recently done

Development

Successfully merging this pull request may close these issues.

6 participants