1 #if !defined(__CINT__) || defined(__MAKECINT__)
5 #include <TStopwatch.h>
7 #include "AliRawReaderDate.h"
8 #include "AliRawReaderRoot.h"
9 #include "AliITSRawStreamSDD.h"
10 #include "AliITSRawStreamSDDCompressed.h"
13 // Macro to display the SDD Raw Data for 1 DDL
14 // Origin: F. Prino, prino@to.infn.it
16 void PlotSDDRawData(Char_t datafil[100], Int_t nDDL, Int_t firstEv=18, Int_t lastEv=20){
18 const Int_t nHybrids=24;
19 Bool_t writtenoutput=kFALSE;
20 TH2F** histo = new TH2F*[nHybrids];
21 for(Int_t i=0;i<nHybrids;i++){
22 histo[i]=new TH2F(Form("histo%d",i),"",256,-0.5,255.5,256,-0.5,255.5);
23 histo[i]->SetStats(0);
26 Bool_t isSingleMod=kFALSE;
34 if(nDDL>=240 && nDDL<500){
36 AliITSDDLModuleMapSDD* dmap=new AliITSDDLModuleMapSDD();
38 dmap->FindInDDLMap(iMod,nDDL,nCarlos);
39 histo[nCarlos*2]->SetTitle(Form("Module %d Side 0",iMod));
40 histo[nCarlos*2+1]->SetTitle(Form("Module %d Side 0",iMod));
51 if(strstr(datafil,".root")!=0){
52 rd=new AliRawReaderRoot(datafil,iev);
54 rd=new AliRawReaderDate(datafil,iev);
56 TStopwatch *evtime=new TStopwatch();
57 TCanvas* c0 = new TCanvas("cd0","c0",xsiz,ysiz);
58 gStyle->SetPalette(1);
62 c0->Divide(npx,npy,0.001,0.001);
65 printf("Event # %d\n",iev);
67 for(Int_t i=0;i<nHybrids;i++) histo[i]->Reset();
68 UChar_t cdhAttr=AliITSRawStreamSDD::ReadBlockAttributes(rd);
69 UInt_t amSamplFreq=AliITSRawStreamSDD::ReadAMSamplFreqFromCDH(cdhAttr);
70 AliITSRawStream* s=AliITSRawStreamSDD::CreateRawStreamSDD(rd,cdhAttr);
72 printf("Use %s raw stream, sampling frequency %d MHz\n",s->ClassName(),amSamplFreq);
79 if(s->IsCompletedModule()==kFALSE && s->IsCompletedDDL()==kFALSE){
80 Int_t i=s->GetCarlosId()*2+s->GetChannel();
81 if(rd->GetDDLID()==nDDL) histo[i]->Fill(s->GetCoord2(),s->GetCoord1(),s->GetSignal());
85 printf("**** Event=%d \n",iev);
90 for(Int_t i=0;i<nHybrToPlot;i++){
93 histo[nCarlos*2+i]->DrawCopy("colz");
95 histo[i]->DrawCopy("colz");
99 if(histo[nCarlos*2]->GetMaximum()>1) getchar();
100 }while(rd->NextEvent()&&iev<=lastEv);
104 void PlotSDDRawData(Int_t nrun, Int_t n2, Int_t year=2009, Char_t* dir="LHC09b_SDD",
109 TGrid::Connect("alien:",0,0,"t");
111 sprintf(filnam,"alien:///alice/data/%d/%s/%09d/raw/%02d%09d%03d.10.root",year,dir,nrun,year-2000,nrun,n2);
112 printf("Open file %s\n",filnam);
113 PlotSDDRawData(filnam,nDDL,firstEv,lastEv);