]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDv0Analysis.C
When geometry is loaded, the call to MeanMaterialBudget will lead to AliFatal
[u/mrichter/AliRoot.git] / STEER / AliESDv0Analysis.C
index ee7406e937c3daa0610f40b3ec69087380008b05..b5d94b49a4a34256ad7f9a6ac4d806366d33a136 100644 (file)
@@ -8,15 +8,18 @@
 
 #if !defined( __CINT__) || defined(__MAKECINT__)
   #include <Riostream.h>
+  #include <TROOT.h>
   #include <TTree.h>
   #include <TFile.h>
   #include <TH1F.h>
   #include <TCanvas.h>
 
-  #include "AliESD.h"
-
+  #include "AliESDEvent.h"
+  #include "AliESDv0.h"
 #endif
 
+extern TROOT *gROOT;
+
 Int_t AliESDv0Analysis(const Char_t *dir=".") { 
    TH1F *hm=(TH1F*)gROOT->FindObject("hm");
    if (!hm) {
@@ -29,18 +32,19 @@ Int_t AliESDv0Analysis(const Char_t *dir=".") {
    if (!ef||!ef->IsOpen()) {cerr<<"Can't AliESDs.root !\n"; return 1;}
    cerr<<"\n****** "<<fname<<" ******\n";
 
-   AliESD* event = new AliESD;
+   AliESDEvent* event = new AliESDEvent();
 
 
    TTree* tree = (TTree*) ef->Get("esdTree");
    if (!tree) {cerr<<"no ESD tree found\n"; return 1;};
-   tree->SetBranchAddress("ESD", &event);
+   event->ReadFromTree(tree);
 
    Int_t rc=0,n=0;
 
    //****** Tentative particle type "concentrations"
    Double_t c[5]={0.0, 0.0, 1, 0, 1};
-   AliPID::SetPriors(c);
+   AliPID pid;
+   pid.SetPriors(c);
 
    //******* The loop over events
     while (tree->GetEvent(n)) {
@@ -52,6 +56,7 @@ Int_t AliESDv0Analysis(const Char_t *dir=".") {
 
      while (nv0--) {
        AliESDv0 *v0=event->GetV0(nv0);
+       if (v0->GetOnFlyStatus()) continue;
 
        Int_t protonIdx=v0->GetPindex();
        Int_t pionIdx  =v0->GetNindex();
@@ -73,7 +78,7 @@ Int_t AliESDv0Analysis(const Char_t *dir=".") {
        // Check if the "proton track" is a proton
        if ((protonTrk->GetStatus()&AliESDtrack::kESDpid)!=0) {
         Double_t r[10]; protonTrk->GetESDpid(r);
-         AliPID pid(r);
+         pid.SetProbabilities(r);
          Double_t pp=pid.GetProbability(AliPID::kProton);
          if (pp < pid.GetProbability(AliPID::kElectron)) continue;
          if (pp < pid.GetProbability(AliPID::kMuon)) continue;
@@ -84,7 +89,7 @@ Int_t AliESDv0Analysis(const Char_t *dir=".") {
        //Check if the "pion track" is a pion
        if ((pionTrk->GetStatus()&AliESDtrack::kESDpid)!=0) {
         Double_t r[10]; pionTrk->GetESDpid(r);
-         AliPID pid(r);
+         pid.SetProbabilities(r);
          Double_t ppi=pid.GetProbability(AliPID::kPion);
          if (ppi < pid.GetProbability(AliPID::kElectron)) continue;
          if (ppi < pid.GetProbability(AliPID::kMuon)) continue;
@@ -98,6 +103,7 @@ Int_t AliESDv0Analysis(const Char_t *dir=".") {
    }
 
    delete event;
+   delete tree;
    ef->Close();
 
    TCanvas *c1=(TCanvas*)gROOT->FindObject("c1");