//_____________________________________________________//
// //
// This macro reads ACORDE DDL Raw Data and //
// converts it into Digits //
// //
//____________________________________________________ //
void ACORDERaw2Digits(Int_t nEvents = 1, char* fileName = "rawdata.root")
{
// Reads DDL data from fileName
TStopwatch timer;
timer.Start();
// Creates a TreeD to dump Digits
AliRunLoader* rl = AliRunLoader::Open("galice.root");
AliACORDELoader* loader = (AliACORDELoader*) rl->GetLoader("ACORDELoader");
if(!loader) {
AliError("no ACORDE loader found");
return kFALSE; }
TTree* treeD = loader->TreeD();
if(!treeD) {
loader->MakeTree("D");
treeD = loader->TreeD(); }
AliACORDEdigit digit;
AliACORDEdigit* pdigit = &digit;
const Int_t kBufferSize = 4000;
treeD->Branch("ACORDE", "AliACORDEdigit", &pdigit, kBufferSize);
AliRawReader* rawReader = 0x0;
// rawReader = new AliRawReaderFile(fileName); // DDL files
rawReader = new AliRawReaderRoot(fileName); // DDL files
AliACORDERawStream* rawStream = new AliACORDERawStream(rawReader);
for (Int_t i=0; i<nEvents; i++) {
printf("=========== EVENT %d ===========\n",i);
if (!rawReader->NextEvent())
break;
rawStream->Reset();
if (!rawStream->Next())
break;
printf("Data size is %d\n",rawStream->DataSize());
/*
for(Int_t i=0; i<64; i++) {
new(pdigit) AliACORDEdigit(i, (Int_t)rawStream->GetADC(i), (Int_t)rawStream->GetTime(i));
treeD->Fill();
}
*/
// Checks if everything is OK by printing results
// for(int i=0;i<64;i++) {
// printf("Channel %d : %d %d \n",i,rawStream->GetADC(i),rawStream->GetTime(i)); }
// treeD->Print(); printf(" \n");
}
loader->WriteDigits("OVERWRITE");
loader->UnloadDigits();
delete rawReader;
delete rawStream;
timer.Stop();
timer.Print();
}
ACORDERaw2Digits_sim.C:10 ACORDERaw2Digits_sim.C:11 ACORDERaw2Digits_sim.C:12 ACORDERaw2Digits_sim.C:13 ACORDERaw2Digits_sim.C:14 ACORDERaw2Digits_sim.C:15 ACORDERaw2Digits_sim.C:16 ACORDERaw2Digits_sim.C:17 ACORDERaw2Digits_sim.C:18 ACORDERaw2Digits_sim.C:19 ACORDERaw2Digits_sim.C:20 ACORDERaw2Digits_sim.C:21 ACORDERaw2Digits_sim.C:22 ACORDERaw2Digits_sim.C:23 ACORDERaw2Digits_sim.C:24 ACORDERaw2Digits_sim.C:25 ACORDERaw2Digits_sim.C:26 ACORDERaw2Digits_sim.C:27 ACORDERaw2Digits_sim.C:28 ACORDERaw2Digits_sim.C:29 ACORDERaw2Digits_sim.C:30 ACORDERaw2Digits_sim.C:31 ACORDERaw2Digits_sim.C:32 ACORDERaw2Digits_sim.C:33 ACORDERaw2Digits_sim.C:34 ACORDERaw2Digits_sim.C:35 ACORDERaw2Digits_sim.C:36 ACORDERaw2Digits_sim.C:37 ACORDERaw2Digits_sim.C:38 ACORDERaw2Digits_sim.C:39 ACORDERaw2Digits_sim.C:40 ACORDERaw2Digits_sim.C:41 ACORDERaw2Digits_sim.C:42 ACORDERaw2Digits_sim.C:43 ACORDERaw2Digits_sim.C:44 ACORDERaw2Digits_sim.C:45 ACORDERaw2Digits_sim.C:46 ACORDERaw2Digits_sim.C:47 ACORDERaw2Digits_sim.C:48 ACORDERaw2Digits_sim.C:49 ACORDERaw2Digits_sim.C:50 ACORDERaw2Digits_sim.C:51 ACORDERaw2Digits_sim.C:52 ACORDERaw2Digits_sim.C:53 ACORDERaw2Digits_sim.C:54 ACORDERaw2Digits_sim.C:55 ACORDERaw2Digits_sim.C:56 ACORDERaw2Digits_sim.C:57 ACORDERaw2Digits_sim.C:58 ACORDERaw2Digits_sim.C:59 ACORDERaw2Digits_sim.C:60 ACORDERaw2Digits_sim.C:61 ACORDERaw2Digits_sim.C:62 ACORDERaw2Digits_sim.C:63 ACORDERaw2Digits_sim.C:64 ACORDERaw2Digits_sim.C:65 ACORDERaw2Digits_sim.C:66 ACORDERaw2Digits_sim.C:67 ACORDERaw2Digits_sim.C:68 ACORDERaw2Digits_sim.C:69 ACORDERaw2Digits_sim.C:70 ACORDERaw2Digits_sim.C:71 ACORDERaw2Digits_sim.C:72 ACORDERaw2Digits_sim.C:73 ACORDERaw2Digits_sim.C:74