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

Ctpdev: irframes #13835

Merged
merged 3 commits into from
Jan 6, 2025
Merged

Ctpdev: irframes #13835

merged 3 commits into from
Jan 6, 2025

Conversation

lietava
Copy link
Contributor

@lietava lietava commented Jan 5, 2025

No description provided.

Copy link
Contributor

github-actions bot commented Jan 5, 2025

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-apass1
async-2024-ppRef-apass1

@lietava
Copy link
Contributor Author

lietava commented Jan 5, 2025

Hi @shahor02 , please, have a look.
I did some validation:

  • originals digits are same as running new code with --ignore-irframes
  • for irframes
    irframes.log
    ading looks ok.

@lietava lietava marked this pull request as ready for review January 6, 2025 07:43
@lietava lietava requested a review from a team as a code owner January 6, 2025 07:43
@alibuild
Copy link
Collaborator

alibuild commented Jan 6, 2025

Error while checking build/O2/fullCI for 919541f at 2025-01-06 10:52:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/O2Physics-latest/log
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:


## sw/BUILD/O2-sim-challenge-test-latest/log
./tpcreco.log[12497:ctp-digit-reader]: [09:52:07][ERROR] Exception caught while in Init: missing option: ignore-irframes (No such node (ignore-irframes)). Exiting with 1.
./tpcreco.log[ERROR] Workflow crashed - PID 12497 (ctp-digit-reader) did not exit correctly however it's not clear why. Exit code forced to 128.
./tpcreco.log[ERROR]  - Device ctp-digit-reader: pid 12497 (exit 128)
./tpcreco.log[ERROR] SEVERE: Device ctp-digit-reader (12497) returned with 128
./sim-challenge.logDetected critical problem in logfile tpcreco.log
./sim-challenge.logtpcreco.log:[12497:ctp-digit-reader]: [09:52:07][ERROR] Exception caught while in Init: missing option: ignore-irframes (No such node (ignore-irframes)). Exiting with 1.
./sim-challenge.log[12497:ctp-digit-reader]: [09:52:07][ERROR] Exception caught while in Init: missing option: ignore-irframes (No such node (ignore-irframes)). Exiting with 1.
./sim-challenge.log[ERROR] Workflow crashed - PID 12497 (ctp-digit-reader) did not exit correctly however it's not clear why. Exit code forced to 128.
./sim-challenge.log[ERROR]  - Device ctp-digit-reader: pid 12497 (exit 128)
./sim-challenge.log[ERROR] SEVERE: Device ctp-digit-reader (12497) returned with 128
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[8446:TPCDigitizer_4]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
[0 more errors; see full log]

Full log here.

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 @lietava !
The code looks fine but the irframes.log you attached contains only the log of the frames definition. What do you get running the reader with this input ? I mean the logs from the line https://github.com/AliceO2Group/AliceO2/pull/13835/files#diff-f0c3334de508325d982a2d5157e2598d72a29e3d4e2693bb0d4a2659ab46cd9eR121 .

Note that you don't need to run explicitly with option --ignore-irframes, it is just a mechanism used by the reader-driver to trigger frames selection in the reader.
I.e. for the "normal" reading on still uses old

o2-ctp-digit-reader

as an upstream workflow, while for ir-frame selective reading:

o2-reader-driver-workflow $DIGINP $TFTHROTTLE -b | o2-ctp-digit-reader  ,,,

w/o explicitly mentioning the ignore-irframes

Comment on lines 106 to 107
long biasInBC = 0; // depends if digits are already aligned
irfSel.setSelectedIRFrames(irFrames, 0, 0, -biasInBC, true);
Copy link
Collaborator

Choose a reason for hiding this comment

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

In the case of the CTP the bias is 0, you could simply pass it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

removed

}
}

void DigitReader::init(InitContext& ic)
{
auto filename = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")),
ic.options().get<std::string>("ctp-digit-infile"));
LOG(info) << "init: " << ic.options().hasOption("ignore-irframes") << " " << ic.options().get<bool>("ignore-irframes");
Copy link
Collaborator

Choose a reason for hiding this comment

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

Note that this line breaks the FullCI with ][ERROR] Exception caught while in Init: missing option: ignore-irframes (No such node (ignore-irframes)). Exiting with 1. since you unconditionally query this option

Copy link
Contributor Author

Choose a reason for hiding this comment

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

removed

@lietava
Copy link
Contributor Author

lietava commented Jan 6, 2025

HI @lietava , thanks. For validation:
I have macro which calculates IR frames selected BCs on the side and then I compare them with those from the o2 log.
For the log I sent you macro calculated selected digits:
dding: 874552011839 [143, 245384964, 4, 505413631]
Adding: 874552036842 [198, 245384971, 4, 505413631]
Adding: 874552036850 [206, 245384971, 4, 505413631]
Adding: 874552043988 [216, 245384973, 4, 505413631]
and ctpreader log has the same:
[rl@ctpo2a9 irframes]$ grep adding ctpreaderwdriverW2.log
[2803838:ctp-digit-reader]: [12:16:41][INFO] adding:BCid: 143 Orbit: 245384964 ent:0
[2803838:ctp-digit-reader]: [12:16:41][INFO] adding:BCid: 198 Orbit: 245384971 ent:0
[2803838:ctp-digit-reader]: [12:16:41][INFO] adding:BCid: 206 Orbit: 245384971 ent:0
[2803838:ctp-digit-reader]: [12:16:41][INFO] adding:BCid: 216 Orbit: 245384973 ent:0
Please, let me know if to do more complicated example.

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!

@shahor02 shahor02 merged commit f70fb9b into AliceO2Group:dev Jan 6, 2025
12 checks passed
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