]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/trd_tracks.C
In muon-related macros in EVE:
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_tracks.C
CommitLineData
9fb2a3ed 1#ifndef __CINT__
2#include <TGLViewer.h>
3#include <TEveManager.h>
4#include <EveBase/AliEveEventManager.h>
289cb8a4 5#include "TRD/AliTRDarrayADC.h"
9fb2a3ed 6#include <EveDet/AliEveTRDTrackList.h>
7
8#include "AliESDEvent.h"
9#include "AliESDfriend.h"
10#include "TRD/AliTRDReconstructor.h"
11#include "TRD/AliTRDtrackV1.h"
12#endif
13
db16b708 14void trd_tracks(TEveElement *cont = 0)
15{
db16b708 16 // Link data containers
17 AliESDfriend *eventESDfriend = 0x0;
18 if(!(eventESDfriend = AliEveEventManager::AssertESDfriend())){
19 Warning("trd_tracks", "AliESDfriend not found");
9fb2a3ed 20 return;
db16b708 21 }
22
23 AliESDEvent* esd = AliEveEventManager::AssertESD();
24
25 AliEveEventManager::AssertGeometry();
26
93ad0d1c 27 AliTRDrecoParam *trdRecoParam = AliTRDrecoParam::GetLowFluxParam();
28 trdRecoParam->SetPIDNeuralNetwork();
db16b708 29 AliTRDReconstructor *reco = new AliTRDReconstructor();
93ad0d1c 30 reco->SetRecoParam(trdRecoParam);
db16b708 31
32 AliEveTRDTrackList *tracks = new AliEveTRDTrackList("TRD Tracks");
33 for (Int_t n=0; n<esd->GetNumberOfTracks(); n++){
34 AliESDtrack* esdTrack = esd->GetTrack(n);
35 AliESDfriendTrack *friendTrack = eventESDfriend->GetTrack(n);
68ca2fe7 36
db16b708 37 TObject *cal = 0x0;
38 Int_t ical = 0;
b631c5f2 39 while((cal = friendTrack->GetCalibObject(ical++))){
db16b708 40 if(strcmp(cal->IsA()->GetName(), "AliTRDtrackV1") != 0) continue;
41 AliTRDtrackV1 *trackObj = dynamic_cast<AliTRDtrackV1 *>(cal);
42 trackObj->SetReconstructor(reco);
43 AliEveTRDTrack *trackEve = new AliEveTRDTrack(trackObj);
44 tracks->AddElement(trackEve);
45 trackEve->SetESDstatus(esdTrack->GetStatus());
57d55fae 46 trackEve->SetName(Form("[%4d] %s", n, trackEve->GetName()));
db16b708 47 }
48 }
9fb2a3ed 49
50 delete reco;
68ca2fe7 51
db16b708 52 tracks->SetTitle(Form("Tracks %d", tracks->NumChildren()));
53 tracks->StampObjProps();
54 gEve->AddElement(tracks, cont);
68ca2fe7 55
db16b708 56 gEve->Redraw3D();
57
44c97b40 58 // TGLViewer *v = gEve->GetDefaultGLViewer();
59 // v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
60 // ((TGLOrthoCamera&)v->CurrentCamera()).SetEnableRotate(kTRUE);
61 // v->UpdateScene();
68ca2fe7 62
db16b708 63 return;
64}