101 ,
unsigned int channel
106 ,
const EventContext& ctx)
const
108 ATH_MSG_DEBUG(
"TileCondToolOfc weights, drawerIdx:" << drawerIdx
109 <<
" channel: " << channel
111 <<
" phase: " << phase );
128 if (msgLvl(MSG::DEBUG)) {
129 msg(MSG::DEBUG) <<
" Calculating " << (of2 ?
"OF2" :
"OF1") <<
" weights ";
132 msg(MSG::DEBUG) <<
"with Delta correlation matrix " <<
endmsg;
134 msg(MSG::DEBUG) <<
"with correlation matrix obtained from DB " <<
endmsg;
136 msg(MSG::DEBUG) <<
"for drawerIdx= " << drawerIdx
137 <<
" channel=" << channel
139 <<
" phase " << phase <<
endmsg;
148 std::vector<float> vecAutoCr;
153 if (vecAutoCr[0] > -1233.){
154 if (vecAutoCr.size() == 28){
155 int AutoCrPosition = 0;
158 Correlation[i][j] = vecAutoCr[AutoCrPosition];
159 Correlation[j][i] = vecAutoCr[AutoCrPosition];
164 Correlation[i][i] = 1.;
166 for (
int j = 0; j <
m_nSamples - i - 1; j++) {
167 Correlation[i][j + i + 1] = vecAutoCr[j];
168 Correlation[j + i + 1][i] = vecAutoCr[j];
184 , phase + 25 * (i -
m_t0Sample), py, pdy, ctx);
193 PulseShape[i][0] = py;
194 DPulseShape[i][0] = pdy;
195 weights.g[i] = PulseShape[i][0];
196 weights.dg[i] = DPulseShape[i][0];
199 <<
" phase " << phase
209 CLHEP::HepVector IndependTermsAmp(
m_nSamples + npr, 0);
210 CLHEP::HepVector IndependTermsTime(
m_nSamples + npr, 0);
211 CLHEP::HepVector IndependTermsPed(
m_nSamples + npr, 0);
215 SystemMatrix[i][j] = Correlation[i][j];
218 SystemMatrix[
m_nSamples][i] = PulseShape[i][0];
219 SystemMatrix[i][
m_nSamples] = PulseShape[i][0];
221 SystemMatrix[
m_nSamples + 1][i] = DPulseShape[i][0];
222 SystemMatrix[i][
m_nSamples + 1] = DPulseShape[i][0];
233 if (of2) IndependTermsPed[
m_nSamples + 2] = 1.;
235 Result = solve(SystemMatrix, IndependTermsAmp);
237 for (
int ismp = 0; ismp <
m_nSamples; ismp++) {
243 Result = solve(SystemMatrix, IndependTermsTime);
245 for (
int ismp = 0; ismp <
m_nSamples; ismp++) {
251 Result = solve(SystemMatrix, IndependTermsPed);
253 for (
int ismp = 0; ismp <
m_nSamples; ismp++) {
275 return StatusCode::SUCCESS;