]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/its_digits.C
- Compute parameter covariances including absorber dispersion effects
[u/mrichter/AliRoot.git] / EVE / alice-macros / its_digits.C
1 // $Id$
2
3 // Load ITS digits.
4 // Argument mode is a bitwise or determining which layers to import:
5 //    1,  2 : SPD
6 //    4,  8 : SDD
7 //   16, 32 : SSD
8 // By default import all layers.
9
10 void its_digits(Int_t mode=63)
11 {
12   AliRunLoader* rl =  Alieve::Event::AssertRunLoader();
13   rl->LoadDigits("ITS");
14   TTree* dt = rl->GetTreeD("ITS", false);
15
16   Alieve::ITSDigitsInfo* di = new Alieve::ITSDigitsInfo();
17   di->SetTree(dt);
18   di->Dump();
19   // Could initialize ITSModule statics (?)
20
21   AliITSgeom* g = di->fGeom;
22
23   gStyle->SetPalette(1, 0);
24   // Initialize palettes (?)
25
26   gReve->DisableRedraw();
27
28   TString sSector;
29   TString bsSector="Sector";
30   TString sStave;
31   TString bsStave="Stave";
32   TString sLadder;
33   TString bsLadder="Ladder";
34
35   Int_t i=0;
36   Int_t nsec, nstave, nlad, nMod;
37
38   if (mode & 1) {
39     Reve::RenderElementList* l = new Reve::RenderElementList("SPD0");
40     l->SetTitle("SPDs' first layer");
41     l->SetMainColor((Color_t)2);
42     gReve->AddRenderElement(l);
43     for(nsec=0; nsec<10; nsec++) {
44       sSector  = bsSector;
45       sSector += nsec;
46       Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
47       relSector->SetMainColor((Color_t)2);
48       gReve->AddRenderElement(relSector, l);
49       for(nstave=0; nstave<2; nstave++){
50         sStave  = bsStave;
51         sStave += nstave;
52         Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
53         relStave->SetMainColor((Color_t)2);
54         gReve->AddRenderElement(relStave, relSector);
55         for(nMod=0; nMod<4; nMod++) {
56           Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
57           gReve->AddRenderElement(m, relStave);
58         }
59       }
60     }
61   } else {
62     i += 10*2*4;
63   }
64
65   if (mode & 2) {
66     Reve::RenderElementList* l = new Reve::RenderElementList("SPD1");
67     l->SetTitle("SPDs' second layer");
68     l->SetMainColor((Color_t)2);
69     gReve->AddRenderElement(l);
70
71     for(nsec=0; nsec<10; nsec++) {
72       sSector  = bsSector;
73       sSector += nsec;
74       Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
75       relSector->SetMainColor((Color_t)2);
76       gReve->AddRenderElement(relSector, l);
77       for(nstave=0; nstave<4; nstave++){
78         sStave  = bsStave;
79         sStave += nstave;
80         Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
81         relStave->SetMainColor((Color_t)2);
82         gReve->AddRenderElement(relStave, relSector);
83         for(nMod=0; nMod<4; nMod++) {
84           Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
85           gReve->AddRenderElement(m, relStave);
86         }
87       }
88     }
89   } else {
90     i += 10*4*4;
91   }
92
93   if (mode & 4) {
94     Reve::RenderElementList* l = new Reve::RenderElementList("SDD2");
95     l->SetTitle("SDDs' first layer");
96     l->SetMainColor((Color_t)3);
97     gReve->AddRenderElement(l);
98
99     for(nlad=0; nlad<14; nlad++) {
100       sLadder  = bsLadder;
101       sLadder += nlad;
102       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
103       relLadder->SetMainColor((Color_t)3);
104       gReve->AddRenderElement(relLadder, l);
105       for(nMod=0; nMod<6; nMod++) {
106         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
107         gReve->AddRenderElement(m, relLadder);
108       }
109     }
110   } else {
111     i += 14*6;
112   }
113
114   if (mode & 8) {
115     Reve::RenderElementList* l = new Reve::RenderElementList("SDD3");
116     l->SetTitle("SDDs' second layer");
117     l->SetMainColor((Color_t)3);
118     gReve->AddRenderElement(l);
119     for(nlad=0; nlad<22; nlad++) {
120       sLadder  = bsLadder;
121       sLadder += nlad;
122       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
123       relLadder->SetMainColor((Color_t)3);
124       gReve->AddRenderElement(relLadder, l);
125       for(nMod=0; nMod<8; nMod++) {
126         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
127         gReve->AddRenderElement(m, relLadder);
128       }
129     }
130   } else {
131     i += 22*8;
132   }
133
134   if (mode & 16) {
135     Reve::RenderElementList* l = new Reve::RenderElementList("SSD4");
136     l->SetTitle("SSDs' first layer");
137     l->SetMainColor((Color_t)4);
138     gReve->AddRenderElement(l);
139     for(nlad=0; nlad<34; nlad++) {
140       sLadder  = bsLadder;
141       sLadder += nlad;
142       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
143       relLadder->SetMainColor((Color_t)4);
144       gReve->AddRenderElement(relLadder, l);
145       for(nMod=0; nMod<22; nMod++) {
146         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
147         gReve->AddRenderElement(m, relLadder);
148       }
149     }
150   } else {
151     i += 34*22;
152   }
153
154   if (mode & 32) {
155     Reve::RenderElementList* l = new Reve::RenderElementList("SSD5");
156     l->SetTitle("SSDs' second layer");
157     l->SetMainColor((Color_t)4);
158     gReve->AddRenderElement(l);
159     for(nlad=0; nlad<38; nlad++) {
160       sLadder  = bsLadder;
161       sLadder += nlad;
162       Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
163       relLadder->SetMainColor((Color_t)4);
164       gReve->AddRenderElement(relLadder, l);
165       for(nMod=0; nMod<25; nMod++) {
166         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
167         gReve->AddRenderElement(m, relLadder);
168       }
169     }
170   } else {
171     i += 38*25;
172   }
173
174   gReve->EnableRedraw();
175 }