Skip to content

Commit bd2491f

Browse files
Fix FT0 gain correction indexing in longRangeDihadronCor
- Use channel ID instead of array index for gain correction - Fixes mismatched amplitude corrections for remapped dead channels
1 parent 8982531 commit bd2491f

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

PWGCF/TwoParticleCorrelations/Tasks/longRangeDihadronCor.cxx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,7 @@ struct LongRangeDihadronCor {
671671
if (cfgRemapFT0CDeadChannels) {
672672
if (id == kFT0CRemapChannelInnerRing) {
673673
int dead_id = id + kFT0CInnerMirror;
674+
<<<<<<< Updated upstream
674675
registry.fill(HIST("FT0Amp"), dead_id, ampl);
675676
ampl = ampl / cstFT0RelGain[iCh];
676677
registry.fill(HIST("FT0AmpCorrect"), dead_id, ampl);
@@ -679,6 +680,18 @@ struct LongRangeDihadronCor {
679680
registry.fill(HIST("FT0Amp"), dead_id, ampl);
680681
ampl = ampl / cstFT0RelGain[iCh];
681682
registry.fill(HIST("FT0AmpCorrect"), dead_id, ampl);
683+
=======
684+
float mirroredAmpl = ampl;
685+
float mirroredAmplCorrected = mirroredAmpl / cstFT0RelGain[iCh];
686+
registry.fill(HIST("FT0Amp"), dead_id, mirroredAmpl);
687+
registry.fill(HIST("FT0AmpCorrect"), dead_id, mirroredAmplCorrected);
688+
} else if (id >= kFT0CRemapChannelStart && id <= kFT0CRemapChannelEnd) {
689+
int dead_id = id + kFT0COuterMirror;
690+
float mirroredAmpl = ampl;
691+
float mirroredAmplCorrected = mirroredAmpl / cstFT0RelGain[iCh];
692+
registry.fill(HIST("FT0Amp"), dead_id, mirroredAmpl);
693+
registry.fill(HIST("FT0AmpCorrect"), dead_id, mirroredAmplCorrected);
694+
>>>>>>> Stashed changes
682695
}
683696
}
684697
if ((cfgRejectFT0CInside && (id >= kFT0CInnerRingMin && id <= kFT0CInnerRingMax)) || (cfgRejectFT0COutside && (id >= kFT0COuterRingMin && id <= kFT0COuterRingMax)))
@@ -692,9 +705,16 @@ struct LongRangeDihadronCor {
692705
if (cfgRemapFT0ADeadChannels) {
693706
if (id >= kFT0ARemapChannelStart && id <= kFT0ARemapChannelEnd) {
694707
int dead_id = id - kFT0AOuterMirror;
708+
<<<<<<< Updated upstream
695709
registry.fill(HIST("FT0Amp"), dead_id, ampl);
696710
ampl = ampl / cstFT0RelGain[iCh];
697711
registry.fill(HIST("FT0AmpCorrect"), dead_id, ampl);
712+
=======
713+
float mirroredAmpl = ampl;
714+
float mirroredAmplCorrected = mirroredAmpl / cstFT0RelGain[iCh];
715+
registry.fill(HIST("FT0Amp"), dead_id, mirroredAmpl);
716+
registry.fill(HIST("FT0AmpCorrect"), dead_id, mirroredAmplCorrected);
717+
>>>>>>> Stashed changes
698718
}
699719
}
700720
if ((cfgRejectFT0AInside && (id >= kFT0AInnerRingMin && id <= kFT0AInnerRingMax)) || (cfgRejectFT0AOutside && (id >= kFT0AOuterRingMin && id <= kFT0AOuterRingMax)))
@@ -751,6 +771,13 @@ struct LongRangeDihadronCor {
751771
int chanelid = 0;
752772
float ampl = 0.;
753773
getChannel(ft0, iCh, chanelid, ampl, corType);
774+
if (corType == kFT0C) {
775+
if ((cfgRejectFT0CInside && (chanelid >= kFT0CInnerRingMin && chanelid <= kFT0CInnerRingMax)) || (cfgRejectFT0COutside && (chanelid >= kFT0COuterRingMin && chanelid <= kFT0COuterRingMax)))
776+
continue;
777+
} else if (corType == kFT0A) {
778+
if ((cfgRejectFT0AInside && (chanelid >= kFT0AInnerRingMin && chanelid <= kFT0AInnerRingMax)) || (cfgRejectFT0AOutside && (chanelid >= kFT0AOuterRingMin && chanelid <= kFT0AOuterRingMax)))
779+
continue;
780+
}
754781
auto phi = getPhiFT0(chanelid, corType);
755782
auto eta = getEtaFT0(chanelid, corType);
756783
if (cfgDrawEtaPhiDis && system == SameEvent) {

0 commit comments

Comments
 (0)