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

fix: +1 for L1 latency and trigger class check improved #13682

Open
wants to merge 6 commits into
base: dev
Choose a base branch
from

Conversation

lietava
Copy link
Contributor

@lietava lietava commented Nov 12, 2024

Two issues:
1.)
+1 for L1 input latency.
L1 latency for Trigger Class and Trigger input differs by 1. It is constant
2.) check if class has non zero inputs
if parallel runs then this check produce errors. Therefore class mask for trigger classes for a given run is checked only

Copy link
Contributor

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1

@lietava
Copy link
Contributor Author

lietava commented Nov 12, 2024

async--pbpb-
async--PbPb-

@lietava lietava marked this pull request as ready for review November 12, 2024 15:21
@lietava lietava requested a review from a team as a code owner November 12, 2024 15:21
@lietava
Copy link
Contributor Author

lietava commented Nov 13, 2024

Hi @shahor02 , for the labels this is needed for all PbPb reco.

@shahor02
Copy link
Collaborator

Hi @lietava , could you please provide more details? Is this only for the pbpb24 or also for pp and pbpb23?
We use L0_L1 also here:

int32_t offset = BCShiftCorrection + o2::ctp::TriggerOffsetsParam::Instance().LM_L0 + o2::ctp::TriggerOffsetsParam::Instance().L0_L1 - 1;

Is it ok?

@lietava lietava changed the title fix: +1 for L1 latency fix: +1 for L1 latency and trigger class check improved Nov 13, 2024
@lietava
Copy link
Contributor Author

lietava commented Nov 13, 2024

Hi @shahor02 , thanks for question. Please, read description - I updated.
Yes, I am aware that L0-L1 latency is used also on the place you pointed out. That one is used only for trigger classes.
I realised that there is difference 1 BC between trigger class latency and input latency - fw feature.
This latency fix concernes only ZDC inputs - we did not use any other L1 inputs, so it is not critical.
For year 2023 the zdc inputs were properly aligned only in the middle of the run - I would not introduce special fix for that.
For 2024 after fix all inputs should be sitting at LM time.
Then other issue: in decodong inputs (shiftInputs) I am doinf check if trigger class has non zero inputs in same BC. However if there is parallel technical run with internal ctp input generaors it produces a lot of errors. Data are ok , just errors are meningless.
So I introduced fix for that. Disadvantege is that I need to access CTPConfig. If that is a problem I remove error check .
I introduced fix only RawDataDecoder - if you approve this also CTFCoder.h has to access CTPConfig - I did not do that.

shahor02
shahor02 previously approved these changes Nov 13, 2024
Copy link
Collaborator

@shahor02 shahor02 left a comment

Choose a reason for hiding this comment

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

Thanks for explanation, will merge after CI

@@ -16,13 +16,13 @@
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

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

@lietava could you add

#include "Framework/Logger.h"

after(!) the the #endif to pass macro test in the interpreter mode?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@lietava the #include "Framework/Logger.h" should have been added after the #endif, to be visible in the interpreter mode, which is currently failing.

@alibuild
Copy link
Collaborator

alibuild commented Nov 16, 2024

Error while checking build/O2/fullCI for 0de363f at 2024-11-18 04:12:

## sw/BUILD/O2-full-system-test-latest/log
Detected critical problem in logfile reco_ASYNC.log
reco_ASYNC.log:[65527:ctp-entropy-decoder]: [03:12:42][ERROR] Exception while running: InputRecord::get: no input with binding ctpconfig found. Available inputs: ctf_CTP, ctfdict_CTP, trigoffset. Rethrowing.
[65527:ctp-entropy-decoder]: [03:12:42][ERROR] Exception while running: InputRecord::get: no input with binding ctpconfig found. Available inputs: ctf_CTP, ctfdict_CTP, trigoffset. Rethrowing.
[65527:ctp-entropy-decoder]: [03:12:42][FATAL] Unhandled o2::framework::runtime_error reached the top of main of o2-ctf-reader-workflow, device shutting down. Reason: InputRecord::get: no input with binding ctpconfig found. Available inputs: ctf_CTP, ctfdict_CTP, trigoffset
[ERROR] Workflow crashed - PID 65527 (ctp-entropy-decoder) did not exit correctly however it's not clear why. Exit code forced to 128.


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
++ GRERR=1
++ [[ 1 == 0 ]]
++ mkdir -p /sw/INSTALLROOT/8c5d3269620399303d40fa0348b3b71fa8ab1a44/slc8_x86-64/o2checkcode/1.0-local547/etc/modulefiles
++ cat
--

Full log here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants