47 MsgStream log(
msgSvc(),
"RecMdcKalTrackCnv" );
48 log << MSG::DEBUG <<
"RecMdcKalTrackCnv::TObjectToDataObject" << endmsg;
49 StatusCode sc = StatusCode::SUCCESS;
53 refpObject = recMdcKalTrackCol;
56 if ( !m_recMdcKalTrackCol )
return sc;
57 TIter recMdcKalTrackIter( m_recMdcKalTrackCol );
59 IDataProviderSvc* dataSvc = 0;
60 sc = serviceLocator()->getService(
"EventDataSvc", IDataProviderSvc::interfaceID(),
61 (IInterface*&)dataSvc );
62 if ( !sc.isSuccess() )
64 log << MSG::FATAL <<
"Could not get EventDataSvc in RecMdcTrackCnv" << endmsg;
65 return ( StatusCode::FAILURE );
67 SmartDataPtr<RecMdcKalHelixSegCol> recMdcKalHelixSegCol(
68 dataSvc,
"/Event/Recon/RecMdcKalHelixSegCol" );
69 if ( !recMdcKalHelixSegCol )
71 log << MSG::FATAL <<
"Could not find RecMdcKalHelixSegCol" << endmsg;
72 return ( StatusCode::FAILURE );
76 while ( ( recMdcKalTrackRoot = (
TRecMdcKalTrack*)recMdcKalTrackIter.Next() ) )
79 std::vector<HepVector> zhelixs;
80 std::vector<HepSymMatrix> zerrors;
81 std::vector<HepVector> fhelixs;
82 std::vector<HepSymMatrix> ferrors;
83 std::vector<HepVector> lhelixs;
84 std::vector<HepSymMatrix> lerrors;
85 std::vector<HepPoint3D> pocas;
86 std::vector<HepPoint3D> lpivots;
87 std::vector<HepPoint3D> lpoints;
89 HepVector zhelix( 5 );
90 HepSymMatrix zerror( 5 );
91 HepVector fhelix( 5 );
92 HepSymMatrix ferror( 5 );
93 HepVector lhelix( 5 );
94 HepSymMatrix lerror( 5 );
95 HepVector thelix( 5 );
96 HepSymMatrix terror( 5 );
97 HepPoint3D poca( 0, 0, 0 );
98 HepPoint3D lpivot( 0, 0, 0 );
99 HepPoint3D lpoint( 0, 0, 0 );
101 HepVector zhelix_e( 5 );
102 HepSymMatrix zerror_e( 5 );
103 HepVector fhelix_e( 5 );
104 HepSymMatrix ferror_e( 5 );
105 HepVector lhelix_e( 5 );
106 HepSymMatrix lerror_e( 5 );
107 HepPoint3D poca_e( 0, 0, 0 );
108 HepPoint3D lpivot_e( 0, 0, 0 );
109 HepPoint3D lpoint_e( 0, 0, 0 );
111 HepVector zhelix_mu( 5 );
112 HepSymMatrix zerror_mu( 5 );
113 HepVector fhelix_mu( 5 );
114 HepSymMatrix ferror_mu( 5 );
115 HepVector lhelix_mu( 5 );
116 HepSymMatrix lerror_mu( 5 );
117 HepPoint3D poca_mu( 0, 0, 0 );
118 HepPoint3D lpivot_mu( 0, 0, 0 );
119 HepPoint3D lpoint_mu( 0, 0, 0 );
121 HepVector zhelix_k( 5 );
122 HepSymMatrix zerror_k( 5 );
123 HepVector fhelix_k( 5 );
124 HepSymMatrix ferror_k( 5 );
125 HepVector lhelix_k( 5 );
126 HepSymMatrix lerror_k( 5 );
127 HepPoint3D poca_k( 0, 0, 0 );
128 HepPoint3D lpivot_k( 0, 0, 0 );
129 HepPoint3D lpoint_k( 0, 0, 0 );
131 HepVector zhelix_p( 5 );
132 HepSymMatrix zerror_p( 5 );
133 HepVector fhelix_p( 5 );
134 HepSymMatrix ferror_p( 5 );
135 HepVector lhelix_p( 5 );
136 HepSymMatrix lerror_p( 5 );
137 HepPoint3D poca_p( 0, 0, 0 );
138 HepPoint3D lpivot_p( 0, 0, 0 );
139 HepPoint3D lpoint_p( 0, 0, 0 );
163 for (
int u = 0; u < 5; u++ )
166 length[u] = recMdcKalTrackRoot->
getLength( u );
167 tof[u] = recMdcKalTrackRoot->
getTof( u );
168 nhits[u] = recMdcKalTrackRoot->
getNhits( u );
169 fiTerm[u] = recMdcKalTrackRoot->
getfiTerm( u );
170 pathSM[u] = recMdcKalTrackRoot->
getPathSM( u );
171 nlayer[u] = recMdcKalTrackRoot->
getNlayer( u );
174 recMdcKalTrackTds->
setLength( length[u], u );
175 recMdcKalTrackTds->
setTof( tof[u], u );
176 recMdcKalTrackTds->
setNhits( nhits[u], u );
177 recMdcKalTrackTds->
setFiTerm( fiTerm[u], u );
178 recMdcKalTrackTds->
setPathSM( pathSM[u], u );
179 recMdcKalTrackTds->
setNlayer( nlayer[u], u );
182 for (
int v = 0;
v < 3;
v++ )
184 poca_e[
v] = recMdcKalTrackRoot->
getPocaE(
v );
186 poca[
v] = recMdcKalTrackRoot->
getPoca(
v );
187 poca_k[
v] = recMdcKalTrackRoot->
getPocaK(
v );
188 poca_p[
v] = recMdcKalTrackRoot->
getPocaP(
v );
204 for (
int i = 0, k = 0; i < 5; i++ )
206 zhelix[i] = recMdcKalTrackRoot->
getZHelix( i );
207 zhelix_e[i] = recMdcKalTrackRoot->
getZHelixE( i );
208 zhelix_mu[i] = recMdcKalTrackRoot->
getZHelixMu( i );
209 zhelix_k[i] = recMdcKalTrackRoot->
getZHelixK( i );
210 zhelix_p[i] = recMdcKalTrackRoot->
getZHelixP( i );
212 fhelix[i] = recMdcKalTrackRoot->
getFHelix( i );
213 fhelix_e[i] = recMdcKalTrackRoot->
getFHelixE( i );
214 fhelix_mu[i] = recMdcKalTrackRoot->
getFHelixMu( i );
215 fhelix_k[i] = recMdcKalTrackRoot->
getFHelixK( i );
216 fhelix_p[i] = recMdcKalTrackRoot->
getFHelixP( i );
218 lhelix[i] = recMdcKalTrackRoot->
getLHelix( i );
219 lhelix_e[i] = recMdcKalTrackRoot->
getLHelixE( i );
220 lhelix_mu[i] = recMdcKalTrackRoot->
getLHelixMu( i );
221 lhelix_k[i] = recMdcKalTrackRoot->
getLHelixK( i );
222 lhelix_p[i] = recMdcKalTrackRoot->
getLHelixP( i );
224 thelix[i] = recMdcKalTrackRoot->
getTHelix( i );
226 for (
int j = 0; j <= i; j++ )
229 zerror[i][j] = recMdcKalTrackRoot->
getZError( i, j );
230 zerror_e[i][j] = recMdcKalTrackRoot->
getZErrorE( i, j );
231 zerror_mu[i][j] = recMdcKalTrackRoot->
getZErrorMu( i, j );
232 zerror_k[i][j] = recMdcKalTrackRoot->
getZErrorK( i, j );
233 zerror_p[i][j] = recMdcKalTrackRoot->
getZErrorP( i, j );
234 zerror[j][i] = zerror[i][j];
235 zerror_e[j][i] = zerror_e[i][j];
236 zerror_mu[j][i] = zerror_mu[i][j];
237 zerror_k[j][i] = zerror_k[i][j];
238 zerror_p[j][i] = zerror_p[i][j];
240 ferror[i][j] = recMdcKalTrackRoot->
getFError( i, j );
241 ferror_e[i][j] = recMdcKalTrackRoot->
getFErrorE( i, j );
242 ferror_mu[i][j] = recMdcKalTrackRoot->
getFErrorMu( i, j );
243 ferror_k[i][j] = recMdcKalTrackRoot->
getFErrorK( i, j );
244 ferror_p[i][j] = recMdcKalTrackRoot->
getFErrorP( i, j );
245 ferror[j][i] = ferror[i][j];
246 ferror_e[j][i] = ferror_e[i][j];
247 ferror_mu[j][i] = ferror_mu[i][j];
248 ferror_k[j][i] = ferror_k[i][j];
249 ferror_p[j][i] = ferror_p[i][j];
251 lerror[i][j] = recMdcKalTrackRoot->
getLError( i, j );
252 lerror_e[i][j] = recMdcKalTrackRoot->
getLErrorE( i, j );
253 lerror_mu[i][j] = recMdcKalTrackRoot->
getLErrorMu( i, j );
254 lerror_k[i][j] = recMdcKalTrackRoot->
getLErrorK( i, j );
255 lerror_p[i][j] = recMdcKalTrackRoot->
getLErrorP( i, j );
256 lerror[j][i] = lerror[i][j];
257 lerror_e[j][i] = lerror_e[i][j];
258 lerror_mu[j][i] = lerror_mu[i][j];
259 lerror_k[j][i] = lerror_k[i][j];
260 lerror_p[j][i] = lerror_p[i][j];
262 terror[i][j] = recMdcKalTrackRoot->
getTError( k++ );
263 terror[j][i] = terror[i][j];
273 zhelixs.push_back( zhelix_e );
274 zhelixs.push_back( zhelix_mu );
275 zhelixs.push_back( zhelix );
276 zhelixs.push_back( zhelix_k );
277 zhelixs.push_back( zhelix_p );
278 zerrors.push_back( zerror_e );
279 zerrors.push_back( zerror_mu );
280 zerrors.push_back( zerror );
281 zerrors.push_back( zerror_k );
282 zerrors.push_back( zerror_p );
284 fhelixs.push_back( fhelix_e );
285 fhelixs.push_back( fhelix_mu );
286 fhelixs.push_back( fhelix );
287 fhelixs.push_back( fhelix_k );
288 fhelixs.push_back( fhelix_p );
289 ferrors.push_back( ferror_e );
290 ferrors.push_back( ferror_mu );
291 ferrors.push_back( ferror );
292 ferrors.push_back( ferror_k );
293 ferrors.push_back( ferror_p );
295 lhelixs.push_back( lhelix_e );
296 lhelixs.push_back( lhelix_mu );
297 lhelixs.push_back( lhelix );
298 lhelixs.push_back( lhelix_k );
299 lhelixs.push_back( lhelix_p );
300 lerrors.push_back( lerror_e );
301 lerrors.push_back( lerror_mu );
302 lerrors.push_back( lerror );
303 lerrors.push_back( lerror_k );
304 lerrors.push_back( lerror_p );
307 pocas.push_back( poca_e );
308 pocas.push_back( poca_mu );
309 pocas.push_back( poca );
310 pocas.push_back( poca_k );
311 pocas.push_back( poca_p );
312 lpivots.push_back( lpivot_e );
313 lpivots.push_back( lpivot_mu );
314 lpivots.push_back( lpivot );
315 lpivots.push_back( lpivot_k );
316 lpivots.push_back( lpivot_p );
317 lpoints.push_back( lpoint_e );
318 lpoints.push_back( lpoint_mu );
319 lpoints.push_back( lpoint );
320 lpoints.push_back( lpoint_k );
321 lpoints.push_back( lpoint_p );
323 for (
int m = 0; m < 5; m++ )
326 double pxy( 0. ), px( 0. ), py( 0. ), pz( 0. ), ptot( 0. ), dr( 0. ), phi0( 0. ),
327 kappa( 0. ), dz( 0. ), tanl( 0. ),
x( 0. ), y( 0. ), z( 0. ), vx0( 0. ), vy0( 0. ),
330 phi0 = zhelixs[m][1];
331 kappa = zhelixs[m][2];
333 tanl = zhelixs[m][4];
338 x = dr *
cos( phi0 );
339 y = dr *
sin( phi0 );
343 if ( kappa > 0.0000000001 ) charge = 1;
344 else if ( kappa < -0.0000000001 ) charge = -1;
347 if ( kappa != 0 ) pxy = 1.0 / fabs( kappa );
350 px = pxy * ( -
sin( phi0 ) );
351 py = pxy *
cos( phi0 );
353 ptot = sqrt( px * px + py * py + pz * pz );
357 recMdcKalTrackTds->
setCharge( charge, m );
358 recMdcKalTrackTds->
setPxy( pxy, m );
359 recMdcKalTrackTds->
setPx( px, m );
360 recMdcKalTrackTds->
setPy( py, m );
361 recMdcKalTrackTds->
setPz( pz, m );
362 recMdcKalTrackTds->
setP( ptot, m );
363 recMdcKalTrackTds->
setTheta( acos( pz / ptot ), m );
364 recMdcKalTrackTds->
setPhi( atan2( py, px ), m );
365 recMdcKalTrackTds->
setX( x, m );
366 recMdcKalTrackTds->
setY( y, m );
367 recMdcKalTrackTds->
setZ( z, m );
368 recMdcKalTrackTds->
setR( sqrt( x * x + y * y ), m );
371 for (
int n = 0;
n < 2;
n++ )
373 int stat = recMdcKalTrackRoot->
getStat(
n, m );
374 int chisq = recMdcKalTrackRoot->
getChisq(
n, m );
375 int ndf = recMdcKalTrackRoot->
getNdf(
n, m );
376 recMdcKalTrackTds->
setStat( stat,
n, m );
377 recMdcKalTrackTds->
setChisq( chisq,
n, m );
378 recMdcKalTrackTds->
setNdf( ndf,
n, m );
384 for (
int jj = 0; jj < 5; jj++ )
389 recMdcKalTrackTds->
setZHelix( zhelixs[jj], jj );
392 recMdcKalTrackTds->
setZError( zerrors[jj], jj );
393 recMdcKalTrackTds->
setFHelix( fhelixs[jj], jj );
394 recMdcKalTrackTds->
setFError( ferrors[jj], jj );
397 recMdcKalTrackTds->
setLHelix( lhelixs[jj], jj );
398 recMdcKalTrackTds->
setLError( lerrors[jj], jj );
399 recMdcKalTrackTds->
setPoca( pocas[jj], jj );
401 recMdcKalTrackTds->
setLPoint( lpoints[jj], jj );
402 recMdcKalTrackTds->
setLPivot( lpivots[jj], jj );
409 log << MSG::DEBUG <<
"T to REC TDS, zhelix: " << zhelix << endmsg;
410 log << MSG::DEBUG <<
"T to REC TDS, zerror: " << zerror << endmsg;
412 m_common.m_rootRecMdcKalTrackMap[recMdcKalTrackRoot] = recMdcKalTrackTds;
415 for (
int i = 0; i < 5; i++ )
419 int nSeg = recMdcKalTrackRoot->
getNseg( i );
421 RecMdcKalHelixSegCol::iterator
iter = recMdcKalHelixSegCol->begin();
422 for ( ;
iter != recMdcKalHelixSegCol->end();
iter++ )
426 if ( ( *iter )->getTrackId() == trackId )
428 if ( iSeg >= nSegTot && iSeg < nSeg + nSegTot )
430 SmartRef<RecMdcKalHelixSeg> refhit( *
iter );
431 theKalHelixSegRefVec.push_back( refhit );
445 for (
int ii = 0; ii < nhelixsegs; ii++ )
456 recMdcKalTrackCol->push_back( recMdcKalTrackTds );
459 delete m_recMdcKalTrackCol;
461 m_recMdcKalTrackCol = 0;
463 return StatusCode::SUCCESS;
468 MsgStream log(
msgSvc(),
"RecMdcKalTrackCnv" );
469 log << MSG::DEBUG <<
"RecMdcKalTrackCnv::DataObjectToTObject" << endmsg;
470 StatusCode sc = StatusCode::SUCCESS;
473 if ( !mdcKalTrackColTds )
475 log << MSG::ERROR <<
"Could not downcast to RecMdcKalTrackCol" << endmsg;
476 return StatusCode::FAILURE;
483 log << MSG::ERROR <<
"Could not get ReconEvent in TDS " << endmsg;
484 return StatusCode::FAILURE;
489 { log << MSG::ERROR <<
"MdcKalTrackCnv:Could not downcast to TDS Recon Event" << endmsg; }
490 IOpaqueAddress* addr;
492 m_cnvSvc->getRecTrackCnv()->createRep( evt, addr );
497 if ( !m_recMdcKalTrackCol )
return sc;
501 RecMdcKalTrackCol::const_iterator mdcKalTrackTds;
503 for ( mdcKalTrackTds = mdcKalTrackColTds->begin();
504 mdcKalTrackTds != mdcKalTrackColTds->end(); mdcKalTrackTds++ )
516 Double_t chisq[2][5];
529 Double_t zerror[5][5];
530 Double_t zhelix_e[5];
531 Double_t zerror_e[5][5];
532 Double_t zhelix_mu[5];
533 Double_t zerror_mu[5][5];
534 Double_t zhelix_k[5];
535 Double_t zerror_k[5][5];
536 Double_t zhelix_p[5];
537 Double_t zerror_p[5][5];
540 Double_t ferror[5][5];
541 Double_t fhelix_e[5];
542 Double_t ferror_e[5][5];
543 Double_t fhelix_mu[5];
544 Double_t ferror_mu[5][5];
545 Double_t fhelix_k[5];
546 Double_t ferror_k[5][5];
547 Double_t fhelix_p[5];
548 Double_t ferror_p[5][5];
551 Double_t lerror[5][5];
552 Double_t lhelix_e[5];
553 Double_t lerror_e[5][5];
554 Double_t lhelix_mu[5];
555 Double_t lerror_mu[5][5];
556 Double_t lhelix_k[5];
557 Double_t lerror_k[5][5];
558 Double_t lhelix_p[5];
559 Double_t lerror_p[5][5];
564 Double_t lpoint_e[3];
565 Double_t lpoint_mu[3];
567 Double_t lpoint_k[3];
568 Double_t lpoint_p[3];
570 Double_t lpivot_e[3];
571 Double_t lpivot_mu[3];
573 Double_t lpivot_k[3];
574 Double_t lpivot_p[3];
578 trackId = ( *mdcKalTrackTds )->getTrackId();
579 for ( Int_t i = 0; i < 5; i++ )
581 mass[i] = ( *mdcKalTrackTds )->getMass( i );
582 length[i] = ( *mdcKalTrackTds )->getLength( i );
583 tof[i] = ( *mdcKalTrackTds )->getTof( i );
584 nhits[i] = ( *mdcKalTrackTds )->getNhits( i );
585 nlayer[i] = ( *mdcKalTrackTds )->getNlayer( i );
586 fiTerm[i] = ( *mdcKalTrackTds )->getFiTerm( i );
587 pathSM[i] = ( *mdcKalTrackTds )->getPathSM( i );
589 nSeg[i] = ( ( *mdcKalTrackTds )->getVecHelixSegs( i ) ).size();
590 mdcKalTrackRoot->
setNseg( nSeg[i], i );
591 mdcKalTrackRoot->
setNlayer( nlayer[i], i );
592 for ( Int_t j = 0; j < 2; j++ )
594 stat[j][i] = ( *mdcKalTrackTds )->getStat( j, i );
595 chisq[j][i] = ( *mdcKalTrackTds )->getChisq( j, i );
596 ndf[j][i] = ( *mdcKalTrackTds )->getNdf( j, i );
597 mdcKalTrackRoot->
setStat( stat[j][i], j, i );
598 mdcKalTrackRoot->
setChisq( chisq[j][i], j, i );
599 mdcKalTrackRoot->
setNdf( ndf[j][i], j, i );
602 for ( Int_t i = 0; i < 5; i++ )
604 log << MSG::INFO <<
" recMdcKalTrack.helix(" << i
605 <<
"): " << ( *mdcKalTrackTds )->getTHelix( i ) << endmsg;
606 thelix[i] = ( *mdcKalTrackTds )->getTHelix( i );
608 for ( Int_t i = 0; i < 15; i++ ) { terror[i] = ( *mdcKalTrackTds )->getTError( i ); }
609 HepPoint3D h_poca_e = ( *mdcKalTrackTds )->getPocaE();
610 HepPoint3D h_poca_mu = ( *mdcKalTrackTds )->getPocaMu();
611 HepPoint3D h_poca = ( *mdcKalTrackTds )->getPoca();
612 HepPoint3D h_poca_k = ( *mdcKalTrackTds )->getPocaK();
613 HepPoint3D h_poca_p = ( *mdcKalTrackTds )->getPocaP();
614 HepPoint3D h_lpoint_e = ( *mdcKalTrackTds )->getLPointE();
615 HepPoint3D h_lpoint_mu = ( *mdcKalTrackTds )->getLPointMu();
616 HepPoint3D h_lpoint = ( *mdcKalTrackTds )->getLPoint();
617 HepPoint3D h_lpoint_k = ( *mdcKalTrackTds )->getLPointK();
618 HepPoint3D h_lpoint_p = ( *mdcKalTrackTds )->getLPointP();
619 HepPoint3D h_lpivot_e = ( *mdcKalTrackTds )->getLPivotE();
620 HepPoint3D h_lpivot_mu = ( *mdcKalTrackTds )->getLPivotMu();
621 HepPoint3D h_lpivot = ( *mdcKalTrackTds )->getLPivot();
622 HepPoint3D h_lpivot_k = ( *mdcKalTrackTds )->getLPivotK();
623 HepPoint3D h_lpivot_p = ( *mdcKalTrackTds )->getLPivotP();
630 HepVector h_zhelix = ( *mdcKalTrackTds )->getZHelix();
631 HepSymMatrix h_zerror = ( *mdcKalTrackTds )->getZError();
632 HepVector h_zhelix_e = ( *mdcKalTrackTds )->getZHelixE();
633 HepSymMatrix h_zerror_e = ( *mdcKalTrackTds )->getZErrorE();
634 HepVector h_zhelix_mu = ( *mdcKalTrackTds )->getZHelixMu();
635 HepSymMatrix h_zerror_mu = ( *mdcKalTrackTds )->getZErrorMu();
636 HepVector h_zhelix_k = ( *mdcKalTrackTds )->getZHelixK();
637 HepSymMatrix h_zerror_k = ( *mdcKalTrackTds )->getZErrorK();
638 HepVector h_zhelix_p = ( *mdcKalTrackTds )->getZHelixP();
639 HepSymMatrix h_zerror_p = ( *mdcKalTrackTds )->getZErrorP();
641 HepVector h_fhelix = ( *mdcKalTrackTds )->getFHelix();
642 HepSymMatrix h_ferror = ( *mdcKalTrackTds )->getFError();
643 HepVector h_fhelix_e = ( *mdcKalTrackTds )->getFHelixE();
644 HepSymMatrix h_ferror_e = ( *mdcKalTrackTds )->getFErrorE();
645 HepVector h_fhelix_mu = ( *mdcKalTrackTds )->getFHelixMu();
646 HepSymMatrix h_ferror_mu = ( *mdcKalTrackTds )->getFErrorMu();
647 HepVector h_fhelix_k = ( *mdcKalTrackTds )->getFHelixK();
648 HepSymMatrix h_ferror_k = ( *mdcKalTrackTds )->getFErrorK();
649 HepVector h_fhelix_p = ( *mdcKalTrackTds )->getFHelixP();
650 HepSymMatrix h_ferror_p = ( *mdcKalTrackTds )->getFErrorP();
652 HepVector h_lhelix = ( *mdcKalTrackTds )->getLHelix();
653 HepSymMatrix h_lerror = ( *mdcKalTrackTds )->getLError();
654 HepVector h_lhelix_e = ( *mdcKalTrackTds )->getLHelixE();
655 HepSymMatrix h_lerror_e = ( *mdcKalTrackTds )->getLErrorE();
656 HepVector h_lhelix_mu = ( *mdcKalTrackTds )->getLHelixMu();
657 HepSymMatrix h_lerror_mu = ( *mdcKalTrackTds )->getLErrorMu();
658 HepVector h_lhelix_k = ( *mdcKalTrackTds )->getLHelixK();
659 HepSymMatrix h_lerror_k = ( *mdcKalTrackTds )->getLErrorK();
660 HepVector h_lhelix_p = ( *mdcKalTrackTds )->getLHelixP();
661 HepSymMatrix h_lerror_p = ( *mdcKalTrackTds )->getLErrorP();
666 mdcKalTrackRoot->
setTof( tof );
672 for (
int s = 0;
s < 3;
s++ )
674 poca_e[
s] = h_poca_e[
s];
675 poca_mu[
s] = h_poca_mu[
s];
677 poca_k[
s] = h_poca_k[
s];
678 poca_p[
s] = h_poca_p[
s];
679 lpoint_e[
s] = h_lpoint_e[
s];
680 lpoint_mu[
s] = h_lpoint_mu[
s];
681 lpoint[
s] = h_lpoint[
s];
682 lpoint_k[
s] = h_lpoint_k[
s];
683 lpoint_p[
s] = h_lpoint_p[
s];
684 lpivot_e[
s] = h_lpivot_e[
s];
685 lpivot_mu[
s] = h_lpivot_mu[
s];
686 lpivot[
s] = h_lpivot[
s];
687 lpivot_k[
s] = h_lpivot_k[
s];
688 lpivot_p[
s] = h_lpivot_p[
s];
691 for (
int i = 0; i < 5; i++ )
693 zhelix[i] = h_zhelix[i];
694 zhelix_e[i] = h_zhelix_e[i];
695 zhelix_mu[i] = h_zhelix_mu[i];
696 zhelix_p[i] = h_zhelix_p[i];
697 zhelix_k[i] = h_zhelix_k[i];
699 fhelix[i] = h_fhelix[i];
700 fhelix_e[i] = h_fhelix_e[i];
701 fhelix_mu[i] = h_fhelix_mu[i];
702 fhelix_p[i] = h_fhelix_p[i];
703 fhelix_k[i] = h_fhelix_k[i];
705 lhelix[i] = h_lhelix[i];
706 lhelix_e[i] = h_lhelix_e[i];
707 lhelix_mu[i] = h_lhelix_mu[i];
708 lhelix_p[i] = h_lhelix_p[i];
709 lhelix_k[i] = h_lhelix_k[i];
711 for (
int j = 0; j <= i; j++ )
713 zerror[i][j] = h_zerror[i][j];
714 zerror_e[i][j] = h_zerror_e[i][j];
715 zerror_mu[i][j] = h_zerror_mu[i][j];
716 zerror_p[i][j] = h_zerror_p[i][j];
717 zerror_k[i][j] = h_zerror_k[i][j];
719 ferror[i][j] = h_ferror[i][j];
720 ferror_e[i][j] = h_ferror_e[i][j];
721 ferror_mu[i][j] = h_ferror_mu[i][j];
722 ferror_p[i][j] = h_ferror_p[i][j];
723 ferror_k[i][j] = h_ferror_k[i][j];
725 lerror[i][j] = h_lerror[i][j];
726 lerror_e[i][j] = h_lerror_e[i][j];
727 lerror_mu[i][j] = h_lerror_mu[i][j];
728 lerror_p[i][j] = h_lerror_p[i][j];
729 lerror_k[i][j] = h_lerror_k[i][j];
731 zerror[j][i] = h_zerror[i][j];
732 zerror_e[j][i] = h_zerror_e[i][j];
733 zerror_mu[j][i] = h_zerror_mu[i][j];
734 zerror_p[j][i] = h_zerror_p[i][j];
735 zerror_k[j][i] = h_zerror_k[i][j];
737 ferror[j][i] = h_ferror[i][j];
738 ferror_e[j][i] = h_ferror_e[i][j];
739 ferror_mu[j][i] = h_ferror_mu[i][j];
740 ferror_p[j][i] = h_ferror_p[i][j];
741 ferror_k[j][i] = h_ferror_k[i][j];
743 lerror[j][i] = h_lerror[i][j];
744 lerror_e[j][i] = h_lerror_e[i][j];
745 lerror_mu[j][i] = h_lerror_mu[i][j];
746 lerror_p[j][i] = h_lerror_p[i][j];
747 lerror_k[j][i] = h_lerror_k[i][j];
753 for (
int k = 0; k < 5; k++ )
755 log << MSG::INFO <<
" RecMdcKalTrackRoot.ZHelix "
756 <<
"[" << k <<
"]" << mdcKalTrackRoot->
getZHelix( k ) << endmsg;
791 mdcKalTrackRoot->
setPocaE( poca_e );
793 mdcKalTrackRoot->
setPoca( poca );
794 mdcKalTrackRoot->
setPocaK( poca_k );
795 mdcKalTrackRoot->
setPocaP( poca_p );
814 return StatusCode::SUCCESS;