]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/CheckESD.C
New revision of the CTP configuration and simulation. For more details look in the...
[u/mrichter/AliRoot.git] / STEER / CheckESD.C
index a918f27dcadffdb184f1d9ef64ba23cd93b4f28f..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;
@@ -382,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);
@@ -436,21 +441,15 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       nRecCascades++;
     }
 
-    // loop over the PHOS clusters
+    // loop over the clusters
     {
-    Int_t firstPHOSCluster = esd->GetFirstPHOSCluster();
-    Int_t lastPHOSCluster  = firstPHOSCluster + esd->GetNumberOfPHOSClusters();
-    for (Int_t iCluster=firstPHOSCluster; iCluster<lastPHOSCluster; iCluster++)
-      hEPHOS->Fill(esd->GetCaloCluster(iCluster)->GetClusterEnergy());
+      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());
+      }
     }
 
-    // loop over the EMCAL clusters
-    {
-    Int_t firstEMCALCluster = esd->GetFirstEMCALCluster();
-    Int_t lastEMCALCluster  = firstEMCALCluster + esd->GetNumberOfEMCALClusters();
-    for (Int_t iCluster=firstEMCALCluster; iCluster<lastEMCALCluster; iCluster++)
-      hEEMCAL->Fill(esd->GetCaloCluster(iCluster)->GetClusterEnergy());
-    }
   }
 
   // perform checks