- tpcLoader->LoadTracks();
- TTree* tracks = tpcLoader->TreeT();
- if (!tracks) return;
- AliTPCtrack* track = new AliTPCtrack;
- tracks->SetBranchAddress("tracks", &track);
-
- Int_t nTracks = (Int_t) tracks->GetEntries();
- fNTracks->Fill(nTracks);
- fData->SetNTracks(nTracks);
- for (Int_t i = 0; i < nTracks; i++) {
- tracks->GetEntry(i);
- fTrackPt->Fill(track->Pt());
- fTrackEta->Fill(track->Eta());
- fTrackPhi->Fill(track->Phi() * TMath::RadToDeg());
- if(track->Pt()>3.) {
- fTrackEtaVsPhi->Fill(track->Eta(),track->Phi() * TMath::RadToDeg());
- fPtEtaVsPhi->Fill(track->Eta(),track->Phi() * TMath::RadToDeg(),track->Pt());
+ Int_t nTracks = 0;
+ for (Int_t i = 0; i < esd->GetNumberOfTracks(); i++) {
+ AliESDtrack* track = esd->GetTrack(i);
+ if (!track || ((track->GetStatus() | AliESDtrack::kTPCin) == 0)) continue;
+ nTracks++;
+
+ Double_t pxyz[3];
+ track->GetInnerPxPyPz(pxyz);
+ TVector3 pTrack(pxyz);
+ Double_t p = pTrack.Mag();
+ Double_t pt = pTrack.Pt();
+ Double_t eta = pTrack.Eta();
+ Double_t phi = pTrack.Phi() * TMath::RadToDeg();
+
+ fTrackPt->Fill(pt);
+ fTrackEta->Fill(eta);
+ fTrackPhi->Fill(phi);
+ if (pt > 3.) {
+ fTrackEtaVsPhi->Fill(eta, phi);
+ fPtEtaVsPhi->Fill(eta, phi, pTrack.Pt());