692d8ce7de48457f0b140382d24f12122a56b41a
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_qaRec.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include <TBranch.h>
3 #include <TFile.h>
4 #include <TSystem.h>
5 #include <TTree.h>
6 #include <TROOT.h>
7 #include <TEveManager.h>
8
9 #include <AliCDBManager.h>
10 #include <AliTRDarrayADC.h>
11 #include <AliTRDReconstructor.h>
12 #include <AliTRDrecoParam.h>
13 #include <AliTRDtrackV1.h>
14 #include <PWGPP/TRD/info/AliTRDtrackInfo.h>
15 #include <AliEveEventManager.h>
16 #include <AliEveTRDTrackList.h>
17 #include <AliEveTRDData.h>
18 #endif
19
20 void trd_qaRec()
21 {
22   gSystem->Load("libANALYSIS.so");
23   gSystem->Load("libTRDqaRec.so");
24
25   if(!TFile::Open("TRD.DebugInfoGen.root")){
26     printf("No debug file for InfoGen task.\n");
27     return;
28   }
29   TTree *t = (TTree*)gFile->Get("trackInfo");
30   AliTRDtrackInfo *fTrackInfo = 0x0;
31   t->SetBranchAddress("TrackInfo.", &fTrackInfo);
32   gROOT->cd();
33
34   AliCDBManager *cdb = AliCDBManager::Instance();
35   cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
36   cdb->SetRun(0);
37   AliEveEventManager::AssertGeometry();
38   AliEveEventManager::AssertMagField();
39
40   AliTRDReconstructor *reco = new AliTRDReconstructor();
41   reco->SetRecoParam(AliTRDrecoParam::GetLowFluxParam());
42
43   AliEveTRDTrackList *tracks = new AliEveTRDTrackList("TRD QA Tracks");
44
45
46
47   AliTRDtrackV1 *fTrack = 0x0, *track = 0x0;
48   for (Int_t it=0; it<t->GetEntries(); it++){
49     if(!t->GetEntry(it)) continue;
50     if(!fTrackInfo) continue;
51     if(!(fTrack = fTrackInfo->GetTrack())) continue;
52     
53     track = new AliTRDtrackV1(*fTrack);
54     track->SetOwner();
55     track->SetReconstructor(reco);
56     tracks->AddElement(new AliEveTRDTrack(track));
57     printf("Trk[%3d] ESD[%d] Ncls[%d]\n", it, fTrackInfo->GetESDinfo()->GetId(), fTrack->GetNumberOfClusters());
58     if(it>= 100) break;
59   }
60   gEve->AddElement(tracks);
61   gEve->Redraw3D();
62 }