3 // Functions to read rootified raw-data from TPC sector test.
5 // Use tpc_sector_raw_test("filename.root") for initialization,
6 // next_event() to advance along the data stream.
7 // When there is no more data ROOT will crash.
9 class AliRawReaderRoot;
17 using namespace Alieve;
23 AliRawReaderRoot* reader = 0;
25 Int_t default_sector = 13;
27 void tpc_sector_raw_test(const char *file = "", Int_t ievent = 0)
29 gStyle->SetPalette(1, 0);
31 reader = new AliRawReaderRoot(file);
32 reader->LoadEquipmentIdsMap
33 (gSystem->ExpandPathName("$(ALICE_ROOT)/TPC/mapping/EquipmentIdMap.data"));
35 for(Int_t i=0; i<ievent; ++i, ++event) {
36 if(reader->NextEvent() == kFALSE) {
37 printf("End of raw stream at event %d (reqired event %d).\n", i, ievent);
43 // x->SetLoadPedestal(5);
44 x->SetLoadThreshold(5);
45 x->SetAutoPedestal(kTRUE);
47 s = new TPCSector2D();
48 s->SetSectorID(default_sector);
49 s->SetTrans(kTRUE); // place on proper 3D coordinates
52 gReve->AddRenderElement(s);
53 gReve->DrawRenderElement(s);
55 t = new TPCSector3D();
56 t->SetSectorID(default_sector);
60 t->SetDriftVel(2.273);
61 gReve->AddRenderElement(t);
62 gReve->DrawRenderElement(t);
69 if(reader->NextEvent() == kTRUE) {
72 printf("Reached end of stream, rewinding to first event.\n");
74 reader->RewindEvents();
78 printf("Now loading event %d\n", event);
80 AliTPCRawStream input(reader);
81 input.SetOldRCUFormat(kTRUE);
82 // reader->Select(0, firstRCU, lastRCU);
85 x->LoadRaw(input, kTRUE, kTRUE);
87 printf("Updating scene\n");
93 void tpc_raw_pad_dump(Int_t s, Int_t r, Int_t p)
95 if(r >= TPCSectorData::GetInnSeg().GetNRows()) {
96 r -= TPCSectorData::GetInnSeg().GetNRows();
101 AliTPCRawStream input(reader);
102 input.SetOldRCUFormat(kTRUE);
103 // reader->Select(0, firstRCU, lastRCU);
105 Int_t sector = input.GetSector();
106 Int_t row = input.GetRow();
108 while (input.Next()) {
109 if (input.IsNewRow()) {
110 sector = input.GetSector();
111 row = input.GetRow();
113 if(sector != s || row != r) continue;
115 Int_t signal = input.GetSignal();
116 Int_t pad = input.GetPad();
117 Int_t time = input.GetTime();
120 printf("%d %d\n", time, signal);