Skip to content

[PWGCF] Add efficiency-corrected multiplicity information to CF derived data - #17783

Open
EmilGorm wants to merge 10 commits into
AliceO2Group:masterfrom
EmilGorm:cf-multiplicity-corrected
Open

[PWGCF] Add efficiency-corrected multiplicity information to CF derived data#17783
EmilGorm wants to merge 10 commits into
AliceO2Group:masterfrom
EmilGorm:cf-multiplicity-corrected

Conversation

@EmilGorm

@EmilGorm EmilGorm commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator
  • CorrelationsDerived.h: Efficiency-corrected multiplicity now stored in dedicated CFCollisionsExtra table as sum of per track weight
  • Store selected multiplicity estimator in CFMultiplicities
  • filterCorrelations.cxx: fill efficiency-corrected multiplicity when an efficiency file is supplied to the table producer
    • Only filled when the track-based multiplicity is used
  • twoParticleCorrelationsMpi.cxx: utilise the efficiency-corrected multiplicity
    • dedicated process functions
    • compile-time lookup to switch on multiplicity
    • Added option for MC efficiency calculations to only use one reconstructed event per generated collision

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

O2 linter results: ❌ 0 errors, ⚠️ 3 warnings, 🔕 22 disabled

@github-actions github-actions Bot changed the title Add efficiency-corrected multiplicity information to CF derived data [PWGCF] Add efficiency-corrected multiplicity information to CF derived data Sep 5, 2026
@alibuild

alibuild commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for ab8043d at 2026-09-06 01:39:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'Found 8 errors and 37 warnings.'
Found 8 errors and 37 warnings.
++ [[ 8 -gt 0 ]]
++ cat /sw/BUILD/2717567cf1fcf8868fe5b922e883b019aa09d5fa/O2Physics-code-check/errors.txt
PWGCF/TableProducer/filterCorrelations.cxx:65:9: error: macro 'FLOAT_PRECISION' used to declare a constant; consider using a 'constexpr' constant [cppcoreguidelines-macro-usage,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:66:78: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:68:8: error: constructor does not initialize these fields: pdg, ccdb [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:182:43: error: do not use static_cast to downcast from a base to a derived class; use dynamic_cast instead [cppcoreguidelines-pro-type-static-cast-downcast,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:544:54: error: narrowing conversion from 'double' to 'int8_t' (aka 'signed char') [bugprone-narrowing-conversions,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:672:19: error: an assignment within an 'if' condition is bug-prone [bugprone-assignment-in-if-condition,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:672:21: error: narrowing conversion from 'Double_t' (aka 'double') to 'int8_t' (aka 'signed char') [bugprone-narrowing-conversions,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx:1344:28: error: parameter 'target' is passed by value and only copied once; consider moving it to avoid unnecessary copies [performance-unnecessary-value-param,-warnings-as-errors]
++ [[ 37 -gt 0 ]]
++ cat /sw/BUILD/2717567cf1fcf8868fe5b922e883b019aa09d5fa/O2Physics-code-check/warnings.txt
PWGCF/TableProducer/filterCorrelations.cxx:58:10: warning: inclusion of deprecated C++ header 'math.h'; consider using 'cmath' instead [modernize-deprecated-headers]
PWGCF/TableProducer/filterCorrelations.cxx:151:36: warning: initializer for member 'multiplicities' is redundant [readability-redundant-member-init]
PWGCF/TableProducer/filterCorrelations.cxx:207:56: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:212:7: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TableProducer/filterCorrelations.cxx:224:59: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:226:7: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TableProducer/filterCorrelations.cxx:226:11: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:281:9: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TableProducer/filterCorrelations.cxx:285:7: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TableProducer/filterCorrelations.cxx:414:58: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:416:58: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:418:63: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:420:67: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:422:58: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:427:28: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:436:30: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:483:36: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:485:31: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:564:34: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:596:60: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:598:60: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:600:65: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:602:69: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:604:60: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:609:30: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:622:32: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:668:113: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:671:76: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:672:49: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx:300:45: warning: implicit conversion 'bool' -> 'int' [readability-implicit-bool-conversion]
PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx:300:68: warning: implicit conversion 'bool' -> 'int' [readability-implicit-bool-conversion]
PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx:300:100: warning: implicit conversion 'bool' -> 'int' [readability-implicit-bool-conversion]
[0 more errors; see full log]

Full log here.

@alibuild

alibuild commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/o2 for ab8043d at 2026-09-06 03:50:

## sw/BUILD/O2Physics-latest/log
2026-09-06T03:43:47.028+0200 [15684:139682273181312] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.029+0200 [15684:139682273181312] [executioncontext.cpp:739] [ERROR] Failed to download output blob 68658dc99c9aa03e2d5c28e07e4b94a04743338afbc00fbc220b791be4708780: 14: Socket closed
2026-09-06T03:43:47.026+0200 [15570:139884316712576] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.037+0200 [15570:139884316712576] [executioncontext.cpp:739] [ERROR] Failed to download output blob f9bba967a6e9f6fb84626795894cd8b99169a4fbe1d4b82e7792a9db870d2654: 14: Socket closed
2026-09-06T03:43:47.027+0200 [14970:140470453821056] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.053+0200 [14970:140470453821056] [executioncontext.cpp:739] [ERROR] Failed to download output blob b26515bcae0f729712ca6a8b4b1fc3c958abc4108caaf10b20290ee2d2c0acd9: 14: Socket closed
2026-09-06T03:43:47.027+0200 [14799:139750577237632] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.054+0200 [14799:139750577237632] [executioncontext.cpp:739] [ERROR] Failed to download output blob 3cd5232b706b660065f3c131c2589293938adb8398df72cc7faaa0ea06ddcb5a: 14: Socket closed
2026-09-06T03:43:47.537+0200 [2955:140689837919872] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "FindMissingBlobs()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-09-06T03:43:47.026+0200 [15644:139995682107008] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.028+0200 [15644:139995682107008] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: Socket closed
2026-09-06T03:43:47.026+0200 [15615:139766955552384] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.028+0200 [15615:139766955552384] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: Socket closed
2026-09-06T03:43:47.026+0200 [15612:140174315798144] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.028+0200 [15612:140174315798144] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: Socket closed
2026-09-06T03:43:47.028+0200 [16006:140435223244416] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [16006:140435223244416] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15962:139821481696896] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15962:139821481696896] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.027+0200 [15728:140582415212160] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.028+0200 [15728:140582415212160] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: Socket closed
2026-09-06T03:43:47.028+0200 [15918:140139569868416] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15918:140139569868416] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.027+0200 [15785:140570010427008] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15785:140570010427008] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15786:140464174440064] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15786:140464174440064] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [16056:140022056738432] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [16056:140022056738432] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15750:140571584626304] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15750:140571584626304] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15917:139783239753344] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15917:139783239753344] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.027+0200 [15706:140135482142336] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: Socket closed]
2026-09-06T03:43:47.028+0200 [15706:140135482142336] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: Socket closed
2026-09-06T03:43:47.028+0200 [16003:140017676234368] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [16003:140017676234368] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15857:139891079503488] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15857:139891079503488] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15851:140709797777024] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15851:140709797777024] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15829:139709808721536] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15829:139709808721536] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
2026-09-06T03:43:47.028+0200 [15807:139642454171264] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
2026-09-06T03:43:47.028+0200 [15807:139642454171264] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer
ninja: build stopped: subcommand failed.

