]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCDigitDisplay.C
New macro "MUONreco.C" for using the event reconstruction package in C++
[u/mrichter/AliRoot.git] / TPC / AliTPCDigitDisplay.C
CommitLineData
cc80f89e 1void AliTPCDigitDisplay(int sec, int row, int lab=-1,
2 int max_t_chan=500, float min_t=0., float max_t=500.,
3 int max_p_chan=150, float min_p=0., float max_p=150.)
4{
5// Dynamically link some shared libs
6 if (gClassTable->GetID("AliRun") < 0) {
7 gROOT->LoadMacro("loadlibs.C");
8 loadlibs();
9 }
10
11// Connect the Root Galice file containing Geometry, Kine and Hits
12 TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
13 if (f) f->Close();
14 //f = new TFile("galice.root");
15 f = TFile::Open("rfio:galice.root");
16
17 AliTPCParam *par=(AliTPCParam *)f.Get("75x40_100x60");
18
19 char s[80];
20 sprintf(s,"Sector %d Row %d\n",sec,row);
21 TH2F *h = new TH2F("h",s,max_t_chan,min_t,max_t,max_p_chan,min_p,max_p);
22
23 TTree *t=(TTree*)f.Get("TreeD_75x40_100x60");
24 AliSimDigits dummy, *digit=&dummy;
25 t->GetBranch("Segment")->SetAddress(&digit);
26 for (int i=0; i<t->GetEntries(); i++) {
27 t->GetEvent(i);
28 int ss,rr;
29 par->AdjustSectorRow(digit->GetID(),ss,rr);
30 if (ss==sec && rr==row) goto ok;
31 }
32 return;
33
34ok:
35 int imax=0, jmax=0, qmax=0;
36 digit->First();
37 do {
38 Short_t dig=digit->CurrentDigit();
39 int i=digit->CurrentRow(), j=digit->CurrentColumn();
40 if (lab >= 0) {
41 int lab0=digit->GetTrackID(i,j,0);
42 int lab1=digit->GetTrackID(i,j,1);
43 int lab2=digit->GetTrackID(i,j,2);
44 if (lab0!=lab) if (lab1!=lab) if (lab2!=lab) continue;
45 if (dig>qmax) {imax=i; jmax=j; qmax=dig;}
46 cerr<<lab0<<' '<<lab1<<' '<<lab2<<endl;
47 }
48 h->Fill(i,j,dig);
49 } while (digit->Next());
50 if (qmax>0) {cerr<<"Peak (time,pad,q) : "<<imax<<' '<<jmax<<' '<<qmax<<endl;}
51
52 h->SetMaximum(100);
53 gStyle->SetOptStat(0);
54 TCanvas *c1=new TCanvas("c1","TPC digits display",0,0,1110,680);
55 TPad *p1=new TPad("p1","",0,0,1,0.5);
56 p1->Draw();
57 TPad *p2=new TPad("p2","",0,0.5,1,1);
58 p2->Draw();
59 p2->cd();
60 h->Draw("lego");
61 p1->cd();
62 h->Draw("colz");
63}
64