]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/CheckESD.C
silvermy@ornl.gov - SMcalib - directory with tools for SuperModule calibrations at...
[u/mrichter/AliRoot.git] / STEER / CheckESD.C
index 6ea0c9ff3c41645024e2fef0368c1b5cda08afef..6747e7e2dbbcfde25a8bf549c3dbde79afe48661 100644 (file)
 #include "AliRunLoader.h"
 #include "AliLoader.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, 
@@ -221,7 +224,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
   hResTOFWrong->SetLineColor(kRed);
 
   // calorimeters
-  TH1F* hEPHOS = CreateHisto("hEPHOS", "PHOS", 100, 0, 5, "E [GeV]", "N");
+  TH1F* hEPHOS = CreateHisto("hEPHOS", "PHOS", 100, 0, 50, "E [GeV]", "N");
   TH1F* hEEMCAL = CreateHisto("hEEMCAL", "EMCAL", 100, 0, 50, "E [GeV]", "N");
 
   // muons
@@ -325,13 +328,10 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       if (track->GetLabel() < 0) nFake++;
 
       // resolutions
-      Double_t p[3];
-      track->GetConstrainedPxPyPz(p);
-      TVector3 pTrack(p);
-      hResPtInv->Fill(100. * (1./pTrack.Pt() - 1./particle->Pt()) * 
+      hResPtInv->Fill(100. * (TMath::Abs(track->GetSigned1Pt()) - 1./particle->Pt()) * 
                      particle->Pt());
-      hResPhi->Fill(1000. * (pTrack.Phi() - particle->Phi()));
-      hResTheta->Fill(1000. * (pTrack.Theta() - particle->Theta()));
+      hResPhi->Fill(1000. * (track->Phi() - particle->Phi()));
+      hResTheta->Fill(1000. * (track->Theta() - particle->Theta()));
 
       // PID
       if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) continue;
@@ -357,12 +357,12 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       Double_t time[AliPID::kSPECIES];
       track->GetIntegratedTimes(time);
       if (iGen == iRec) {
-       hDEdxRight->Fill(pTrack.Mag(), track->GetTPCsignal());
+       hDEdxRight->Fill(particle->P(), track->GetTPCsignal());
         if ((track->GetStatus() & AliESDtrack::kTOFpid) != 0) {
          hResTOFRight->Fill(track->GetTOFsignal() - time[iRec]);
        }
       } else {
-       hDEdxWrong->Fill(pTrack.Mag(), track->GetTPCsignal());
+       hDEdxWrong->Fill(particle->P(), track->GetTPCsignal());
         if ((track->GetStatus() & AliESDtrack::kTOFpid) != 0) {
          hResTOFWrong->Fill(track->GetTOFsignal() - time[iRec]);
        }
@@ -438,21 +438,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)->E());
+      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)->E());
-    }
   }
 
   // perform checks