79 uint32_t bsFlags = rchCont.get_bsflags();
83 && (bsFlags & (1U << 26U)) == 0) {
94 emScale = emScaleHandle.cptr();
98 digitsContainer = allDigits.cptr();
106 ATH_CHECK( sampleNoiseHandle.isValid() );
107 sampleNoise = sampleNoiseHandle.retrieve();
110 ATH_CHECK( onlineSampleNoiseHandle.isValid() );
111 onlineSampleNoise = onlineSampleNoiseHandle.retrieve();
118 int fragId = rawChannelCollection->
identify();
119 unsigned int drawer = (fragId & 0x3F);
120 unsigned int ros = fragId >> 8;
123 bool checkDigits(
false);
125 if (digitsContainer) {
135 for (
const TileDigits* tile_digits : *digitsCollection) {
150 float onlinePedestalDifference = emScale->calibrateOnlineChannel(drawerIdx,
channel,
gain, (onlinePedestal - pedestal), rawChannelUnit);
154 float weightsSum(0.0);
156 float energyCorrection = onlinePedestalDifference * weightsSum;
159 <<
"online pedestal difference: " << onlinePedestalDifference
160 <<
"; OFC weights (a) sum: " << weightsSum
161 <<
" => energy correction: " << energyCorrection);
163 rawChannel->setAmplitude(rawChannel->amplitude() + energyCorrection);
167 if (checkDigits && noDigits[
channel]) {
169 float amplitude = emScale->undoOnlineChannelCalibration(drawerIdx,
channel,
gain, rawChannel->amplitude(), rawChannelUnit);
170 float minimuAmplitudeThreshold(-99999.0);
171 float maximumAmplitudeThreshold(99999.0);
173 if (amplitude < minimuAmplitudeThreshold
174 || amplitude > maximumAmplitudeThreshold)
179 <<
" amplitude: " << amplitude <<
" [ADC]"
180 <<
" outside range: " << minimuAmplitudeThreshold <<
".." << maximumAmplitudeThreshold
181 <<
" without digits => set apmlitude/time/quality: 0.0/0.0/15.0");
183 rawChannel->insert(0.0
F, 0.0
F, 15.0
F);
194 return StatusCode::SUCCESS;