/* *===================================================== * * CBM Level 1 Reconstruction * * Authors: I.Kisel, S.Gorbunov * * e-mail : ikisel@kip.uni-heidelberg.de * *===================================================== * * Ideal track finder * */ #include "CbmL1.h" void CbmL1::MCTrackFinder() { vRTracks.clear(); for ( vector::iterator i= vMCTracks.begin(); i!=vMCTracks.end(); ++i) { if( i->iPileUp ) continue; CbmL1Track tmp; vRTracks.push_back(tmp); CbmL1Track &T = vRTracks.back(); T.mass = 0.1395679; T.is_electron = 0; T.mass = i->mass; T.is_electron = ( abs(i->pdg)==11 ); T.TLast[0] = T.T[0] = i->T[0]; T.TLast[1] = T.T[1] = i->T[1]; T.TLast[2] = T.T[2] = i->T[2]; T.TLast[3] = T.T[3] = i->T[3]; T.TLast[4] = T.T[4] = 0;//i->T[4]; T.TLast[5] = T.T[5] = i->T[5]; T.isec = 0; bool used_st[NStation]; for(int j=0; j::iterator im = vStsHits.begin(); im!=vStsHits.end();im++) { if( im->MC_Point>=0 && vMCPoints[im->MC_Point].UID==i->UID ) { if( used_st[im->iStation] ){ T.StsHits.clear(); break; } T.StsHits.push_back(&*im); used_st[im->iStation] = 1; } } for( vector::iterator it = vTrdHits.begin(); it!=vTrdHits.end();it++) { //if( it->MC_Point>=0 && vMCPoints[it->MC_Point].ID==i->ID ) T.TrdHits.push_back(&*it); } if( T.StsHits.size() <3 ) vRTracks.pop_back(); } }