@@ -77,6 +77,8 @@ struct FlowZdcTask {
7777 Configurable<float > minTdcZp{" minTdcZp" , -4.0 , " minimum TDC for ZP" };
7878 Configurable<float > maxTdcZp{" maxTdcZp" , -4.0 , " maximum TDC for ZP" };
7979 Configurable<float > cfgCollisionEnergy{" cfgCollisionEnergy" , 2.68 , " cfgCollisionEnergy" };
80+ Configurable<bool > applyZdcCorrection{" applyZdcCorrection" , false , " Apply ZP correction?" };
81+ Configurable<float > zdcCoeff{" zdcCoeff" , 0 .021f , " Coefficient b in zdc correction" };
8082 // event selection
8183 Configurable<bool > isNoCollInTimeRangeStrict{" isNoCollInTimeRangeStrict" , true , " isNoCollInTimeRangeStrict?" };
8284 Configurable<bool > isNoCollInTimeRangeStandard{" isNoCollInTimeRangeStandard" , false , " isNoCollInTimeRangeStandard?" };
@@ -464,6 +466,11 @@ struct FlowZdcTask {
464466 float znC = zdc.amplitudeZNC () / cfgCollisionEnergy;
465467 float zpA = zdc.amplitudeZPA () / cfgCollisionEnergy;
466468 float zpC = zdc.amplitudeZPC () / cfgCollisionEnergy;
469+ if (applyZdcCorrection) {
470+ const float b = zdcCoeff;
471+ zpA = zpA - b * znA;
472+ zpC = zpC - b * znC;
473+ }
467474 float commonSumZnc = zdc.energyCommonZNC () / cfgCollisionEnergy;
468475 float commonSumZna = zdc.energyCommonZNA () / cfgCollisionEnergy;
469476 float commonSumZpc = zdc.energyCommonZPC () / cfgCollisionEnergy;
0 commit comments