1 //_____________________________________________________//
3 // This macro reads VZERO DDL Raw Data and //
4 // converts it into Digits //
6 //____________________________________________________ //
9 void VZERORaw2Digits(Int_t nEvent = 1)
11 for(int i=0;i<nEvent;i++) {
12 printf("=========== EVENT %d ===========\n",i);
13 TString DirName = "raw";
15 RawStreamEvent(DirName.Data()); }
19 Bool_t RawStreamEvent(TString fileName = "./")
21 // Reads DDL data from fileName
26 // Creates a TreeD to dump Digits
28 AliRunLoader* rl = AliRunLoader::Open("galice.root");
30 AliVZEROLoader* loader = (AliVZEROLoader*) rl->GetLoader("VZEROLoader");
33 AliError("no VZERO loader found");
36 TTree* treeD = loader->TreeD();
38 loader->MakeTree("D");
39 treeD = loader->TreeD(); }
42 AliVZEROdigit* pdigit = &digit;
43 const Int_t kBufferSize = 4000;
45 treeD->Branch("VZERO", "AliVZERODigit", &pdigit, kBufferSize);
47 AliRawReader* rawReader = 0x0;
48 rawReader = new AliRawReaderFile(fileName); // DDL files
50 AliVZERORawStream* rawStream = new AliVZERORawStream(rawReader);
52 rawReader->NextEvent();
56 for(Int_t i=0; i<64; i++) {
57 new(pdigit) AliVZEROdigit(i, (Int_t)rawStream->GetADC(i), (Int_t)rawStream->GetTime(i));
61 // Checks if everything is OK by printing results
63 // for(int i=0;i<64;i++) {
64 // printf("Channel %d : %d %d \n",i,rawStream->GetADC(i),rawStream->GetTime(i)); }
65 // treeD->Print(); printf(" \n");
67 loader->WriteDigits("OVERWRITE");
68 loader->UnloadDigits();