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