From 375fd576e4c636189f7159e9f05576b8b7652c42 Mon Sep 17 00:00:00 2001 From: cvetan Date: Thu, 2 Jul 2009 13:02:36 +0000 Subject: [PATCH] Using the new altro raw-data format. Removing some obsolete macros. --- EVE/EveDet/AliEveTPCData.cxx | 111 ++++++++++++----------- EVE/EveDet/AliEveTPCData.h | 5 +- EVE/EveDet/AliEveTPCLoader.cxx | 4 +- EVE/alice-macros/tpc_raw.C | 2 +- EVE/test-macros/tpc_gui.C | 7 +- EVE/test-macros/tpc_raw_test.C | 71 --------------- EVE/test-macros/tpc_sector_raw_test.C | 125 -------------------------- 7 files changed, 66 insertions(+), 259 deletions(-) delete mode 100644 EVE/test-macros/tpc_raw_test.C delete mode 100644 EVE/test-macros/tpc_sector_raw_test.C diff --git a/EVE/EveDet/AliEveTPCData.cxx b/EVE/EveDet/AliEveTPCData.cxx index 34a6c28dd6c..d8aaa766787 100644 --- a/EVE/EveDet/AliEveTPCData.cxx +++ b/EVE/EveDet/AliEveTPCData.cxx @@ -13,7 +13,7 @@ #include #include -#include +#include #include //============================================================================== @@ -167,9 +167,9 @@ void AliEveTPCData::LoadDigits(TTree* tree, Bool_t spawnSectors) } } -void AliEveTPCData::LoadRaw(AliTPCRawStream& input, Bool_t spawnSectors, Bool_t warn) +void AliEveTPCData::LoadRaw(AliTPCRawStreamV3& input, Bool_t spawnSectors, Bool_t warn) { - // Load data from AliTPCRawStream. + // Load data from AliTPCRawStreamV3. // If spawnSectors is false only sectors that have been created previously // via CreateSector() are loaded. // If spawnSectors is true sectors are created if data for them is encountered. @@ -187,7 +187,7 @@ void AliEveTPCData::LoadRaw(AliTPCRawStream& input, Bool_t spawnSectors, Bool_t Short_t threshold = fLoadThreshold; - while (input.Next()) { + while (input.NextDDL()) { if (input.IsNewSector()) { if (inFill) { secData->EndPad(fAutoPedestal, threshold); @@ -205,58 +205,67 @@ void AliEveTPCData::LoadRaw(AliTPCRawStream& input, Bool_t spawnSectors, Bool_t if (secData == 0) continue; - if (input.IsNewPad()) { - if (inFill) { - secData->EndPad(fAutoPedestal, threshold); - inFill = kFALSE; - } - row = input.GetRow() + rowOffset; - pad = input.GetPad(); - - if (pad >= AliEveTPCSectorData::GetNPadsInRow(row) || pad < 0) { - if (warn) { - Warning(kEH.Data(), "pad out of range (row=%d, pad=%d, maxpad=%d).", - row, pad, AliEveTPCSectorData::GetNPadsInRow(row)); + while (input.NextChannel()) { + if (input.IsNewPad()) { + if (inFill) { + secData->EndPad(fAutoPedestal, threshold); + inFill = kFALSE; + } + row = input.GetRow() + rowOffset; + pad = input.GetPad(); + + if (pad >= AliEveTPCSectorData::GetNPadsInRow(row) || pad < 0) { + if (warn) { + Warning(kEH.Data(), "pad out of range (row=%d, pad=%d, maxpad=%d).", + row, pad, AliEveTPCSectorData::GetNPadsInRow(row)); + } + continue; } - continue; - } - - threshold = fLoadThreshold; - secData->BeginPad(row, pad, kTRUE); - inFill = kTRUE; - pdrwCnt = 0; pdrwCntWarn = kFALSE; - lastTime = 1024; lastTimeWarn = kFALSE; - } + threshold = fLoadThreshold; - time = input.GetTime(); - signal = input.GetSignal(); - ++pdrwCnt; - if (pdrwCnt > 1024) { - if (pdrwCntWarn == kFALSE) { - if (warn) - Warning(kEH.Data(), "more than 1024 time-bins (row=%d, pad=%d, time=%d).\nFurther warnings of this type will be suppressed for this padrow.", - row, pad, time); - pdrwCntWarn = kTRUE; + secData->BeginPad(row, pad, kTRUE); + inFill = kTRUE; + pdrwCnt = 0; pdrwCntWarn = kFALSE; + lastTime = 1024; lastTimeWarn = kFALSE; } - continue; - } - if (time >= lastTime) { - if (lastTimeWarn == kFALSE) { - if (warn) - Warning(kEH.Data(), "time out of order (row=%d, pad=%d, time=%d, lastTime=%d).\nFurther warnings of this type will be suppressed for this padrow.", - row, pad, time, lastTime); - lastTimeWarn = kTRUE; + + while (input.NextBunch()) { + const UShort_t *signalarr = input.GetSignals(); + + Int_t starttime = input.GetStartTimeBin(); + for (Int_t i = 0; i < input.GetBunchLength(); i++) { + time = starttime--;; + signal = signalarr[i]; + ++pdrwCnt; + if (pdrwCnt > 1024) { + if (pdrwCntWarn == kFALSE) { + if (warn) + Warning(kEH.Data(), "more than 1024 time-bins (row=%d, pad=%d, time=%d).\nFurther warnings of this type will be suppressed for this padrow.", + row, pad, time); + pdrwCntWarn = kTRUE; + } + continue; + } + if (time >= lastTime) { + if (lastTimeWarn == kFALSE) { + if (warn) + Warning(kEH.Data(), "time out of order (row=%d, pad=%d, time=%d, lastTime=%d).\nFurther warnings of this type will be suppressed for this padrow.", + row, pad, time, lastTime); + lastTimeWarn = kTRUE; + } + continue; + } + lastTime = time; + if (fAutoPedestal) { + secData->RegisterData(time, signal); + } else { + signal -= fLoadPedestal; + if (signal > threshold) + secData->RegisterData(time, signal); + } + } } - continue; - } - lastTime = time; - if (fAutoPedestal) { - secData->RegisterData(time, signal); - } else { - signal -= fLoadPedestal; - if (signal > threshold) - secData->RegisterData(time, signal); } } diff --git a/EVE/EveDet/AliEveTPCData.h b/EVE/EveDet/AliEveTPCData.h index 9bae0f743e8..1e73bf92bd7 100644 --- a/EVE/EveDet/AliEveTPCData.h +++ b/EVE/EveDet/AliEveTPCData.h @@ -17,8 +17,7 @@ #include class TTree; -class AliTPCRawStream; -class AliTPCRawStreamOld; +class AliTPCRawStreamV3; class AliEveTPCSectorData; @@ -53,7 +52,7 @@ public: void SetAutoPedestal(Bool_t ap) { fAutoPedestal = ap; } void LoadDigits(TTree* tree, Bool_t spawnSectors=kTRUE); - void LoadRaw(AliTPCRawStream& input, Bool_t spawnSectors=kTRUE, Bool_t warn=kFALSE); + void LoadRaw(AliTPCRawStreamV3& input, Bool_t spawnSectors=kTRUE, Bool_t warn=kFALSE); protected: std::vector fSectors; // Vector of sector-data. diff --git a/EVE/EveDet/AliEveTPCLoader.cxx b/EVE/EveDet/AliEveTPCLoader.cxx index 03a6a5f1d94..561446cad68 100644 --- a/EVE/EveDet/AliEveTPCLoader.cxx +++ b/EVE/EveDet/AliEveTPCLoader.cxx @@ -15,7 +15,7 @@ #include #include -#include +#include #include @@ -137,7 +137,7 @@ void AliEveTPCLoader::LoadEvent() printf("Now loading event %d\n", fEvent); fReader->Reset(); - AliTPCRawStream input(fReader); + AliTPCRawStreamV3 input(fReader); fReader->Select("TPC"); fData->DropAllSectors(); diff --git a/EVE/alice-macros/tpc_raw.C b/EVE/alice-macros/tpc_raw.C index dda4886d47d..511d682a911 100644 --- a/EVE/alice-macros/tpc_raw.C +++ b/EVE/alice-macros/tpc_raw.C @@ -23,7 +23,7 @@ void tpc_raw(Int_t mode = 3) AliRawReader *reader = AliEveEventManager::AssertRawReader(); reader->Reset(); - AliTPCRawStream input(reader); + AliTPCRawStreamV3 input(reader); reader->Select("TPC"); // ("TPC", firstRCU, lastRCU); AliEveTPCData *x = new AliEveTPCData; diff --git a/EVE/test-macros/tpc_gui.C b/EVE/test-macros/tpc_gui.C index b7c42b6118a..58a99f5e4f4 100644 --- a/EVE/test-macros/tpc_gui.C +++ b/EVE/test-macros/tpc_gui.C @@ -18,22 +18,17 @@ #ifdef __CINT__ -class AliRawReaderRoot; - class AliEveTPCData; class AliEveTPCSector2D; class AliEveTPCSector3D; #else -#include #include #include #include #include - -#include -#include +#include #include #include diff --git a/EVE/test-macros/tpc_raw_test.C b/EVE/test-macros/tpc_raw_test.C deleted file mode 100644 index 8682781e412..00000000000 --- a/EVE/test-macros/tpc_raw_test.C +++ /dev/null @@ -1,71 +0,0 @@ -// $Id$ -// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 - -/************************************************************************** - * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * - * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * - * full copyright notice. * - **************************************************************************/ - -class AliRawReaderFile; - -class AliEveTPCData; - -AliEveTPCData *x = 0; -AliRawReaderFile *reader = 0; - -void tpc_raw_test() -{ - gROOT->Macro("alieve_loadlibs.C"); - gSystem->Load("libAlieve"); - - reader = new AliRawReaderFile("raw0"); - reader->Reset(); - reader->NextEvent(); - AliTPCRawStream input(reader); - - x = new AliEveTPCData; - //x->SetSectorBlockSize(8192); - //x->SetLoadThreshold(5); - x->CreateAllSectors(); - x->LoadRaw(input, kFALSE); - - gStyle->SetPalette(1, 0); - - AliEveTPCSector2D* s = new AliEveTPCSector2D(); - s->SetDataSource(x); - s->SetMainColor(36); - gEve->AddElement(s); - gEve->DrawElement(s); - -} - -void tpc_raw_pad_dump(Int_t s, Int_t r, Int_t p) -{ - reader->Reset(); - reader->NextEvent(); - - if(r >= AliEveTPCSectorData::GetInnSeg().fNRows) { - r -= AliEveTPCSectorData::GetInnSeg().fNRows; - s += 36; - } - - AliTPCRawStream input(reader); - Int_t sector = input.GetSector(); - Int_t row = input.GetRow(); - - while (input.Next()) { - if (input.IsNewRow()) { - sector = input.GetSector(); - row = input.GetRow(); - } - if(sector != s || row != r) continue; - - Int_t signal = input.GetSignal(); - Int_t pad = input.GetPad(); - Int_t time = input.GetTime(); - - if(pad == p) - printf("%d %d\n", time, signal); - } -} diff --git a/EVE/test-macros/tpc_sector_raw_test.C b/EVE/test-macros/tpc_sector_raw_test.C deleted file mode 100644 index 330cafef9be..00000000000 --- a/EVE/test-macros/tpc_sector_raw_test.C +++ /dev/null @@ -1,125 +0,0 @@ -// $Id$ -// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 - -/************************************************************************** - * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * - * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * - * full copyright notice. * - **************************************************************************/ - -// Functions to read rootified raw-data from TPC sector test. -// -// Use tpc_sector_raw_test("filename.root") for initialization, -// next_event() to advance along the data stream. -// When there is no more data ROOT will crash. - -class AliRawReaderRoot; - -class AliEveTPCData; -class AliEveTPCSector2D; -class AliEveTPCSector3D; - -AliEveTPCData* x = 0; -AliEveTPCSector2D* s = 0; -AliEveTPCSector3D* t = 0; - -AliRawReaderRoot* reader = 0; -Int_t event = -1; -Int_t default_sector = 13; - -void tpc_sector_raw_test(const char *file = "", Int_t ievent = 0) -{ - gStyle->SetPalette(1, 0); - - reader = new AliRawReaderRoot(file); - //reader->LoadEquipmentIdsMap - // (gSystem->ExpandPathName("$(ALICE_ROOT)/TPC/mapping/EquipmentIdMap.data")); - // (gSystem->ExpandPathName("EquipmentIdMap.data")); - - reader->Reset(); - for(Int_t i=0; iNextEvent() == kFALSE) { - printf("End of raw stream at event %d (reqired event %d).\n", i, ievent); - return; - } - } - - x = new AliEveTPCData; - // x->SetLoadPedestal(5); - x->SetLoadThreshold(5); - x->SetAutoPedestal(kTRUE); - - s = new AliEveTPCSector2D(); - s->SetSectorID(default_sector); - s->SetAutoTrans(kTRUE); // place on proper 3D coordinates - s->SetDataSource(x); - s->SetFrameColor(36); - gEve->AddElement(s); - gEve->DrawElement(s); - - t = new AliEveTPCSector3D(); - t->SetSectorID(default_sector); - t->SetAutoTrans(kTRUE); - t->SetDataSource(x); - t->SetMaxTime(1023); - t->SetDriftVel(2.273); - gEve->AddElement(t); - gEve->DrawElement(t); - - next_event(); -} - -void next_event() -{ - if(reader->NextEvent() == kTRUE) { - ++event; - } else { - printf("Reached end of stream, rewinding to first event.\n"); - event = 0; - reader->RewindEvents(); - reader->NextEvent(); - } - - printf("Now loading event %d\n", event); - reader->Reset(); - AliTPCRawStream input(reader); - reader->Select("TPC"); // ("TPC", firstRCU, lastRCU); - - x->DropAllSectors(); - x->LoadRaw(input, kTRUE, kTRUE); - - printf("Updating scene\n"); - s->IncRTS(); - t->IncRTS(); - gEve->Redraw3D(); -} - -void tpc_raw_pad_dump(Int_t s, Int_t r, Int_t p) -{ - if(r >= AliEveTPCSectorData::GetInnSeg().GetNRows()) { - r -= AliEveTPCSectorData::GetInnSeg().GetNRows(); - s += 36; - } - - reader->Reset(); - AliTPCRawStream input(reader); - // reader->Select(0, firstRCU, lastRCU); - - Int_t sector = input.GetSector(); - Int_t row = input.GetRow(); - - while (input.Next()) { - if (input.IsNewRow()) { - sector = input.GetSector(); - row = input.GetRow(); - } - if(sector != s || row != r) continue; - - Int_t signal = input.GetSignal(); - Int_t pad = input.GetPad(); - Int_t time = input.GetTime(); - - if(pad == p) - printf("%d %d\n", time, signal); - } -} -- 2.39.3