]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFComparison.C
Use ESD objects from a tree (T.Kuhr)
[u/mrichter/AliRoot.git] / TOF / AliTOFComparison.C
index 640e851991a49e89afa8bcdd748bea2c09cb98ca..9a57ded54e88e877f26e024b37923b03035481f4 100644 (file)
@@ -19,7 +19,7 @@
   #include <TText.h>
   #include <TBenchmark.h>
   #include <TStyle.h>
-  #include <TKey.h>
+  #include <TFile.h>
   #include <TROOT.h>
 
   #include "AliStack.h"
@@ -147,17 +147,22 @@ Int_t AliTOFComparison(const Char_t *dir=".") {
       delete rl;
       return 4;
    }
-   TKey *key=0;
-   TIter next(ef->GetListOfKeys());
+   AliESD* event = new AliESD;
+   TTree* esdTree = (TTree*) ef->Get("esdTree");
+   if (!esdTree) {
+      ::Error("AliTOFComparison.C", "no ESD tree found");
+      return 5;
+   }
+   esdTree->SetBranchAddress("ESD", &event);
 
 
 
    //******* Loop over events *********
    Int_t e=0;
-   while ((key=(TKey*)next())!=0) {
+   while (esdTree->GetEvent(e)) {
      cout<<endl<<endl<<"********* Processing event number: "<<e<<"*******\n";
 
-     rl->GetEvent(e); ef->cd();
+     rl->GetEvent(e);
 
      TTree *digTree=tofl->TreeD();
      if (!digTree) {
@@ -178,7 +183,6 @@ Int_t AliTOFComparison(const Char_t *dir=".") {
 
 
 
-     AliESD *event=(AliESD*)key->ReadObj();
      Int_t ntrk=event->GetNumberOfTracks();
      cerr<<"Number of ESD tracks : "<<ntrk<<endl; 
 
@@ -245,9 +249,9 @@ Int_t AliTOFComparison(const Char_t *dir=".") {
      allgood+=ngood; allmatched+=matched; allmismatched+=mismatched;
 
      refs->Clear();
-     delete event;
    } //***** End of the loop over events
 
+   delete event;
    ef->Close();
    
    delete tofTree;