Full log here.

@EmilGorm
EmilGorm force-pushed the cf-multiplicity-corrected branch from f62a5a0 to 2e1d276 Compare September 7, 2026 07:28
@alibuild

alibuild commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for 2e1d276 at 2026-09-07 13:10:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'Found 2 errors and 4 warnings.'
Found 2 errors and 4 warnings.
++ [[ 2 -gt 0 ]]
++ cat /sw/BUILD/9c7bd409c8c17add3db05522515b6988c35bf448/O2Physics-code-check/errors.txt
PWGCF/TableProducer/filterCorrelations.cxx:65:78: error: macro argument should be enclosed in parentheses [bugprone-macro-parentheses,-warnings-as-errors]
PWGCF/TableProducer/filterCorrelations.cxx:131:106: error: no header providing "M_PI" is directly included [misc-include-cleaner,-warnings-as-errors]
++ [[ 4 -gt 0 ]]
++ cat /sw/BUILD/9c7bd409c8c17add3db05522515b6988c35bf448/O2Physics-code-check/warnings.txt
PWGCF/TableProducer/filterCorrelations.cxx:230:59: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TableProducer/filterCorrelations.cxx:287:9: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TableProducer/filterCorrelations.cxx:291:7: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TableProducer/filterCorrelations.cxx:644:32: warning: statement should be inside braces [readability-braces-around-statements]
++ [[ 2 -gt 0 ]]
++ exit 1
--

Full log here.

@EmilGorm
EmilGorm force-pushed the cf-multiplicity-corrected branch from 2e1d276 to 0d7ee15 Compare September 7, 2026 12:06
Please consider the following formatting changes to AliceO2Group#17783
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants