Skip to content

Commit 28b0ec0

Browse files
authored
[Common] Centrality: further protection against MC quadratic mapping overshooting (#13395)
1 parent 2609dfb commit 28b0ec0

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

Common/Tools/Multiplicity/MultModule.h

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -772,29 +772,35 @@ class MultModule
772772
//_______________________________________________________________________
773773
// vertex-Z equalized signals
774774
if (internalOpts.mEnabledTables[kFV0MultZeqs]) {
775-
if (std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
775+
if (mults.multFV0A > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
776776
mults.multFV0AZeq = hVtxZFV0A->Interpolate(0.0) * mults.multFV0A / hVtxZFV0A->Interpolate(collision.posZ());
777777
} else {
778778
mults.multFV0AZeq = 0.0f;
779779
}
780780
cursors.tableFV0Zeqs(mults.multFV0AZeq);
781781
}
782782
if (internalOpts.mEnabledTables[kFT0MultZeqs]) {
783-
if (std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
783+
if (mults.multFT0A > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
784784
mults.multFT0AZeq = hVtxZFT0A->Interpolate(0.0) * mults.multFT0A / hVtxZFT0A->Interpolate(collision.posZ());
785-
mults.multFT0CZeq = hVtxZFT0C->Interpolate(0.0) * mults.multFT0C / hVtxZFT0C->Interpolate(collision.posZ());
786785
} else {
787786
mults.multFT0AZeq = 0.0f;
787+
}
788+
if (mults.multFT0C > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
789+
mults.multFT0CZeq = hVtxZFT0C->Interpolate(0.0) * mults.multFT0C / hVtxZFT0C->Interpolate(collision.posZ());
790+
} else {
788791
mults.multFT0CZeq = 0.0f;
789792
}
790793
cursors.tableFT0Zeqs(mults.multFT0AZeq, mults.multFT0CZeq);
791794
}
792795
if (internalOpts.mEnabledTables[kFDDMultZeqs]) {
793-
if (std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
796+
if (mults.multFDDA > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
794797
mults.multFDDAZeq = hVtxZFDDA->Interpolate(0.0) * mults.multFDDA / hVtxZFDDA->Interpolate(collision.posZ());
795-
mults.multFDDCZeq = hVtxZFDDC->Interpolate(0.0) * mults.multFDDC / hVtxZFDDC->Interpolate(collision.posZ());
796798
} else {
797799
mults.multFDDAZeq = 0.0f;
800+
}
801+
if (mults.multFDDC > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
802+
mults.multFDDCZeq = hVtxZFDDC->Interpolate(0.0) * mults.multFDDC / hVtxZFDDC->Interpolate(collision.posZ());
803+
} else {
798804
mults.multFDDCZeq = 0.0f;
799805
}
800806
cursors.tableFDDZeqs(mults.multFDDAZeq, mults.multFDDCZeq);

0 commit comments

Comments
 (0)