-
Notifications
You must be signed in to change notification settings - Fork 31
This PR introduces CRT Tagging usage into cafs for analyzers #536
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
This PR introduces CRT Tagging usage into cafs for analyzers #536
Conversation
…g the usage of CRTT0Tagged tracks for analysis and out of time cosmic rejection
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.
Approved, modulo this change.
…ak withcout a check on the hitmatchinfo size
Request from @gputnam addressed |
sbncode/CAFMaker/CAFMaker_module.cc
Outdated
|
||
// note: in the ICARUS case we do not need a slice_tag_stuff for CRTHitMatch as it is | ||
// common to East and West | ||
/* | ||
art::FindManyP<anab::T0> fmCRTHitMatch = | ||
FindManyPStrict<anab::T0>(slcTracks, evt, | ||
fParams.CRTHitMatchLabel() + slice_tag_suff); |
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.
I'm hesitant to just get rid off the slice_tag_suff
, as I suspect SBND may need it. Summoning @henrylay97 to comment on this
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.
Could anybody explain how SBND stores the tracks? ICARUS splits them in two data products by their cryostat, which I assume SBND does not.
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.
At SBND we store our tracks as a single collection - due to the fact we have just one cryostat. So we don't use the suffix approach.
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.
It looks like there are three points to address:
- Whether SBND needs the suffix on CRT data product tag.
- The strategy for identifying the location of a hit.
- The support for multiple CRT hits associated to the same track.
Possibly some off-GitHub discussion is needed too.
sbncode/CAFMaker/CAFMakerParams.h
Outdated
@@ -275,7 +275,13 @@ namespace caf | |||
Atom<string> CRTHitMatchLabel { | |||
Name("CRTHitMatchLabel"), | |||
Comment("Base label of track to CRT hit matching producer."), | |||
"pandoraTrackCRTHit" | |||
"CRTT0Tagging" |
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.
I recommend the default value not to be silently changed.
Is SBND already using this feature? if so, do they abide either to the old default, or to the newly proposed one?
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.
So I agree with Gianluca on the general principle.
Although for this scenario it is okay for SBND. We use the CRTSpacePoint matching rather than CRTHit we also have different methods for the track matching products so I think we are totally factorised from each other here.
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.
silent change reverted.
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.
but I will also have to change the carmaker icarus definitions (which I should do anyway)
sbncode/CAFMaker/CAFMaker_module.cc
Outdated
|
||
// note: in the ICARUS case we do not need a slice_tag_stuff for CRTHitMatch as it is | ||
// common to East and West | ||
/* | ||
art::FindManyP<anab::T0> fmCRTHitMatch = | ||
FindManyPStrict<anab::T0>(slcTracks, evt, | ||
fParams.CRTHitMatchLabel() + slice_tag_suff); |
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.
Could anybody explain how SBND stores the tracks? ICARUS splits them in two data products by their cryostat, which I assume SBND does not.
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.
In general this looks fine from an SBND point of view. Our CRT reconstruction uses different objects to ICARUS and therefore the CAF filling is completely factorised for the two experiments. Nothing Francesco does here will impact us. I would like to see that verified in the CI tests once this PR is ready to be tested.
I will leave others (as Gianluca already has) to comment on the implementation details.
sbncode/CAFMaker/CAFMakerParams.h
Outdated
@@ -275,7 +275,13 @@ namespace caf | |||
Atom<string> CRTHitMatchLabel { | |||
Name("CRTHitMatchLabel"), | |||
Comment("Base label of track to CRT hit matching producer."), | |||
"pandoraTrackCRTHit" | |||
"CRTT0Tagging" |
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.
So I agree with Gianluca on the general principle.
Although for this scenario it is okay for SBND. We use the CRTSpacePoint matching rather than CRTHit we also have different methods for the track matching products so I think we are totally factorised from each other here.
sbncode/CAFMaker/CAFMaker_module.cc
Outdated
|
||
// note: in the ICARUS case we do not need a slice_tag_stuff for CRTHitMatch as it is | ||
// common to East and West | ||
/* | ||
art::FindManyP<anab::T0> fmCRTHitMatch = | ||
FindManyPStrict<anab::T0>(slcTracks, evt, | ||
fParams.CRTHitMatchLabel() + slice_tag_suff); |
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.
At SBND we store our tracks as a single collection - due to the fact we have just one cryostat. So we don't use the suffix approach.
Addressed the requests from @PetrilloAtWork, but I would like clarification on the point: |
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.
Thank you for the clarifications.
I would just remove the code commented out, since it is not good for SBND and it is not good for ICARUS, and it never was.
trigger build |
✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard |
✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard |
❌ 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 |
❌ 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 |
❌ 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 |
❌ 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 |
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.
Approved!
trigger build LArSoft/lar*@LARSOFT_SUITE_v10_05_00 SBNSoftware/sbnanaobj#139 |
✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard |
❌ 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 |
❌ 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 |
✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard |
❌ 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 |
🚨 For more details about the warning phase, check the ci_tests SBND phase logs parent CI build details are available through the CI dashboard |
trigger build LArSoft/lar*@LARSOFT_SUITE_v10_05_00 SBNSoftware/sbnanaobj#139 |
✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard |
✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard |
❌ 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 |
❌ 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 |
❌ 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 |
❌ 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 |
checked merge diff manually and no impact is made on the CRT Tagging info. Weird how the CI didn't seem to pick up sbnanaobj/#139 . Built on sbndbuild03 with both branches so given this passed CI before merge commit this is approved |
This Pull request introduces the CRTHit tagging into CAF, so that ICARUS analyzers can use relevant information for out of time rejection.
This PR uses an existing SR and Fill function which have been modified accordingly.
This PR needs a new dependence on this PR for sbnanaobj:
SBNSoftware/sbnanaobj#139