]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/trd_friend_tracks.C
Merge of EVE-dev branch.
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_friend_tracks.C
CommitLineData
66c3c96b 1TEveElementList* trd_friend_tracks(TEveElement *cont = 0)
af13c843 2{
66c3c96b 3
4 // Link data containers
5 AliESDfriend *eventESDfriend = 0x0;
6 if(!(eventESDfriend = AliEveEventManager::AssertESDfriend())){
7 Warning("trd_friend_tracks", "AliESDfriend not found");
8 return 0x0;
af13c843 9 }
66c3c96b 10
af13c843 11 AliESDEvent* esd = AliEveEventManager::AssertESD();
66c3c96b 12
af13c843 13 AliEveEventManager::AssertGeometry();
af13c843 14
a4197d2e 15 AliTRDReconstructor::SetRecoParam(AliTRDrecoParam::GetLowFluxParam());
af13c843 16
66c3c96b 17 TEveElementList *tracks = new TEveElementList("TRD Tracks");
a4197d2e 18 for (Int_t n=0; n<esd->GetNumberOfTracks(); n++){
66c3c96b 19 AliESDtrack* esdTrack = esd->GetTrack(n);
af13c843 20 AliESDfriendTrack *friendTrack = eventESDfriend->GetTrack(n);
66c3c96b 21
af13c843 22 TObject *cal = 0x0;
23 Int_t ical = 0;
66c3c96b 24 while(cal = friendTrack->GetCalibObject(ical++)){
25 if(strcmp(cal->IsA()->GetName(), "AliTRDtrackV1") != 0) continue;
26 AliTRDtrackV1 *trackObj = dynamic_cast<AliTRDtrackV1 *>(cal);
27
a4197d2e 28 tracks->AddElement(new AliEveTRDTrack(trackObj));
66c3c96b 29 }
30 }
31
fbc350a3 32 tracks->SetTitle(Form("Tracks %d", tracks->NumChildren()));
a4197d2e 33 tracks->SetStamp(TEveElement::kCBObjProps);
34
66c3c96b 35 gEve->AddElement(tracks, cont);
af13c843 36
af13c843 37 gEve->Redraw3D();
66c3c96b 38
39 return tracks;
af13c843 40}