]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/CheckESD.C
bug
[u/mrichter/AliRoot.git] / STEER / CheckESD.C
index 285ec534fbcb0e91f2102770f7ebfa573f51b61c..0784298c354b61bf4adfa07c7a4e3df12835c0ea 100644 (file)
@@ -1,4 +1,5 @@
 #if !defined( __CINT__) || defined(__MAKECINT__)
+#include <TROOT.h>
 #include <TFile.h>
 #include <TError.h>
 #include <TH1.h>
 
 #include "AliRunLoader.h"
 #include "AliLoader.h"
-#include "AliESD.h"
+#include "AliESDEvent.h"
+#include "AliESDv0.h"
+#include "AliESDcascade.h"
+#include "AliESDMuonTrack.h"
+#include "AliESDCaloCluster.h"
 #include "AliRun.h"
 #include "AliStack.h"
 #include "AliHeader.h"
 #include "AliGenEventHeader.h"
 #include "AliPID.h"
-#else
+#endif
 const Int_t kXiMinus = 3312;
 const Int_t kOmegaMinus = 3334;
-#endif
 
 
 TH1F* CreateHisto(const char* name, const char* title, 
@@ -157,15 +161,15 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
     Error("CheckESD", "opening ESD file %s failed", esdFileName);
     return kFALSE;
   }
-  AliESD* esd = new AliESD;
+  AliESDEvent * esd = new AliESDEvent;
   TTree* tree = (TTree*) esdFile->Get("esdTree");
   if (!tree) {
     Error("CheckESD", "no ESD tree found");
     return kFALSE;
   }
-  tree->SetBranchAddress("ESD", &esd);
+  esd->ReadFromTree(tree);
 
-  // efficienc and resolution histograms
+  // efficiency and resolution histograms
   Int_t nBinsPt = 15;
   Float_t minPt = 0.1;
   Float_t maxPt = 3.1;
@@ -221,7 +225,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
 
   // calorimeters
   TH1F* hEPHOS = CreateHisto("hEPHOS", "PHOS", 100, 0, 5, "E [GeV]", "N");
-  TH1F* hEEMCAL = CreateHisto("hEEMCAL", "EMCAL", 100, 0, 2, "E [GeV]", "N");
+  TH1F* hEEMCAL = CreateHisto("hEEMCAL", "EMCAL", 100, 0, 50, "E [GeV]", "N");
 
   // muons
   TH1F* hPtMUON = CreateHisto("hPtMUON", "MUON", 100, 0, 20, 
@@ -368,16 +372,6 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       }
     }
 
-    // loop over calo tracks
-    for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
-      AliESDtrack* track = esd->GetTrack(iTrack);
-      if (track->IsPHOS()) {
-       hEPHOS->Fill(track->GetPHOSsignal());
-      } else if (track->IsEMCAL()) {
-       hEEMCAL->Fill(track->GetEMCALsignal());
-      }
-    }
-
     // loop over muon tracks
     {
     for (Int_t iTrack = 0; iTrack < esd->GetNumberOfMuonTracks(); iTrack++) {
@@ -392,6 +386,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
     // loop over V0s
     for (Int_t iV0 = 0; iV0 < esd->GetNumberOfV0s(); iV0++) {
       AliESDv0* v0 = esd->GetV0(iV0);
+      if (v0->GetOnFlyStatus()) continue;
       v0->ChangeMassHypothesis(kK0Short);
       hMassK0->Fill(v0->GetEffMass());
       v0->ChangeMassHypothesis(kLambda0);
@@ -445,6 +440,16 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       selCascades.Remove(particle);
       nRecCascades++;
     }
+
+    // loop over the clusters
+    {
+      for (Int_t iCluster=0; iCluster<esd->GetNumberOfCaloClusters(); iCluster++) {
+       AliESDCaloCluster * clust = esd->GetCaloCluster(iCluster);
+       if (clust->IsPHOS()) hEPHOS->Fill(clust->E());
+       if (clust->IsEMCAL()) hEEMCAL->Fill(clust->E());
+      }
+    }
+
   }
 
   // perform checks