]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCTestClustering.C
New version from M.Kowalski
[u/mrichter/AliRoot.git] / TPC / AliTPCTestClustering.C
CommitLineData
8c555625 1void AliTPCTestClustering() {
2 const char *pname="Param1";
3 const char *tname="TreeD0_Param1";
4
5// Dynamically link some shared libs
6 if (gClassTable->GetID("AliRun") < 0) {
7 gROOT->LoadMacro("loadlibs.C");
8 loadlibs();
9 } else {
10 delete gAlice;
11 gAlice=0;
12 }
13
14// Connect the Root Galice file containing Geometry, Kine and Hits
15 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
16 if (!file) file = new TFile("galice.root");
17
18// Get AliRun object from file or create it if not on file
19 if (!gAlice) {
20 gAlice = (AliRun*)file->Get("gAlice");
21 if (gAlice) printf("AliRun object found on file\n");
22 if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
23 }
24
25 gAlice->GetEvent(0);
26
27 AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC");
28 int ver=TPC->IsVersion();
29 cerr<<"TPC version "<<ver<<" has been found !\n";
30
31 AliTPCD *dig=(AliTPCD*)file->Get(pname);
32 if (dig!=0) TPC->SetDigParam(dig);
33 else cerr<<"Warning: default TPC parameters will be used !\n";
34
35 switch (ver) {
36 case 1:
37 cerr<<"Making clusters...\n";
38 TPC->Hits2Clusters();
39 break;
40 case 2:
41 cerr<<"Looking for clusters...\n";
42 TPC->Digits2Clusters();
43 break;
44 default:
45 cerr<<"Invalid TPC version !\n";
46 return;
47 }
48 TClonesArray *c=TPC->Clusters();
49 int n=c->GetEntriesFast();
50 cerr<<"Number of clusters "<<n<<" \n";
51
52 AliTPCParam *par=&TPC->GetDigParam()->GetParam();
53 Float_t x[3];
54 TPolyMarker3D *pm=new TPolyMarker3D(n);
55 for (int i=0; i<n; i++) {
56 AliTPCcluster *cl=(AliTPCcluster *)c->UncheckedAt(i);
57 cl->GetXYZ(x,par);
58 Double_t xx=x[0], yy=x[1], zz=x[2];
59 pm->SetPoint(i,xx,yy,zz);
60 }
61
3c0f9266 62 c1=new TCanvas("c1", "Cluster display",0,0,700,730);
8c555625 63 TView *v=new TView(1);
64 v->SetRange(-430,-560,-430,430,560,1710);
65
66 c1->Clear();
67 c1->SetFillColor(1);
68 c1->SetTheta(90.);
69 c1->SetPhi(0.);
70
71 pm->SetMarkerSize(1);
72 pm->SetMarkerColor(2);
73 pm->SetMarkerStyle(1);
74 pm->Draw();
75
76 gAlice->GetGeometry()->Draw("same");
77}