Skip to content
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

Trigger decoder update to unpack the new trigger diagnostics #740

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

PetrilloAtWork
Copy link
Member

Changes in the trigger information conveyed via DAQ fragments are documented in SBN DocDB 36264 and link therein.

The new information needs to be extracted and stored into a data product (see SBNSoftware/sbnobj#110 for the data product extension).
These changes enable the ICARUS trigger decoder tool V3 to decode the new format of data (whose version number is by chance also 3).

Changes

The changes all pertain the cryostat-specific information about global trigger candidates in that cryostat; this information lands on a sbn::ExtraTriggerInfo::CryostatInfo object. The information of each cryostat is treated independently from the other. The changes are the following:

  • LVDS bits (including the adders'), the cryostat trigger count and the trigger logic are now unpacked for a cryostat also for minimum bias events; in fact, unpacking happens if either:
    • There is a global trigger in the cryostat (as will be reported in triggerLocationBits); this happens only for light-based triggers, not minimum bias ones.
    • The Flag_XXXX datum is 1 for that cryostat; this may happen in minimum bias events too, and should always happen when there is a global trigger in the cryostat. However, in rare cases (< 0.01%) it was observed that there is no trigger location (triggerLocationBit 0) while there was obviously a trigger — the event was acquired, after all. In those cases, the Flag_XXXX was still set and the decoding should still happen.
  • based on Flag_XXXX, the content of Delay_XXXX is converted into nanoseconds via the new configuration parameter FPGAtickLength (defaulting to 25 ns to reflect the settings of the hardware since its installation) and stored into the new data member sbn::ExtraTriggerInfo::CryostatInfo::beamToTrigger.

As a remainder, all this information pertains the first trigger candidate, with the exception of the count which records how many more candidates arrived after the first one. The only reason why the first candidate of a cryostat is not be promoted to global trigger is that a global trigger has already happened, either from the other cryostat or because of a minimum bias gate.

Backward compatibility and testing

The new decoder was successfully tested with old data which does not include the new information, and with new data which does, for both minimum bias and light-based trigger events.
The old decoder was also tested with the new data, in which case it correctly decodes the available information and ignores the new one, which is left default-constructed (like there were no trigger in the cryostat). The old code also does not decode anything of the cryostat information for minimum bias events.

All changes to the fragment data format and to the offline code (data product and decoding tool) are non-breaking both backward and forward.

Reviewers

I summon for review one among:

This includes LVDS/adder bits, trigger logic and trigger tick (new!)
also for minimum bias events when such information is present.
This includes would-be trigger information in minimum bias events.
Copy link
Member

@mvicenzi mvicenzi left a comment

Choose a reason for hiding this comment

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

Looks good to me.

@dtorretta56
Copy link

OK to proceed in implementing this.

@mmrosenberg
Copy link
Contributor

trigger build LArSoft/lar*@LARSOFT_SUITE_v09_90_00 SBNSoftware/sbnobj#110

@FNALbuild
Copy link
Collaborator

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

@FNALbuild
Copy link
Collaborator

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

@FNALbuild
Copy link
Collaborator

❌ 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
Collaborator

⚠️ CI build for ICARUS Warning at phase ci_tests ICARUS on slf7 for e26:prof -- 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

@mmrosenberg
Copy link
Contributor

trigger build

@FNALbuild
Copy link
Collaborator

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

@FNALbuild
Copy link
Collaborator

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

@FNALbuild
Copy link
Collaborator

❌ 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
Collaborator

❌ 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

@mmrosenberg
Copy link
Contributor

trigger build SBNSoftware/sbnobj#110

@FNALbuild
Copy link
Collaborator

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

@FNALbuild
Copy link
Collaborator

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

@FNALbuild
Copy link
Collaborator

❌ 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
Collaborator

⚠️ 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

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
None yet
Development

Successfully merging this pull request may close these issues.

6 participants