1 void its_raw(const char *input = "rawdata.root",
4 Bool_t accumulate = kFALSE)
6 if (gSystem->AccessPathName(input, kReadPermission))
8 Error("its_raw", "file '%s' not found.", input);
12 AliRawReader *rawReader = NULL;
13 TString fileName(input);
14 if (fileName.EndsWith("/")) {
15 rawReader = new AliRawReaderFile(fileName);
16 } else if (fileName.EndsWith(".root")) {
17 rawReader = new AliRawReaderRoot(fileName);
18 } else if (!fileName.IsNull()) {
19 rawReader = new AliRawReaderDate(fileName);
20 rawReader->SelectEvents(7);
23 Alieve::ITSDigitsInfo* di = new Alieve::ITSDigitsInfo();
25 if (accumulate) AliLog::SetGlobalLogLevel(AliLog::kError);
28 if (ev % 100 == 0) printf("Event: %d\n", ev);
29 if (rawReader->NextEvent() == kFALSE)
31 Error("its_raw", "Reading event %d failed (requested event %d).", ev, event);
37 if (accumulate) di->ReadRaw(rawReader);
38 } while (++ev < event);
40 if ( ! accumulate) di->ReadRaw(rawReader);
45 // Could initialize ITSModule statics (?)
47 AliITSgeom* g = di->fGeom;
49 gStyle->SetPalette(1, 0);
50 // Initialize palettes (?)
52 gReve->DisableRedraw();
55 TString bsSector="Sector";
57 TString bsStave="Stave";
59 TString bsLadder="Ladder";
62 Int_t nsec, nstave, nlad, nMod;
65 Reve::RenderElementList* l = new Reve::RenderElementList("SPD0");
66 l->SetTitle("SPDs' first layer");
67 l->SetMainColor((Color_t)2);
68 gReve->AddRenderElement(l);
69 for(nsec=0; nsec<10; nsec++) {
72 Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
73 relSector->SetMainColor((Color_t)2);
74 gReve->AddRenderElement(l, relSector);
75 for(nstave=0; nstave<2; nstave++){
78 Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
79 relStave->SetMainColor((Color_t)2);
80 gReve->AddRenderElement(relSector, relStave);
81 for(nMod=0; nMod<4; nMod++)
83 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
85 Alieve::ITSModule* m = new Alieve::ITSModule(i, di);
86 gReve->AddRenderElement(relStave, m);
97 Reve::RenderElementList* l = new Reve::RenderElementList("SPD1");
98 l->SetTitle("SPDs' second layer");
99 l->SetMainColor((Color_t)2);
100 gReve->AddRenderElement(l);
102 for(nsec=0; nsec<10; nsec++) {
105 Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
106 relSector->SetMainColor((Color_t)2);
107 gReve->AddRenderElement(l, relSector);
108 for(nstave=0; nstave<4; nstave++){
111 Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
112 relStave->SetMainColor((Color_t)2);
113 gReve->AddRenderElement(relSector, relStave);
114 for(nMod=0; nMod<4; nMod++)
116 if (di->GetDigits(i, 0) && di->GetDigits(i, 0)->GetEntriesFast() > 0)
118 Alieve::ITSModule* m = new Alieve::ITSModule(i, di);
119 gReve->AddRenderElement(relStave, m);
130 Reve::RenderElementList* l = new Reve::RenderElementList("SDD2");
131 l->SetTitle("SDDs' first layer");
132 l->SetMainColor((Color_t)3);
133 gReve->AddRenderElement(l);
135 for(nlad=0; nlad<14; nlad++) {
138 Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
139 relLadder->SetMainColor((Color_t)3);
140 gReve->AddRenderElement(l, relLadder);
141 for(nMod=0; nMod<6; nMod++) {
142 Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
143 gReve->AddRenderElement(relLadder, m);
151 Reve::RenderElementList* l = new Reve::RenderElementList("SDD3");
152 l->SetTitle("SDDs' second layer");
153 l->SetMainColor((Color_t)3);
154 gReve->AddRenderElement(l);
155 for(nlad=0; nlad<22; nlad++) {
158 Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
159 relLadder->SetMainColor((Color_t)3);
160 gReve->AddRenderElement(l, relLadder);
161 for(nMod=0; nMod<8; nMod++) {
162 Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
163 gReve->AddRenderElement(relLadder, m);
171 Reve::RenderElementList* l = new Reve::RenderElementList("SSD4");
172 l->SetTitle("SSDs' first layer");
173 l->SetMainColor((Color_t)4);
174 gReve->AddRenderElement(l);
175 for(nlad=0; nlad<34; nlad++) {
178 Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
179 relLadder->SetMainColor((Color_t)4);
180 gReve->AddRenderElement(l, relLadder);
181 for(nMod=0; nMod<22; nMod++) {
182 Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
183 gReve->AddRenderElement(relLadder, m);
191 Reve::RenderElementList* l = new Reve::RenderElementList("SSD5");
192 l->SetTitle("SSDs' second layer");
193 l->SetMainColor((Color_t)4);
194 gReve->AddRenderElement(l);
195 for(nlad=0; nlad<38; nlad++) {
198 Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
199 relLadder->SetMainColor((Color_t)4);
200 gReve->AddRenderElement(l, relLadder);
201 for(nMod=0; nMod<25; nMod++) {
202 Alieve::ITSModule* m = new Alieve::ITSModule(i++, di);
203 gReve->AddRenderElement(relLadder, m);
210 gReve->EnableRedraw();