Skip to content

Calculate L1phase when statistics reached value#12833

Merged
shahor02 merged 1 commit intoAliceO2Group:devfrom
peressounko:dev
Mar 8, 2024
Merged

Calculate L1phase when statistics reached value#12833
shahor02 merged 1 commit intoAliceO2Group:devfrom
peressounko:dev

Conversation

@peressounko
Copy link
Collaborator

No description provided.

@peressounko peressounko requested a review from kharlov as a code owner March 8, 2024 09:03
@github-actions
Copy link
Contributor

github-actions bot commented Mar 8, 2024

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-apass
async-2023-pp-apass1
async-2022-pp-apass6
async-2022-pp-apass4
async-mc
async-data

// If statistics reached N*thresholds try to re-calculate L1phases
// if they changed wrt previous, replace ccdb object, otherwise do nothing
if (mNprocessed % minStatisticsForCalib == 0) {
minStatisticsForCalib *= 2;
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 you update the calibration not at N*trhesholds but at 2^(N-1) * thresholds. Why do you need to minStatisticsForCalib *= 2; after each update?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

L1 object is unique for whole run. Normally it should be calculated from minimal threshold. If in the run we have noisy channels, I think it is better to collect considerably more statistics before next try. This should reduce the number of overlapped objects in ccdb.

Copy link
Collaborator

Choose a reason for hiding this comment

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

ok, thanks, though then the comment about N*thresholds is somewhat misleading...

if (mNprocessed % minStatisticsForCalib == 0) {
minStatisticsForCalib *= 2;
mCalibrator->checkSlotsToFinalize(o2::calibration::INFINITE_TF);
mCalibrator->endOfStream();
Copy link
Collaborator

Choose a reason for hiding this comment

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

just to be sure: mCalibrator->endOfStream() does not really mean endOfStream, but just to finalize the calibration for the next portion of TFs, right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, mCalibrator::endOfStream() calculates calibrations but does not reset anything.

// If statistics reached N*thresholds try to re-calculate L1phases
// if they changed wrt previous, replace ccdb object, otherwise do nothing
if (mNprocessed % minStatisticsForCalib == 0) {
minStatisticsForCalib *= 2;
Copy link
Collaborator

Choose a reason for hiding this comment

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

ok, thanks, though then the comment about N*thresholds is somewhat misleading...

@shahor02 shahor02 merged commit 2e39217 into AliceO2Group:dev Mar 8, 2024
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.

2 participants