]>
Commit | Line | Data |
---|---|---|
c7c9b520 | 1 | //_____________________________________________________// |
2 | // // | |
3 | // This macro reads VZERO DDL Raw Data and // | |
4 | // converts it into Digits // | |
5 | // // | |
6 | //____________________________________________________ // | |
7 | ||
8 | ||
9 | void VZERORaw2Digits(Int_t nEvent = 1) | |
10 | { | |
11 | for(int i=0;i<nEvent;i++) { | |
12 | printf("=========== EVENT %d ===========\n",i); | |
13 | TString DirName = "raw"; | |
14 | DirName += i; | |
15 | RawStreamEvent(DirName.Data()); } | |
16 | } | |
17 | ||
18 | ||
19 | Bool_t RawStreamEvent(TString fileName = "./") | |
20 | { | |
21 | // Reads DDL data from fileName | |
22 | ||
23 | TStopwatch timer; | |
24 | timer.Start(); | |
25 | ||
26 | // Creates a TreeD to dump Digits | |
27 | ||
28 | AliRunLoader* rl = AliRunLoader::Open("galice.root"); | |
29 | ||
30 | AliVZEROLoader* loader = (AliVZEROLoader*) rl->GetLoader("VZEROLoader"); | |
31 | ||
32 | if(!loader) { | |
33 | AliError("no VZERO loader found"); | |
34 | return kFALSE; } | |
35 | ||
36 | TTree* treeD = loader->TreeD(); | |
37 | if(!treeD) { | |
38 | loader->MakeTree("D"); | |
39 | treeD = loader->TreeD(); } | |
40 | ||
41 | AliVZEROdigit digit; | |
42 | AliVZEROdigit* pdigit = &digit; | |
43 | const Int_t kBufferSize = 4000; | |
44 | ||
45 | treeD->Branch("VZERO", "AliVZERODigit", &pdigit, kBufferSize); | |
46 | ||
47 | AliRawReader* rawReader = 0x0; | |
48 | rawReader = new AliRawReaderFile(fileName); // DDL files | |
49 | ||
50 | AliVZERORawStream* rawStream = new AliVZERORawStream(rawReader); | |
51 | ||
52 | rawReader->NextEvent(); | |
53 | ||
54 | rawStream->Next(); | |
55 | ||
56 | for(Int_t i=0; i<64; i++) { | |
57 | new(pdigit) AliVZEROdigit(i, (Int_t)rawStream->GetADC(i), (Int_t)rawStream->GetTime(i)); | |
58 | treeD->Fill(); | |
59 | } | |
60 | ||
61 | // Checks if everything is OK by printing results | |
62 | ||
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"); | |
66 | ||
67 | loader->WriteDigits("OVERWRITE"); | |
68 | loader->UnloadDigits(); | |
69 | ||
70 | delete rawReader; | |
71 | delete rawStream; | |
72 | ||
73 | timer.Stop(); | |
74 | timer.Print(); | |
75 | } | |
76 | ||
77 |