ROOT logo
// To read PMD raw root data and fetch the adc value for each cell
void AliPMDRootDataRead(Char_t *file="rawfile.root",Int_t runNr = 0,
			Int_t NEVT = 10)
{
  TObjArray pmdddlcont;

  AliCDBManager *man = AliCDBManager::Instance();
  man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
  man->SetRun(runNr);

  gBenchmark->Start("");
  gStyle->SetOptStat(0);

  Int_t   xpad, ypad;
  Float_t xx, yy;

  AliPMDUtility cc;
  TH2F *h2 = new TH2F("h2","Y vs. X",200,-100.,100.,200,-100.,100.);

  TH1F *h1 = new TH1F("h1","",200,0.,200.);


  for(Int_t ievt=495; ievt < NEVT; ievt++)
    {
  
      //AliRawReaderRoot reader("09000095029017.10.root",ievt);
      AliRawReaderRoot reader(file,ievt);

      cout<<" Processing Event No  : "<<ievt<<endl;

      AliPMDRawStream stream(&reader);
      
      Int_t iddl = -1;
      
      while((iddl = stream.DdlData(&pmdddlcont)) >= 0)
	{

	  Int_t ientries = pmdddlcont.GetEntries();
	  
	  cout << "iddl = " << iddl << " ientries = " << ientries << endl;
	  
	  for (Int_t ient = 0; ient < ientries; ient++)
	    {
	      AliPMDddldata *pmdddl = (AliPMDddldata*)pmdddlcont.UncheckedAt(ient);
	  
	      Int_t det = pmdddl->GetDetector();
	      Int_t smn = pmdddl->GetSMN();
	      Int_t mcm = pmdddl->GetMCM();
	      Int_t pbus = pmdddl->GetPatchBusId();
	      //Int_t chno = pmdddl->GetChannel();
	      
	      Int_t row = pmdddl->GetRow();
	      Int_t col = pmdddl->GetColumn();
	      Int_t sig = pmdddl->GetSignal();

	      //if (iddl == 5)
	      //printf("%d %d %d %d %d %d\n",iddl,det,smn,pbus,row,col);
	      
	      if(mcm == 0) continue;
	      

	      if(smn <12)
		{
		  xpad = col;
		  ypad = row;
		}
	      else if(smn >=12 && smn < 24)
		{
		  xpad = row;
		  ypad = col;
		}
	      
	      if (det == 0)
		{
		  cc.RectGeomCellPos(smn,xpad,ypad,xx,yy);
		  h2->Fill(xx,yy,sig); 
		  h1->Fill(sig);
		}
	      
	    }
	  
      pmdddlcont.Delete();
	}
      
    }//event loop
  h2->Draw();
  cc.SetWriteModule(1);  // set here 0 not to print the module no
  cc.DrawPMDModule(0);   // 0 : for preshower, 1:for CPV plane
  gBenchmark->Show("");
}
 AliPMDRootDataRead.C:1
 AliPMDRootDataRead.C:2
 AliPMDRootDataRead.C:3
 AliPMDRootDataRead.C:4
 AliPMDRootDataRead.C:5
 AliPMDRootDataRead.C:6
 AliPMDRootDataRead.C:7
 AliPMDRootDataRead.C:8
 AliPMDRootDataRead.C:9
 AliPMDRootDataRead.C:10
 AliPMDRootDataRead.C:11
 AliPMDRootDataRead.C:12
 AliPMDRootDataRead.C:13
 AliPMDRootDataRead.C:14
 AliPMDRootDataRead.C:15
 AliPMDRootDataRead.C:16
 AliPMDRootDataRead.C:17
 AliPMDRootDataRead.C:18
 AliPMDRootDataRead.C:19
 AliPMDRootDataRead.C:20
 AliPMDRootDataRead.C:21
 AliPMDRootDataRead.C:22
 AliPMDRootDataRead.C:23
 AliPMDRootDataRead.C:24
 AliPMDRootDataRead.C:25
 AliPMDRootDataRead.C:26
 AliPMDRootDataRead.C:27
 AliPMDRootDataRead.C:28
 AliPMDRootDataRead.C:29
 AliPMDRootDataRead.C:30
 AliPMDRootDataRead.C:31
 AliPMDRootDataRead.C:32
 AliPMDRootDataRead.C:33
 AliPMDRootDataRead.C:34
 AliPMDRootDataRead.C:35
 AliPMDRootDataRead.C:36
 AliPMDRootDataRead.C:37
 AliPMDRootDataRead.C:38
 AliPMDRootDataRead.C:39
 AliPMDRootDataRead.C:40
 AliPMDRootDataRead.C:41
 AliPMDRootDataRead.C:42
 AliPMDRootDataRead.C:43
 AliPMDRootDataRead.C:44
 AliPMDRootDataRead.C:45
 AliPMDRootDataRead.C:46
 AliPMDRootDataRead.C:47
 AliPMDRootDataRead.C:48
 AliPMDRootDataRead.C:49
 AliPMDRootDataRead.C:50
 AliPMDRootDataRead.C:51
 AliPMDRootDataRead.C:52
 AliPMDRootDataRead.C:53
 AliPMDRootDataRead.C:54
 AliPMDRootDataRead.C:55
 AliPMDRootDataRead.C:56
 AliPMDRootDataRead.C:57
 AliPMDRootDataRead.C:58
 AliPMDRootDataRead.C:59
 AliPMDRootDataRead.C:60
 AliPMDRootDataRead.C:61
 AliPMDRootDataRead.C:62
 AliPMDRootDataRead.C:63
 AliPMDRootDataRead.C:64
 AliPMDRootDataRead.C:65
 AliPMDRootDataRead.C:66
 AliPMDRootDataRead.C:67
 AliPMDRootDataRead.C:68
 AliPMDRootDataRead.C:69
 AliPMDRootDataRead.C:70
 AliPMDRootDataRead.C:71
 AliPMDRootDataRead.C:72
 AliPMDRootDataRead.C:73
 AliPMDRootDataRead.C:74
 AliPMDRootDataRead.C:75
 AliPMDRootDataRead.C:76
 AliPMDRootDataRead.C:77
 AliPMDRootDataRead.C:78
 AliPMDRootDataRead.C:79
 AliPMDRootDataRead.C:80
 AliPMDRootDataRead.C:81
 AliPMDRootDataRead.C:82
 AliPMDRootDataRead.C:83
 AliPMDRootDataRead.C:84
 AliPMDRootDataRead.C:85
 AliPMDRootDataRead.C:86
 AliPMDRootDataRead.C:87
 AliPMDRootDataRead.C:88
 AliPMDRootDataRead.C:89
 AliPMDRootDataRead.C:90
 AliPMDRootDataRead.C:91