124 StatusCode
sc = StatusCode::SUCCESS;
128 if(
sc.isFailure() || !vtxTES ) {
130 return StatusCode::SUCCESS;
140 if(
sc.isFailure() || !tpbTES ) {
142 return StatusCode::SUCCESS;
144 ATH_MSG_DEBUG(
"TrackParticleCandidate Collection successfully retrieved");
148 if(
sc.isFailure() || !trkTES ) {
150 return StatusCode::SUCCESS;
152 ATH_MSG_DEBUG(
"TrackParticleCandidate Collection successfully retrieved");
155 std::map<std::string,TrackCollection*> trackmap;
156 std::map<std::string,Trk::TrackParticleBaseCollection*> tpbmap;
162 trackmap[thisKey] = tempTracks;
172 tpbmap[thisKey] = tempTpbs;
174 (
evtStore()->retrieve(tpbmap[thisKey],thisKey)).isSuccess()){
184 bool trackmatched =
false;
193 std::stringstream sss;
194 std::string oeNameString;
195 oeNameString.reserve(20);
199 const std::vector<Trk::VxTrackAtVertex*> & vertexTracks = *vtx->vxTrackAtVertex();
200 ATH_MSG_DEBUG(
"parent vertex has "<<vertexTracks.size()<<
" tracks, at position: "<<vtx->recVertex().position().x());
201 std::vector<Trk::VxTrackAtVertex*>::const_iterator tavI = vertexTracks.begin();
202 std::vector<Trk::VxTrackAtVertex*>::const_iterator tavIe= vertexTracks.end();
203 for (; tavI != tavIe; ++tavI){
205 if (trkPerigee == vxTrkPerigee) {trackmatched =
true;}
210 oeNameString.clear();
215 std::string oecontainerName = sss.str();
216 std::string allNameString =
"all";
219 std::string allcontainerName = sss.str();
220 ATH_MSG_DEBUG(
"found an unmatched trackparticlebase, giving it the key: "<< oecontainerName);
221 tpbmap[oecontainerName]->push_back(trkCopy1);
222 ATH_MSG_DEBUG(
"found an unmatched trackparticlebase, giving it the key: "<< allcontainerName);
223 tpbmap[allcontainerName]->push_back(trkCopy2);
229 oeNameString.clear();
234 std::string oecontainerName = sss.str();
235 std::string allNameString =
"all";
238 std::string allcontainerName = sss.str();
239 ATH_MSG_DEBUG(
"found a matched trackparticlebase, giving it the key: "<< oecontainerName);
240 tpbmap[oecontainerName]->push_back(trkCopy1);
241 ATH_MSG_DEBUG(
"found a matched trackparticlebase, giving it the key: "<< allcontainerName);
242 tpbmap[allcontainerName]->push_back(trkCopy2);
255 for (; trkItr != trkItrE; ++trkItr){
256 const Trk::Perigee* trkPerigee = (*trkItr)->perigeeParameters();
257 bool trackmatched =
false;
269 std::stringstream sss;
270 std::string oeNameString;
271 oeNameString.reserve(20);
272 for (; vtxItr != vtxItrE; ++vtxItr){
275 const std::vector<Trk::VxTrackAtVertex*> & vertexTracks = (*(*vtxItr)->vxTrackAtVertex());
276 ATH_MSG_DEBUG(
"parent vertex has "<<vertexTracks.size()<<
" tracks, at position: "<<(*vtxItr)->recVertex().position().x());
277 std::vector<Trk::VxTrackAtVertex*>::const_iterator tavI = vertexTracks.begin();
278 std::vector<Trk::VxTrackAtVertex*>::const_iterator tavIe= vertexTracks.end();
279 for (; tavI != tavIe; ++tavI){
281 if (trkPerigee == vxTrkPerigee) {trackmatched =
true;}
286 oeNameString.clear();
291 std::string oecontainerName = sss.str();
292 std::string allNameString =
"all";
295 std::string allcontainerName = sss.str();
296 ATH_MSG_DEBUG(
"found an unmatched track, giving it the key: "<< oecontainerName);
297 trackmap[oecontainerName]->push_back(trkCopy1);
298 ATH_MSG_DEBUG(
"found an unmatched track, giving it the key: "<< allcontainerName);
299 trackmap[allcontainerName]->push_back(trkCopy2);
305 oeNameString.clear();
310 std::string oecontainerName = sss.str();
311 std::string allNameString =
"all";
314 std::string allcontainerName = sss.str();
315 ATH_MSG_DEBUG(
"found a matched track, giving it the key: "<< oecontainerName);
316 trackmap[oecontainerName]->push_back(trkCopy1);
317 ATH_MSG_DEBUG(
"found a matched track, giving it the key: "<< allcontainerName);
318 trackmap[allcontainerName]->push_back(trkCopy2);
329 if(
evtStore()->record(tpbmap[key],key,
false).isFailure() ){
335 if(
evtStore()->record(trackmap[key],key,
false).isFailure() ){
342 return StatusCode::SUCCESS;