]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCDisplayClusters.C
Updated SDigitizer; Added AliTOFanalyzeSDigits.C macro
[u/mrichter/AliRoot.git] / TPC / AliTPCDisplayClusters.C
CommitLineData
79cec2af 1Int_t AliTPCDisplayClusters(Int_t eventn=0, Int_t noiseth=15) {
73042f01 2 cerr<<"Displaying clusters...\n";
3
afc42102 4 TFile *file=TFile::Open("galice.root");
73042f01 5 if (!file->IsOpen()) {cerr<<"Can't open galice.root !\n"; return 1;}
6
7 TFile *cf=TFile::Open("AliTPCclusters.root");
8 if (!cf->IsOpen()){cerr<<"Can't open AliTPCclusters.root !\n"; return 3;}
9
10 AliTPCParam *dig=(AliTPCParam *)cf->Get("75x40_100x60");
11 if (!dig) {cerr<<"TPC parameters have not been found !\n"; return 2;}
12
13 TCanvas *c1=new TCanvas("cdisplay", "Cluster display",0,0,700,730);
14 TView *v=new TView(1);
15 v->SetRange(-430,-560,-430,430,560,1710);
16 c1->Clear();
17 c1->SetFillColor(1);
18 c1->SetTheta(90.);
19 c1->SetPhi(0.);
20
21 AliTPCClustersArray *ca=new AliTPCClustersArray;
22 ca->Setup(dig);
23 ca->SetClusterType("AliTPCcluster");
afc42102 24 char cname[100];
25 sprintf(cname,"TreeC_TPC_%d",eventn);
26
27 ca->ConnectTree(cname);
73042f01 28 Int_t nrows=Int_t(ca->GetTree()->GetEntries());
29 for (Int_t n=0; n<nrows; n++) {
30 AliSegmentID *s=ca->LoadEntry(n);
31 Int_t sec,row;
32 dig->AdjustSectorRow(s->GetID(),sec,row);
33 AliTPCClustersRow &clrow = *ca->GetRow(sec,row);
34 Int_t ncl=clrow.GetArray()->GetEntriesFast();
35 TPolyMarker3D *pm=new TPolyMarker3D(ncl);
36 while (ncl--) {
37 AliTPCcluster *cl=(AliTPCcluster*)clrow[ncl];
38 Double_t x=dig->GetPadRowRadii(sec,row), y=cl->GetY(), z=cl->GetZ();
79cec2af 39 if (cl->GetQ()<noiseth) continue;
73042f01 40 Float_t cs, sn, tmp;
41 dig->AdjustCosSin(sec,cs,sn);
42 tmp = x*cs-y*sn; y= x*sn+y*cs; x=tmp;
43 pm->SetPoint(ncl,x,y,z);
44 }
45 ca->ClearRow(sec,row);
46 pm->SetMarkerSize(1); pm->SetMarkerColor(2); pm->SetMarkerStyle(1);
47 pm->Draw();
48 }
49 delete ca;
50 cf->Close();
51
52 TGeometry *geom=(TGeometry*)file->Get("AliceGeom");
79cec2af 53 TList *list = geom->GetListOfNodes();
54 TNode * main = (geom->GetListOfNodes())->First();
55 TIter next(main->GetListOfNodes());
56 TNode *module=0;
57 while((module = (TNode*)next())) {
58 char ch[100];
59 sprintf(ch,"%s\n",module->GetTitle());
60 //printf("%s\n",module->GetTitle());
61 if (ch[0]=='T'&&ch[1]=='P' && ch[2]=='C') //if TPC draw
62 module->SetVisibility(3);
63 else
64 module->SetVisibility(-1);
65 }
66
67
73042f01 68 geom->Draw("same");
79cec2af 69 //v->Draw();
73042f01 70 c1->Modified(); c1->Update();
71
72 file->Close();
73 return 0;
74}
79cec2af 75