63 float amplitude[Tile::MAX_CHAN][Tile::MAX_GAIN];
64 float time[Tile::MAX_CHAN][Tile::MAX_GAIN];
65 float pedestal[Tile::MAX_CHAN][Tile::MAX_GAIN];
68 ATH_CHECK( rawChannelContainer.isValid() );
73 const TileFragHash& rchHashFunc = rawChannelContainer->hashFunc();
74 const TileFragHash& digitsHashFunc = digitsContainer->hashFunc();
76 std::vector<float> times;
77 std::vector<float> amplitudes;
83 if (!rawChannelCollection || rawChannelCollection->
empty())
continue;
88 if (!digitsCollection || digitsCollection->
empty())
continue;
90 memset(amplitude, 0,
sizeof(amplitude));
91 memset(time, 0,
sizeof(time));
92 memset(pedestal, 0,
sizeof(pedestal));
100 amplitude[channel][adc] = rch->amplitude();
101 time[channel][adc] = rch->time();
103 float ped = rch->pedestal();
104 ped = ped -
int( (ped + 500 ) * 1e-4) * 10000;
105 pedestal[channel][adc] = ped;
114 for (
const TileDigits* tile_digits : *digitsCollection) {
116 adc_id = tile_digits->adc_HWID();
120 std::vector<float> digits = tile_digits->samples();
122 <<
" drawer: " << drawer
123 <<
" channel: " << channel
125 <<
" amp: " << amplitude[channel][adc]
126 <<
" time: " << time[channel][adc] );
129 std::string channelGainSuffix =
"_" + std::to_string(channel) +
"_" + std::to_string(adc);
138 if ( time[channel][adc] != 0 && amplitude[channel][adc] > 0.) {
139 for (
double digit : digits) {
141 amplitudes.push_back( (digit - pedestal[channel][adc] ) / amplitude[channel][adc] );
152 fill(
"TileTBPulseMonExecuteTime", timer);
154 return StatusCode::SUCCESS;
std::vector< V > buildToolMap(const ToolHandleArray< GenericMonitoringTool > &tools, const std::string &baseName, int nHist)
Builds an array of indices (base case)