diff --git a/PWGCF/Flow/Tasks/flowZdcTask.cxx b/PWGCF/Flow/Tasks/flowZdcTask.cxx index 64fceb59766..148d1430e5d 100644 --- a/PWGCF/Flow/Tasks/flowZdcTask.cxx +++ b/PWGCF/Flow/Tasks/flowZdcTask.cxx @@ -77,6 +77,8 @@ struct FlowZdcTask { Configurable minTdcZp{"minTdcZp", -4.0, "minimum TDC for ZP"}; Configurable maxTdcZp{"maxTdcZp", -4.0, "maximum TDC for ZP"}; Configurable cfgCollisionEnergy{"cfgCollisionEnergy", 2.68, "cfgCollisionEnergy"}; + Configurable applyZdcCorrection{"applyZdcCorrection", false, "Apply ZP correction?"}; + Configurable zdcCoeff{"zdcCoeff", 0.021f, "Coefficient b in zdc correction"}; // event selection Configurable isNoCollInTimeRangeStrict{"isNoCollInTimeRangeStrict", true, "isNoCollInTimeRangeStrict?"}; Configurable isNoCollInTimeRangeStandard{"isNoCollInTimeRangeStandard", false, "isNoCollInTimeRangeStandard?"}; @@ -464,6 +466,11 @@ struct FlowZdcTask { float znC = zdc.amplitudeZNC() / cfgCollisionEnergy; float zpA = zdc.amplitudeZPA() / cfgCollisionEnergy; float zpC = zdc.amplitudeZPC() / cfgCollisionEnergy; + if (applyZdcCorrection) { + const float b = zdcCoeff; + zpA = zpA - b * znA; + zpC = zpC - b * znC; + } float commonSumZnc = zdc.energyCommonZNC() / cfgCollisionEnergy; float commonSumZna = zdc.energyCommonZNA() / cfgCollisionEnergy; float commonSumZpc = zdc.energyCommonZPC() / cfgCollisionEnergy;