38 return StatusCode::SUCCESS;
57 ATH_MSG_DEBUG (
" Size of RDO Container : " << CscRDO->size() );
60 ATH_MSG_DEBUG (
" BEGIN EVENT ========================================== " );
68 size_t nEtaClusWidthCnt = 0, nPhiClusWidthCnt = 0;
71 int clusCount[33][9], sigclusCount[33][9];
72 for(
size_t kl = 0; kl < 33; kl++ )
74 for(
size_t km = 0; km < 9; km++ )
76 clusCount[kl][km] = 0;
77 sigclusCount[kl][km] = 0;
90 int stationName =
m_idHelperSvc->cscIdHelper().stationName(channelId);
91 int chamberType =
m_idHelperSvc->cscIdHelper().stationNameIndex(
"CSS") == stationName ? 0 : 1;
92 int stationEta =
m_idHelperSvc->cscIdHelper().stationEta(channelId);
93 int stationPhi =
m_idHelperSvc->cscIdHelper().stationPhi(channelId);
94 int wireLayer =
m_idHelperSvc->cscIdHelper().wireLayer(channelId);
95 int measuresPhi =
m_idHelperSvc->cscIdHelper().measuresPhi(channelId);
100 int sectorNo = stationEta * (2 * stationPhi - chamberType);
103 int ns = sectorNo < 0 ? sectorNo*(-1) : sectorNo+16;
104 int nl = (measuresPhi ? wireLayer : wireLayer+4);
109 ATH_MSG_DEBUG(
" ns = " << ns <<
"\tm_nl = " << nl <<
"\tm_sec = " << sectorNo <<
"\t m_lay= " << wireLayer <<
"\tmPhi = " << measuresPhi);
117 int xfac = measuresPhi ? -1 : 1;
121 uint16_t diff_max = 0.,
diff = 0.;
122 std::vector<float> xVals;
127 if (measuresPhi) nPhiClusWidthCnt++;
128 else nEtaClusWidthCnt++;
129 fill(
"CscRdoMonitor", raw_clus_width, secLayer, measuresPhi_mon, measuresEta);
132 for (
size_t n = 0; n < raw_clus_width; n++ )
138 fill(
"CscRdoMonitor", stripId, secLayer);
141 xVals.push_back(stripId);
144 std::vector<uint16_t> samples;
146 uint16_t n_max=0, n_min = 9999;
151 for (
size_t np = 0; np < samples.size(); np++)
153 if(samples[np] < n_min) n_min = samples[np];
154 if(samples[np] > n_max) n_max = samples[np];
157 diff = n_max - n_min;
160 if(
diff > diff_max) diff_max =
diff;
162 ATH_MSG_DEBUG ( n <<
" Max = " << n_max <<
" Min = " << n_min <<
" Diff = " <<
diff );
166 ATH_MSG_DEBUG (
" End loop over strips======================" );
171 fill(
"CscRdoMonitor", diff_max_mon);
175 std::vector<int> tmp_xVals_signal;
176 std::vector<int> tmp_xVals_noise;
177 std::vector<float> tmp_secLayer_signal;
178 std::vector<float> tmp_secLayer_noise;
182 sigclusCount[ns][nl]++;
183 for(
size_t nf = 0; nf < xVals.size(); nf++)
185 tmp_xVals_signal.push_back(xVals[nf]);
186 tmp_secLayer_signal.push_back(secLayer);
191 for(
size_t nf = 0; nf < xVals.size(); nf++)
193 tmp_xVals_noise.push_back(xVals[nf]);
194 tmp_secLayer_noise.push_back(secLayer);
205 auto signal_measuresEta_sideC =
Monitored::Scalar<int>(
"signal_measuresEta_sideC", (
int)(signal && !measuresPhi && stationEta == -1));
206 auto signal_measuresEta_sideA =
Monitored::Scalar<int>(
"signal_measuresEta_sideA", (
int)(signal && !measuresPhi && stationEta == 1));
208 auto signal_measuresPhi_sideC =
Monitored::Scalar<int>(
"signal_measuresPhi_sideC", (
int)(signal && measuresPhi && stationEta == -1));
209 auto signal_measuresPhi_sideA =
Monitored::Scalar<int>(
"signal_measuresPhi_sideA", (
int)(signal && measuresPhi && stationEta == 1));
214 fill(
"CscRdoMonitor", isSignal, isNoise, secLayer, tmp_secLayer_sig_mon, tmp_secLayer_noise_mon, tmp_xVals_signal_mon, tmp_xVals_noise_mon, raw_clus_width, sideC_signal, sideA_signal, signal_measuresEta, signal_measuresEta_sideC, signal_measuresEta_sideA, signal_measuresPhi, signal_measuresPhi_sideC, signal_measuresPhi_sideA, noise_measuresEta, noise_measuresPhi);
219 ATH_MSG_DEBUG (
" End loop over clusters======================" );
222 fill(
"CscRdoMonitor", nPhiClusWidthCnt_mon, nEtaClusWidthCnt_mon);
224 int numeta = 0, numphi = 0, numetasignal = 0, numphisignal = 0;
225 for(
int kl = 1; kl < 33; kl++ )
228 for(
int km = 1; km < 9; km++ )
230 int lay = (km > 4 && km < 9) ? km-4 : km;
231 bool mphi = (km > 0 && km < 5) ?
true :
false;
232 std::string wlay = mphi ?
"Phi-Layer " :
"Eta-Layer: ";
233 int count = clusCount[kl][km];
234 int scount = sigclusCount[kl][km];
235 int tmp_counts_phi = 0, tmp_counts_eta = 0;
239 float secLayer = kl-16 + 0.2 * (lay - 1) + 0.1;
245 numphisignal += scount;
246 tmp_counts_phi =
count - scount;
248 else tmp_counts_phi =
count;
255 numetasignal += scount;
256 tmp_counts_eta =
count - scount;
258 else tmp_counts_eta =
count;
260 ATH_MSG_DEBUG ( wlay <<
"Counts sec: [" << kl-16 <<
"]\tlayer: [" << km <<
"] = " << secLayer <<
"\t = " <<
count <<
"\t" << scount);
272 fill(
"CscRdoMonitor", count_mon, secLayer_count, mphi_mon, mphi_scount, scount_mon, tmp_counts_phi_mon, mphi_inv, mphi_inv_scount, tmp_counts_eta_mon);
284 fill(
"CscRdoMonitor", numphi_mon, numeta_mon, numphisignal_mon, numetasignal_mon, diffnumphi, diffnumeta);
287 ATH_MSG_DEBUG (
" END EVENT ============================================ " );
289 ATH_MSG_DEBUG (
"CSCRdoMon::fillHistograms reports success" );
291 return StatusCode::SUCCESS;