1 //********************************************************************
2 // Example (very basic for the moment) of the data analysis
3 // using the ESD classes
5 // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
6 //********************************************************************
14 #include "TStopwatch.h"
19 Int_t AliESDanalysis(Int_t nev=1) {
20 TH2F *tpcHist=new TH2F("tpcHist","dE/dX vs momentum",50,0.,2.,50,0.,400.);
21 TH2F *itsHist=new TH2F("itsHits","dE/dX vs momentum",50,0.,2.,50,0.,200.);
23 TFile *ef=TFile::Open("AliESDs.root");
24 if (!ef->IsOpen()) {cerr<<"Can't AliESDs.root !\n"; return 1;}
29 TIter next(ef->GetListOfKeys());
31 //******* The loop over events
32 while ((key=(TKey*)next())!=0) {
33 cerr<<"Processing event number : "<<n++<<endl;
34 AliESD *event=(AliESD*)key->ReadObj();
36 Int_t ntrk=event->GetNumberOfTracks();
37 cerr<<"Number of ESD tracks : "<<ntrk<<endl;
38 //****** The loop over tracks
40 AliESDtrack *t=event->GetTrack(ntrk);
42 if (t->GetStatus()&AliESDtrack::kTPCin) {
43 Double_t dedx=t->GetTPCsignal();
44 tpcHist->Fill(p,dedx,1);
46 if (t->GetStatus()&AliESDtrack::kITSin) {
47 Double_t dedx=t->GetITSsignal();
48 itsHist->Fill(p,dedx,1);
53 timer.Stop(); timer.Print();
55 TCanvas *c1=new TCanvas("c1","",0,0,600,1200);