{
   //.. open a ROOT files...
   TFile f("tree3.root");

   //. define the variables to be looked at  ...
   const Int_t kMaxTrack = 500;
   Int_t ntrack;
   Float_t px[kMaxTrack];
   Float_t py[kMaxTrack];
   Float_t pz[kMaxTrack];
   Float_t pt[kMaxTrack];


  //... access the tree branch from the ROOT files. 
  TBranch *b_px = t3->GetBranch("px");
  TBranch *b_py = t3->GetBranch("py");
  TBranch *b_pz = t3->GetBranch("pz");
  TBranch *b_ntrack = t3->GetBranch("ntrack");

  //.. point the branch address to the actual variables ....
  b_px->SetAddress(px);
  b_py->SetAddress(py);
  b_pz->SetAddress(pz);
  b_ntrack->SetAddress(&ntrack);

  //.. total number of entries or events in the ROOT file.
  int nevt = t3->GetEntries();

  //.. loop over the number of events in the ROOT file.
  for(evt = 0; evt<nevt; evt++) {
    t3->GetEntry(evt); //... get the data of event #evt

    cout<<"evt: "<<evt<<" ntrack = "<<ntrack<<endl; 

     //.. look over the number of tracks in the event ...
     for(int i = 0; i<ntrack; i++) {
        cout<<" px = "<<px[i]<<endl;
        cout<<" py = "<<py[i]<<endl;
        cout<<" pz = "<<pz[i]<<endl;
     }
     cout<<"+++++++++++++++++++++++++"<<endl;
  }
}

