]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSPrintDigits.C
New class to make V2 clusters starting from digits or hits (fast simulation). Origin...
[u/mrichter/AliRoot.git] / ITS / AliITSPrintDigits.C
CommitLineData
c108b570 1#include "iostream.h"
2#include "TFile.h"
3#include "TString.h"
4#include "TClonesArray.h"
5/*
6#include "$(ALICE_ROOT)/STEER/AliRun.h"
7#include "$(ALICE_ROOT)/ITS/AliITS.h"
8#include "$(ALICE_ROOT)/ITS/AliITSgeom.h"
9#include "$(ALICE_ROOT)/ITS/AliITSdigit.h"
10*/
11void AliITSPrintDigits(TString rfn="galice.root",Int_t mod=-1,
12 Int_t evnt=-1){
13 // Macro to print out the recpoints for all or a specific module
14
15 // Dynamically link some shared libs
16 if (gClassTable->GetID("AliRun") < 0) {
17 gROOT->LoadMacro("loadlibs.C");
18 loadlibs();
19 } // end if
20 gROOT->LoadMacro("$(ALICE_ROOT)/ITS/AliITSstandard.C");
21
22 TFile *rf=0;
23 rf = AccessFile(rfn,"R"); // Set up to read in Data
24 AliITS *ITS = (AliITS*)gAlice->GetDetector("ITS");
25 if(!ITS){
26 cout << "Error: no ITS found. Aborting"<<endl;
27 return;
28 } // end if !ITS
29
30 Int_t evNumber1 = 0;
31 Int_t evNumber2 = gAlice->GetEventsPerRun();
32 if(evnt>=0){
33 evNumber1 = evnt;
34 evNumber2 = evnt+1;
35 } // end if evnt>=0
36 Int_t mod1 = 0;
37 Int_t mod2 = ITS->GetITSgeom()->GetIndexMax();
38 if(mod>=0){
39 mod1 = mod;
40 mod2 = mode+1;
41 } // end if mod>=0
42 TClonesArray *pda = 0;
43 AliITSdigitSPD *dp0 = 0;
44 AliITSdigitSDD *dp1 = 0;
45 AliITSdigitSSD *dp2 = 0;
46
47 Int_t event,m,i,i2,id;
48 for(event = evNumber1; event < evNumber2; event++){
49 gAlice->GetEvent(event);
50 for(m=mod1;m<mod2;m++){
51 id = ITS->GetITSgeom()->GetModuleType(m);
52 dpa = ITS->DigitsAddress(id);
53 ITS->ResetDigits();
54 gAlice->TreeD()->GetEvent(m);
55 i2 = dpa->GetEntriesFast();
56 switch (id) {
57 case 0:
58 cout << "Event=" << event << " module=" << m <<
59 " Number of SPD Digits=" << i2 <<endl;
60 for(i=0;i<i2;i++){
61 dp0 = (AliITSdigitSPD*)(dpa->At(i));
62 cout << i << " ";
63 dp0->Print((ostream*)cout);
64 cout << endl;
65 } // end for i
66 break;
67 case 1:
68 cout << "Event=" << event << " module=" << m <<
69 " Number of SDD Digits=" << i2 <<endl;
70 for(i=0;i<i2;i++){
71 dp1 = (AliITSdigitSDD*)(dpa->At(i));
72 cout << i << " ";
73 dp1->Print((ostream*)cout);
74 cout << endl;
75 } // end for i
76 break;
77 case 2:
78 cout << "Event=" << event << " module=" << m <<
79 " Number of SSD Digits=" << i2 <<endl;
80 for(i=0;i<i2;i++){
81 dp2 = (AliITSdigitSSD*)(dpa->At(i));
82 cout << i << " ";
83 dp2->Print((ostream*)cout);
84 cout << endl;
85 } // end for i
86 break;
87 default:
88 break;
89 } // end switch
90 } // end for m
91 } // end for event
92}