]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/UPGRADE/readDigits.C
Added version tailored for pp (AliTrackletTaskMultipp) with additional
[u/mrichter/AliRoot.git] / ITS / UPGRADE / readDigits.C
CommitLineData
387f1a9e 1void readDigits(){
2
3 gSystem->Load("libITSUpgradeBase");
4 gSystem->Load("libITSUpgradeSim");
5 gROOT->SetStyle("Plain");
6
7 const Int_t nLayers = 6;
8 Int_t nbins=100;
9 Int_t xmin=0;
10 Int_t xmax=50000;//00*1e-09;
11
12
13 TH1D *hNelSDig[nLayers], *hNelDig[nLayers];
14 for(Int_t i=0; i< nLayers; i++ ) {
15 hNelSDig[i] = new TH1D(Form("hNelSDig%i",i),Form("electron distribution in SDigits [ Layer %i] ",i),nbins,xmin,xmax);
16 hNelSDig[i]->SetXTitle("N electrons");
17 hNelDig[i] = new TH1D(Form("hNelDig%i",i),Form("electron distribution in Digits [ Layer %i] ",i),nbins,xmin,xmax);
18 hNelDig[i]->SetXTitle("N electrons");
19 }
20
21 const Int_t layers = 6;
22
23 gAlice=NULL;
24 AliRunLoader* runLoader = AliRunLoader::Open("galice.root");
25 runLoader->LoadgAlice();
26
27 gAlice = runLoader->GetAliRun();
28
29 runLoader->LoadHeader();
30 runLoader->LoadKinematics();
31 runLoader->LoadSDigits();
32 runLoader->LoadDigits();
33
34 AliLoader *dl = runLoader->GetDetectorLoader("ITS");
35
36
37 //SDIGITS INIT
38 TTree * sDigTree = 0x0;
39 TObjArray *sDigList= new TObjArray(layers);
40 for(Int_t i=0; i<layers; i++) sDigList->AddAt(new TClonesArray("AliITSDigitUpgrade"),i);
41
42 //DIGITS INIT
43 TTree * digTree = 0x0;
44 TObjArray *digList= new TObjArray(layers);
45 for(Int_t i=0; i<layers; i++) digList->AddAt(new TClonesArray("AliITSDigitUpgrade"),i);
46
47 printf("N Events : %i \n",(Int_t)runLoader->GetNumberOfEvents());
48
49 for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++) {
50 printf("\n Event %i \n",iEvent);
51 runLoader->GetEvent(iEvent);
52 AliStack *s = runLoader->Stack();
53 sDigTree=dl->TreeS();
54 digTree=dl->TreeD();
55
56 for(Int_t ilayer=0; ilayer<layers; ilayer ++) {
57 digTree->SetBranchAddress(Form("Layer%d",ilayer),&(*digList)[ilayer]);
58 sDigTree->SetBranchAddress(Form("Layer%d",ilayer),&(*sDigList)[ilayer]);
59 }
60
61 // LOOPS
62
63 digTree->GetEntry(0);
64 sDigTree->GetEntry(0);
65
66 for(Int_t il=0; il<layers; il++){
67 TClonesArray *pArrDig= (TClonesArray*)digList->At(il);
68 TClonesArray *pArrSdig= (TClonesArray*)sDigList->At(il);
69 for(Int_t isdentry=0; isdentry< pArrSdig->GetEntries(); isdentry++) {
70 AliITSDigitUpgrade *pSdig = (AliITSDigitUpgrade*)pArrSdig->At(isdentry);
71 cout << " --- SDigit generated by a "<<s->Particle(pSdig->GetTrack(0))->GetName()<<"----"<<endl;
72 hNelSDig[pSdig->GetLayer()]->Fill(pSdig->GetNelectrons());
73 pSdig->PrintInfo();
74 }
75
76 for(Int_t ientry=0; ientry< pArrDig->GetEntries(); ientry++) {
77 cout << " --- Digit ---"<<endl;
78 AliITSDigitUpgrade *pDig = (AliITSDigitUpgrade*)pArrDig->At(ientry);
79 hNelDig[pDig->GetLayer()]->Fill(pDig->GetNelectrons());
80 pDig->PrintInfo();
81 }
82 }
83
84 }//event loop
85 TCanvas *cSd = new TCanvas("cSd","Summable Digits",1000,800);
86 cSd->Divide(3,2);
87 TCanvas *cD = new TCanvas("cD","Digits",1000,800);
88 cD->Divide(3,2);
89
90 for(Int_t ip =1; ip<=6; ip++){
91 cSd->cd(ip);
92 hNelSDig[ip-1]->Draw();
93 cD->cd(ip);
94 hNelDig[ip-1]->Draw();
95 }
96
97
98}