85 const std::vector<unsigned int>& encodedstream,
90 const float streamLength = encodedstream.size() *
s_bitsPerPack;
95 m_encoded_streamLength->Fill(streamLength);
99 const int pixelBarrelEndcap =
m_pixIdHelper->barrel_ec(waferID);
100 const int pixelLayerDisk =
m_pixIdHelper->layer_disk(waferID);
101 const int pixelEtaModule =
m_pixIdHelper->eta_module(waferID);
105 const float z = std::abs(
m_detManager->getDetectorElement(waferID)->center().z());
108 m_p_streamLength[pixelLayerDisk][region][side]->Fill(
z, streamLength);
109 m_h2_streamLength[pixelLayerDisk][region][side]->Fill(
z, streamLength);
112 m_p_dataRate[pixelLayerDisk][region][side]->Fill(
z, data_rate);
113 m_h2_dataRate[pixelLayerDisk][region][side]->Fill(
z, data_rate);
116 m_p_hits[pixelLayerDisk][region][side]->Fill(
z, hitMap.
nHits());
117 m_h2_hits[pixelLayerDisk][region][side]->Fill(
z, hitMap.
nHits());
151 const std::vector<std::vector<float >>& endcap_z) {
154 m_encoded_streamLength =
new TH1F(
"m_encoded_streamLength",
"Encoded Stream Length in bits", 2000, 0, 2000);
155 if ((
m_thistSvc->regHist(
m_path + m_encoded_streamLength->GetName(), m_encoded_streamLength)).isFailure())
156 return StatusCode::FAILURE;
158 ATH_MSG_DEBUG(
"Histogram " << m_encoded_streamLength->GetName() <<
" successfully registered.");
162 std::array<std::vector<std::vector<double>>,
N_REGIONS>
bins;
166 for (
unsigned int layer = 0; layer<
N_LAYERS ; layer++) {
167 if (not barrel_z[layer].
empty()) {
168 for (
unsigned int z_bin = 0; z_bin<(barrel_z[layer].size()-1); z_bin++) {
170 float interModulePoint = 0.5 * ( barrel_z[layer].at(z_bin) + barrel_z[layer].at(z_bin+1) );
176 double last_value = 2.*barrel_z[layer].back() - barrel_z[layer].at( barrel_z[layer].size() - 2 );
180 if (not endcap_z[layer].
empty()) {
181 for (
unsigned int z_bin = 0; z_bin<(endcap_z[layer].size()-1); z_bin++) {
183 float interModulePoint = 0.5 * ( endcap_z[layer].at(z_bin) + endcap_z[layer].at(z_bin+1) );
185 float initialValue = 2.*endcap_z[layer].at(z_bin)-interModulePoint;
191 double last_value = 2.*endcap_z[layer].back() - endcap_z[layer].at( endcap_z[layer].size() - 2);
196 for (
unsigned int region=0; region<
N_REGIONS; region++) {
197 for (
unsigned int layer=0; layer<
N_LAYERS; layer++) {
204 m_h2_chip_hitmap[layer][region] =
new TH2F((
"m_h2_chip_hitmap_" +
m_regionLabels[region] +
"_" + std::to_string(layer)).c_str(),
205 (
m_regionLabels[region] +
" - Layer " + std::to_string(layer) +
" Chip hit map; x [px]; y [px]; #epsilon").c_str(),
207 if ((
m_thistSvc->regHist(
m_path + m_h2_chip_hitmap[layer][region]->GetName(), m_h2_chip_hitmap[layer][region])).isFailure())
208 return StatusCode::FAILURE;
209 ATH_MSG_DEBUG(
"Histogram " << m_h2_chip_hitmap[layer][region]->GetName() <<
" successfully registered.");
211 m_h2_chip_totmap[layer][region] =
new TH2F((
"m_h2_chip_totmap_" +
m_regionLabels[region] +
"_" + std::to_string(layer)).c_str(),
212 (
m_regionLabels[region] +
" - Layer " + std::to_string(layer) +
" Chip ToT map; x [px]; y [px]; #epsilon").c_str(),
214 if ((
m_thistSvc->regHist(
m_path + m_h2_chip_totmap[layer][region]->GetName(), m_h2_chip_totmap[layer][region])).isFailure())
215 return StatusCode::FAILURE;
216 ATH_MSG_DEBUG(
"Histogram " << m_h2_chip_totmap[layer][region]->GetName() <<
" successfully registered.");
219 for (
int side=0; side<
N_SIDES; side++) {
222 const std::string title_base =
m_regionLabels[region] +
" - Layer " + std::to_string(layer) +
" - Side " +
m_sideLabels[side];
225 m_p_streamLength[layer][region][side] =
new TProfile((
"m_p_streamLength_" + name_base).c_str(),
226 (title_base +
" Stream Length; z[mm]; <stream length> [bits]").c_str(),
227 int(
bins[region][layer].size()-1), &
bins[region][layer][0]);
228 if ((
m_thistSvc->regHist(
m_path + m_p_streamLength[layer][region][side]->GetName(), m_p_streamLength[layer][region][side])).isFailure())
229 return StatusCode::FAILURE;
230 ATH_MSG_DEBUG(
"Histogram " << m_p_streamLength[layer][region][side]->GetName() <<
" successfully registered.");
232 m_h2_streamLength[layer][region][side] =
new TH2F((
"m_h2_streamLength_" + name_base).c_str(),
233 (title_base +
" Stream Length; z[mm]; <stream length> [bits]").c_str(),
234 int(
bins[region][layer].size()-1), &
bins[region][layer][0],
236 if ((
m_thistSvc->regHist(
m_path + m_h2_streamLength[layer][region][side]->GetName(), m_h2_streamLength[layer][region][side])).isFailure())
237 return StatusCode::FAILURE;
238 ATH_MSG_DEBUG(
"Histogram " << m_h2_streamLength[layer][region][side]->GetName() <<
" successfully registered.");
243 m_p_dataRate[layer][region][side] =
new TProfile((
"m_p_dataRate_" + name_base).c_str(),
244 (title_base +
" Data rate per chip; z[mm]; <data rate per chip> [b/s]").c_str(),
245 int(
bins[region][layer].size()-1), &
bins[region][layer][0]);
246 if ((
m_thistSvc->regHist(
m_path + m_p_dataRate[layer][region][side]->GetName(), m_p_dataRate[layer][region][side])).isFailure())
247 return StatusCode::FAILURE;
248 ATH_MSG_DEBUG(
"Histogram " << m_p_dataRate[layer][region][side]->GetName() <<
" successfully registered.");
250 m_h2_dataRate[layer][region][side] =
new TH2F((
"m_h2_dataRate_" + name_base).c_str(),
251 (title_base +
" Data rate per chip; z[mm]; <data rate per chip> [b/s]").c_str(),
252 int(
bins[region][layer].size()-1), &
bins[region][layer][0],
254 if ((
m_thistSvc->regHist(
m_path + m_h2_dataRate[layer][region][side]->GetName(), m_h2_dataRate[layer][region][side])).isFailure())
255 return StatusCode::FAILURE;
256 ATH_MSG_DEBUG(
"Histogram " << m_h2_dataRate[layer][region][side]->GetName() <<
" successfully registered.");
259 m_p_hits[layer][region][side] =
new TProfile((
"m_p_hits_" + name_base).c_str(),
260 (title_base +
" Hits per chip; z[mm]; <hits/chip>").c_str(),
261 int(
bins[region][layer].size()-1), &
bins[region][layer][0]);
262 if ((
m_thistSvc->regHist(
m_path + m_p_hits[layer][region][side]->GetName(), m_p_hits[layer][region][side])).isFailure())
263 return StatusCode::FAILURE;
264 ATH_MSG_DEBUG(
"Histogram " << m_p_hits[layer][region][side]->GetName() <<
" successfully registered.");
266 m_h2_hits[layer][region][side] =
new TH2F((
"m_h2_hits_" + name_base).c_str(),
267 (title_base +
" Hits per chip; z[mm]; <hits/chip>").c_str(),
268 int(
bins[region][layer].size()-1), &
bins[region][layer][0],
270 if ((
m_thistSvc->regHist(
m_path + m_h2_hits[layer][region][side]->GetName(), m_h2_hits[layer][region][side])).isFailure())
271 return StatusCode::FAILURE;
272 ATH_MSG_DEBUG(
"Histogram " << m_h2_hits[layer][region][side]->GetName() <<
" successfully registered.");
277 return StatusCode::SUCCESS;