135 MsgStream log(
msgSvc(), name() );
136 SmartDataPtr<RecMdcKalTrackCol> mdcKalTrkCol( eventSvc(),
"/Event/Recon/RecMdcKalTrackCol" );
139 log << MSG::ERROR <<
"Unable to retrieve mdcKalTrackCol" << endmsg;
140 return StatusCode::FAILURE;
144 for ( RecMdcKalTrackCol::iterator iter_trk = mdcKalTrkCol->begin();
145 iter_trk != mdcKalTrkCol->end(); iter_trk++ )
147 for (
int jj = 0, iii = 0; jj < 5; jj++ )
149 m_nhits[jj] = ( *iter_trk )->getNhits( jj );
150 m_zhelix[jj] = ( *iter_trk )->getZHelix()[jj];
151 m_zhelixe[jj] = ( *iter_trk )->getZHelixE()[jj];
152 m_zhelixmu[jj] = ( *iter_trk )->getZHelixMu()[jj];
153 m_zhelixk[jj] = ( *iter_trk )->getZHelixK()[jj];
154 m_zhelixp[jj] = ( *iter_trk )->getZHelixP()[jj];
155 m_fhelix[jj] = ( *iter_trk )->getFHelix()[jj];
156 m_fhelixe[jj] = ( *iter_trk )->getFHelixE()[jj];
157 m_fhelixmu[jj] = ( *iter_trk )->getFHelixMu()[jj];
158 m_fhelixk[jj] = ( *iter_trk )->getFHelixK()[jj];
159 m_fhelixp[jj] = ( *iter_trk )->getFHelixP()[jj];
160 m_lhelix[jj] = ( *iter_trk )->getLHelix()[jj];
161 m_lhelixe[jj] = ( *iter_trk )->getLHelixE()[jj];
162 m_lhelixmu[jj] = ( *iter_trk )->getLHelixMu()[jj];
163 m_lhelixk[jj] = ( *iter_trk )->getLHelixK()[jj];
164 m_lhelixp[jj] = ( *iter_trk )->getLHelixP()[jj];
166 for (
int kk = 0; kk <= jj; kk++, iii++ )
168 m_zerror[iii] = ( *iter_trk )->getZError()[jj][kk];
169 m_zerrore[iii] = ( *iter_trk )->getZErrorE()[jj][kk];
170 m_zerrormu[iii] = ( *iter_trk )->getZErrorMu()[jj][kk];
171 m_zerrork[iii] = ( *iter_trk )->getZErrorK()[jj][kk];
172 m_zerrorp[iii] = ( *iter_trk )->getZErrorP()[jj][kk];
173 m_ferror[iii] = ( *iter_trk )->getFError()[jj][kk];
174 m_ferrore[iii] = ( *iter_trk )->getFErrorE()[jj][kk];
175 m_ferrormu[iii] = ( *iter_trk )->getFErrorMu()[jj][kk];
176 m_ferrork[iii] = ( *iter_trk )->getFErrorK()[jj][kk];
177 m_ferrorp[iii] = ( *iter_trk )->getFErrorP()[jj][kk];
178 m_lerror[iii] = ( *iter_trk )->getLError()[jj][kk];
179 m_lerrore[iii] = ( *iter_trk )->getLErrorE()[jj][kk];
180 m_lerrormu[iii] = ( *iter_trk )->getLErrorMu()[jj][kk];
181 m_lerrork[iii] = ( *iter_trk )->getLErrorK()[jj][kk];
182 m_lerrorp[iii] = ( *iter_trk )->getLErrorP()[jj][kk];
186 m_ndf[0][0] = ( *iter_trk )->getNdf( 0, 0 );
187 m_ndf[1][0] = ( *iter_trk )->getNdf( 0, 1 );
188 m_ndf[2][0] = ( *iter_trk )->getNdf( 0, 2 );
189 m_ndf[3][0] = ( *iter_trk )->getNdf( 0, 3 );
190 m_ndf[4][0] = ( *iter_trk )->getNdf( 0, 4 );
191 m_ndf[0][1] = ( *iter_trk )->getNdf( 1, 0 );
192 m_ndf[1][1] = ( *iter_trk )->getNdf( 1, 1 );
193 m_ndf[2][1] = ( *iter_trk )->getNdf( 1, 2 );
194 m_ndf[3][1] = ( *iter_trk )->getNdf( 1, 3 );
195 m_ndf[4][1] = ( *iter_trk )->getNdf( 1, 4 );
197 m_stat[0][0] = ( *iter_trk )->getStat( 0, 0 );
198 m_stat[1][0] = ( *iter_trk )->getStat( 0, 1 );
199 m_stat[2][0] = ( *iter_trk )->getStat( 0, 2 );
200 m_stat[3][0] = ( *iter_trk )->getStat( 0, 3 );
201 m_stat[4][0] = ( *iter_trk )->getStat( 0, 4 );
202 m_stat[0][1] = ( *iter_trk )->getStat( 1, 0 );
203 m_stat[1][1] = ( *iter_trk )->getStat( 1, 1 );
204 m_stat[2][1] = ( *iter_trk )->getStat( 1, 2 );
205 m_stat[3][1] = ( *iter_trk )->getStat( 1, 3 );
206 m_stat[4][1] = ( *iter_trk )->getStat( 1, 4 );
208 m_fptot = sqrt( 1 + pow( m_fhelix[4], 2 ) ) / m_fhelix[2];
209 m_fptote = sqrt( 1 + pow( m_fhelixe[4], 2 ) ) / m_fhelixe[2];
210 m_fptotmu = sqrt( 1 + pow( m_fhelixmu[4], 2 ) ) / m_fhelixmu[2];
211 m_fptotk = sqrt( 1 + pow( m_fhelixk[4], 2 ) ) / m_fhelixk[2];
212 m_fptotp = sqrt( 1 + pow( m_fhelixp[4], 2 ) ) / m_fhelixp[2];
214 m_zpt = 1 / m_zhelix[2];
215 m_zpte = 1 / m_zhelixe[2];
216 m_zptmu = 1 / m_zhelixmu[2];
217 m_zptk = 1 / m_zhelixk[2];
218 m_zptp = 1 / m_zhelixp[2];
220 m_fpt = 1 / m_fhelix[2];
221 m_fpte = 1 / m_fhelixe[2];
222 m_fptmu = 1 / m_fhelixmu[2];
223 m_fptk = 1 / m_fhelixk[2];
224 m_fptp = 1 / m_fhelixp[2];
226 m_lpt = 1 / m_lhelix[2];
227 m_lpte = 1 / m_lhelixe[2];
228 m_lptmu = 1 / m_lhelixmu[2];
229 m_lptk = 1 / m_lhelixk[2];
230 m_lptp = 1 / m_lhelixp[2];
232 m_lptot = sqrt( 1 + pow( m_lhelix[4], 2 ) ) / m_lhelix[2];
233 m_lptote = sqrt( 1 + pow( m_lhelixe[4], 2 ) ) / m_lhelixe[2];
234 m_lptotmu = sqrt( 1 + pow( m_lhelixmu[4], 2 ) ) / m_lhelixmu[2];
235 m_lptotk = sqrt( 1 + pow( m_lhelixk[4], 2 ) ) / m_lhelixk[2];
236 m_lptotp = sqrt( 1 + pow( m_lhelixp[4], 2 ) ) / m_lhelixp[2];
238 m_zptot = sqrt( 1 + pow( m_zhelix[4], 2 ) ) / m_zhelix[2];
239 m_zptote = sqrt( 1 + pow( m_zhelixe[4], 2 ) ) / m_zhelixe[2];
240 m_zptotmu = sqrt( 1 + pow( m_zhelixmu[4], 2 ) ) / m_zhelixmu[2];
241 m_zptotk = sqrt( 1 + pow( m_zhelixk[4], 2 ) ) / m_zhelixk[2];
242 m_zptotp = sqrt( 1 + pow( m_zhelixp[4], 2 ) ) / m_zhelixp[2];
244 StatusCode sc1 = m_nt1->write();
245 if ( sc1.isFailure() ) cout <<
"Ntuple1 filling failed!" << endl;
248 return StatusCode::SUCCESS;