]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/alice-macros/trd_tracks.C
changes for Vertex and Tracks classes
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_tracks.C
index d3d15c9eb923d423b529899f7e6430c3d4c07dba..2be2e60af898b81e9acbdf34e9cf05954681499b 100644 (file)
@@ -1,46 +1,50 @@
-#ifndef __CINT__
+#if !defined(__CINT__) || defined(__MAKECINT__)
 #include <TGLViewer.h>
 #include <TEveManager.h>
-#include <EveBase/AliEveEventManager.h>
-#include "TRD/AliTRDdataArrayI.h"
-#include "TRD/AliTRDarrayADC.h"
-#include <EveDet/AliEveTRDTrackList.h>
 
-#include "AliESDEvent.h"
-#include "AliESDfriend.h"
-#include "TRD/AliTRDReconstructor.h"
-#include "TRD/AliTRDtrackV1.h"
+#include <AliESDEvent.h>
+#include <AliESDfriend.h>
+#include <AliTRDarrayADC.h>
+#include <AliTRDReconstructor.h>
+#include <AliTRDtrackV1.h>
+#include <AliEveEventManager.h>
+#include <AliEveTRDTrackList.h>
 #endif
 
 void trd_tracks(TEveElement *cont = 0)
 {
   // Link data containers
-  AliESDfriend *eventESDfriend = 0x0;
-  if(!(eventESDfriend = AliEveEventManager::AssertESDfriend())){
-    Warning("trd_tracks", "AliESDfriend not found");
+  AliESDEvent* esd(AliEveEventManager::AssertESD());
+  AliESDfriend *esdFriend(AliEveEventManager::AssertESDfriend());
+  if(!esd || !esdFriend){
+    Warning("trd_tracks", "Full ESD data missing.");
     return;
   }
 
-  AliESDEvent* esd = AliEveEventManager::AssertESD();
-
-  AliEveEventManager::AssertGeometry();
-
+/*  AliEveEventManager::AssertGeometry();
+  AliRunLoader *rl = AliEveEventManager::AssertRunLoader();
+*/
+  AliTRDrecoParam *trdRecoParam = AliTRDrecoParam::GetLowFluxParam();
+  trdRecoParam->SetPIDNeuralNetwork();
   AliTRDReconstructor *reco = new AliTRDReconstructor();
-  reco->SetRecoParam(AliTRDrecoParam::GetLowFluxParam());
-  reco->SetOption("!nn");
+  reco->SetRecoParam(trdRecoParam);
 
   AliEveTRDTrackList *tracks = new AliEveTRDTrackList("TRD Tracks");
   for (Int_t n=0; n<esd->GetNumberOfTracks(); n++){
-    AliESDtrack* esdTrack = esd->GetTrack(n);
-    AliESDfriendTrack *friendTrack = eventESDfriend->GetTrack(n);
+    AliESDtrack* esdTrack(esd->GetTrack(n));
+    if(!esdTrack) continue;
+    AliESDfriendTrack *friendTrack = new AliESDfriendTrack(*(esdTrack->GetFriendTrack()));
+    if(!friendTrack) continue;
+    //Info("trd_tracks", Form("Track[%3d] esd[%p] friend[%p]", n, (void*)esdTrack, (void*)friendTrack));
 
-    TObject *cal = 0x0;
-    Int_t ical = 0;
+    TObject *cal(NULL);
+    Int_t ical(0);
     while((cal = friendTrack->GetCalibObject(ical++))){
+      //Info("trd_tracks", Form("  Obj[%d] %s", ical-1, cal->IsA()->GetName()));
       if(strcmp(cal->IsA()->GetName(), "AliTRDtrackV1") != 0) continue;
       AliTRDtrackV1 *trackObj = dynamic_cast<AliTRDtrackV1 *>(cal);
       trackObj->SetReconstructor(reco);
-      AliEveTRDTrack *trackEve = new AliEveTRDTrack(trackObj);
+      AliEveTRDTrack *trackEve = new AliEveTRDTrack(new AliTRDtrackV1(*trackObj));
       tracks->AddElement(trackEve);
       trackEve->SetESDstatus(esdTrack->GetStatus());
       trackEve->SetName(Form("[%4d] %s", n, trackEve->GetName()));
@@ -55,10 +59,10 @@ void trd_tracks(TEveElement *cont = 0)
 
   gEve->Redraw3D();
 
-  TGLViewer *v = gEve->GetDefaultGLViewer();
-  v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
-  ((TGLOrthoCamera&)v->CurrentCamera()).SetEnableRotate(kTRUE);
-  v->UpdateScene();
+  //  TGLViewer *v = gEve->GetDefaultGLViewer();
+  //  v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
+  //  ((TGLOrthoCamera&)v->CurrentCamera()).SetEnableRotate(kTRUE);
+  //  v->UpdateScene();
 
   return;
 }