1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include <TStopwatch.h>
8 #include "AliRawReader.h"
9 #include "AliCaloRawStreamV3.h"
14 void readCaloV3(const char *fileName = "./", const TString calo="PHOS")
16 TH1D *hAmplHG = new TH1D("hAmplHG" ,"HG amplitude" ,1024,-0.5,1023.5);
17 TH1D *hAmplLG = new TH1D("hAmplLG" ,"LG amplitude" ,1024,-0.5,1023.5);
18 TH1D *hAmplTRU = new TH1D("hAmplTRU","TRU amplitude",1024,-0.5,1023.5);
19 TH1F *hModule = new TH1F("hModule" ,"Module number",10,-0.5,9.5);
20 TH2F *hXZHG = new TH2F("hXZHG" ,"XZ HG cells",64,-0.5,63.5,64,-0.5,63.5);
21 TH2F *hXZLG = new TH2F("hXZLG" ,"XZ LG cells",64,-0.5,63.5,64,-0.5,63.5);
22 TH2F *hHWaddr = new TH2F("hHWaddr","DDL is vs HW addr",216,-0.5,215.5,4096,-0.5,4095.5);
24 // AliLog::SetGlobalLogLevel(AliLog::kFatal);
25 // AliLog::SetPrintRepetitions(kFALSE);
27 AliRawReader *reader = AliRawReader::Create(fileName);
33 AliCaloRawStreamV3 *stream = new AliCaloRawStreamV3(reader,calo);
37 while (reader->NextEvent()) {
38 AliInfoGeneral("",Form("Reading event %d\n",iev++));
39 while (stream->NextDDL()) {
40 while (stream->NextChannel()) {
41 // AliInfoGeneral("",Form("New channel: HW=%d, module=%d, row=%d, col=%d, caloflag=%d",
42 // stream->GetHWAddress(),
43 // stream->GetModule(),
45 // stream->GetColumn(),
46 // stream->GetCaloFlag()));
47 hHWaddr->Fill(stream->GetDDLNumber(),stream->GetHWAddress());
48 hModule->Fill(stream->GetModule());
49 if (stream->IsHighGain())
50 hXZHG->Fill(stream->GetRow(),stream->GetColumn());
51 if (stream->IsLowGain())
52 hXZLG->Fill(stream->GetRow(),stream->GetColumn());
54 while (stream->NextBunch()) {
55 const UShort_t *sig = stream->GetSignals();
56 Int_t startBin = stream->GetStartTimeBin();
57 for (Int_t i = 0; i < stream->GetBunchLength(); i++) {
58 if (stream->IsHighGain())
59 hAmplHG->Fill(sig[i]);
60 if (stream->IsLowGain())
61 hAmplLG->Fill(sig[i]);
62 if (stream->IsTRUData())
63 hAmplTRU->Fill(sig[i]);
74 gStyle->SetPalette(1);
75 TCanvas *c1 = new TCanvas("c1","",0,0,900,600);
84 TCanvas *c2 = new TCanvas("c2","",0,0,900,600);
89 hHWaddr->Draw("colz");
91 TCanvas *c3 = new TCanvas("c3","",0,0,900,600);